From time to time, people ask me “what should I upgrade on my 3d printer?”

My answer varies, but usually I ask them how long they’ve had it and been using it. If they just got it and are already looking to upgrade it, I usually encourage them to get to know the printer first before upgrading anything. Give it a few months and find out where the flaws are.

If they already had it for a while then we usually have a conversation about what is compelling them to want to upgrade? Are you just upgrading just to upgrade? Are you experiencing a specific problem that needs to be addressed? Did you just get some money for your birthday and just looking for something new to play with (it’s happened)? My response varies based on the answer. For me, I wanted to have greater control over the firmware settings without having to reflash the firmware each time I made a change. I wanted to increase my printing speed and really be able to optimize all of my settings. In my case, a shiny new extruder or fancy hotend would not have solved my issues. Upgrading to Klipper really made a huge difference in the problems that I was trying to solve.

One of the reasons why some 3D printer enthusiasts choose to upgrade from stock Marlin firmware to Klipper is the improved performance and accuracy of the printer. Klipper is a firmware that runs on a Raspberry Pi and communicates with the printer’s microcontroller via USB. This allows Klipper to offload the complex calculations and planning to the Pi, which has much more processing power and memory than the microcontroller. As a result, Klipper can achieve higher printing speeds, smoother movements, and better quality prints than Marlin. Klipper also has a simpler configuration system that uses a single text file instead of multiple header files. This makes it easier to customize and tweak the printer’s settings without having to recompile the firmware every time. Additionally, Klipper supports features that Marlin does not, such as pressure advance, input shaping, and automatic bed leveling with multiple probes.

If you are using Klipper as your firmware for 3D printing, you might be wondering how to get the best performance out of your machine. One way to improve the quality of your prints is to upgrade your Raspberry Pi, the device that runs Klipper and communicates with your printer. Here are some reasons why upgrading your Raspberry Pi can make a difference.

First, a newer Raspberry Pi model will have more processing power and memory than an older one. This means that it can handle more complex calculations and commands, which are essential for Klipper’s features such as pressure advance, input shaping, and mesh bed leveling. A faster Raspberry Pi can also reduce the latency and jitter in the communication between the Pi and the printer, which can affect the smoothness and accuracy of the movements.

Second, a newer Raspberry Pi model will have more connectivity options and ports than an older one. This means that you can connect more devices and peripherals to your Pi, such as a webcam, a touchscreen, or a USB drive. You can also use a faster network connection, such as Wi-Fi or Ethernet, to transfer files and control your printer remotely. A more connected Raspberry Pi can enhance your 3D printing experience and make it more convenient and flexible.

Third, a newer Raspberry Pi model will have better software support and compatibility than an older one. This means that you can run the latest version of Klipper and its dependencies, such as Python and Linux, without any issues or errors. You can also benefit from the updates and bug fixes that are regularly released by the Klipper developers and the Raspberry Pi Foundation. A more updated Raspberry Pi can ensure that your 3D printing system is stable and secure.

You might have heard of Klipper, a firmware that runs on a Raspberry Pi and communicates with your printer’s microcontroller. But what are the advantages of Klipper over stock Marlin firmware?

Klipper can improve your print quality, speed, and reliability. It can also unlock features that are not available in Marlin, such as pressure advance, input shaping, and automatic bed leveling.

How does Klipper achieve these benefits? The main difference is that Klipper offloads the complex calculations from the microcontroller to the Raspberry Pi, which has much more processing power and memory. This allows Klipper to use more advanced algorithms and higher precision for motion planning and control.

Imagine being able to print faster and smoother, with less ringing, ghosting, and blobs. Imagine having more control over your printer settings and parameters, without having to recompile and flash the firmware every time. Imagine having a web interface that lets you monitor and manage your printer from anywhere. These are some of the things that Klipper can offer you.

If you are interested in trying out Klipper, you will need a Raspberry Pi, a USB cable, and some patience. You can find detailed instructions on how to install and configure Klipper on its official website: https://www.klipper3d.org/. You can also join the Klipper community on Discord or Reddit for support and tips. Happy printing!

For those using Klipper, they just released a pretty major change in the way that they store files. When I updated to the latest version all of my config files disappeared. As I looked into it, there seemed to be a lot of other people experiencing the same issue. It turns out that my files did not disappear at all. They were still there, they just had the incorrect file permissions. Here is how I was able to fix it after some Googling.

First, ssh into your pi and take a look in ~/printer_data/configand ~/klipper_config.

If your files are in one of those places, then you should be fine. If neither of those folders has your config files, then that is a separate issue entirely and you should reinstall moonraker and klipper. If you were able to see the config files in your ssh session, but not from your web access, then run the following commands in ssh.

cd ~/moonraker
git pull
./scripts/data-path-fix.sh

I recently stumbled across MobileRaker on the iPhone app store. If you are using Klipper, MobileRaker makes things so easy for you. I would encourage you to use it. And if you aren’t using Klipper, I would encourage you to check it out. I’ve noticed a significant improvement in both the quality of my prints and the speed at which they print. Usually, those two things work against one another, but Klipper has managed to accomplish both.

This tip is so specific that I’m surprised that it has come up as frequently as it has. For context, many people use Klipper on a Raspberry Pi to manage their 3d printer. There are two main interfaces for Klipper, Mainsail and Fluidd. This tip is for those who are set up with Mainsail.

When moving your 3d printer to a new wifi network, there are two things that I do. With the Raspberry Pi powered off, remove the SD card and put it into your laptop or desktop computer. Ensure that you don’t use Notepad or Wordpad to edit the file, as they tend to bring in characters that mess up files. Use something like Notepad++ instead. In the root directory of the SD card you will find a file called mainsailos-wpa-supplicant.txt. Open that file in your text editor and change your network information. Most common nowadays is WPA/WPA2.

The other optional step that I do is to log into the router and set up my Raspberry Pi as a static ip address instead of letting DNS manage it. Each router is different, so I won’t go into detail on how to do that here. Most routers have something like “Advanced networking.”

[boldgrid_component type=”wp_block”]

Mesh Fade


I recently saw a question on a forum about a warped bed. The question had to do with whether or not the top of the part would also be warped because it follows the bed shape. You can avoid this in Klipper by implementing mesh fade in your bed mesh block. Below is a complete bed mesh block, the last 2 lines are the significant ones to implement mesh fade. Fade_start tells Klipper to start expanding or contracting layers, starting at 1mm height to start to normalize everything. Fade_end tells Klipper that the fade should be complete by a height of 10mm. So, at 10mm and upwards, the top of the part should be flat even though the bottom of the part will follow the bed’s contour.

[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 35, 6 
mesh_max: 240, 198 
probe_count: 5, 3 
fade_start: 1 
fade_end: 10