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.

I see a lot of people trying to go straight for resonance compensation and linear advance before they have properly calibrated their machine(s). Until your machine is printing properly, it doesn’t make sense to go and configure these advanced settings. One of the most important steps to achieve this is to calibrate your 3D printer properly. Calibration is the process of adjusting the settings and parameters of your printer to match the physical reality of your machine and your filament.

The first thing you should calibrate is the extruder steps per millimeter (esteps). This is the number of steps that your extruder motor needs to take to extrude one millimeter of filament. If your esteps are too low, you will under-extrude and get gaps and weak layers in your prints. If your esteps are too high, you will over-extrude and get blobs and stringing in your prints. To calibrate your esteps, you need to measure how much filament is actually extruded when you command a certain amount and compare it to the expected value. Then you can calculate the correct esteps value and update it in your firmware or slicer.

The next thing you should calibrate is the X, Y, and Z axis steps per millimeter. These are the numbers of steps that your motors need to take to move one millimeter along each axis. If these values are wrong, your prints will be distorted and not match the dimensions of your model. To calibrate these values, you need to print a calibration cube and measure its sides with a caliper. Then you can compare the measured values to the expected values and calculate the correct steps per millimeter for each axis.

The third thing you should calibrate is the resonance compensation and linear advance. These are features that help to reduce ringing and improve extrusion consistency at different speeds. Ringing is the wavy pattern that you see on the edges of your prints when the printer changes direction abruptly. This is caused by the inertia of the moving parts and the elasticity of the belts and rods. Resonance compensation is a firmware feature that applies a counteracting force to dampen these vibrations. Linear advance is another firmware feature that adjusts the extruder pressure according to the speed and acceleration of the nozzle. This helps to prevent over-extrusion at corners and under-extrusion at gaps. To calibrate these features, you need to print some test patterns and adjust the parameters until you get smooth edges and consistent extrusion.

By following this sequence of calibration steps, you can improve the quality and accuracy of your 3D prints significantly. Recalibrate your printer whenever you change something in your hardware or filament, such as replacing a nozzle or switching to a different material. Happy printing!

If you own a 3D printer that runs on Klipper firmware, you might have spent a lot of time tweaking your printer.cfg file to get the best performance and quality. But what if something goes wrong and you lose your configuration? Or what if you want to try a different setting but don’t want to lose your previous one? That’s why it’s important to make backups of your Klipper printer configurations.

A backup is a copy of your printer.cfg file that you can save on your computer or a cloud service. You can use a backup to restore your configuration in case of an error, or to switch between different configurations for different purposes. For example, you might have a backup for printing with PLA and another one for printing with PETG. Or you might have a backup for printing fast and another one for printing slow.

Making backups of your Klipper printer configurations is easy and can save you a lot of trouble in the future. Here are the steps to do it:

  1. Connect to your Raspberry Pi via SSH or use the web interface of OctoPrint or Mainsail.
  2. Navigate to the folder where your printer.cfg file is located. Usually, it is in /home/pi/klipper_config.
  3. Copy the printer.cfg file and rename it with a descriptive name. For example, printer_pla.cfg or printer_fast.cfg.
  4. Repeat step 3 for each configuration you want to backup.
  5. Transfer the backup files to your computer or a cloud service using SCP, FTP, or any other method you prefer.

Now you have backups of your Klipper printer configurations that you can use anytime. To restore a backup, just copy the backup file to the folder where your printer.cfg file is located and rename it to printer.cfg. Then restart Klipper and enjoy your printing!

We had a sudden weather change last week here in Texas. The high temperature for the day went from about 65 to about 90 pretty suddenly, and I hadn’t really thought about the implications to my printer. The environment where I keep my printer is “somewhat controlled.” I normally let the HVAC shut off after around 4:00 PM. I also still have my enclosure on the printer, which I need to do to maintain enough heat around the 3d printer.

When the HVAC shut off, the temperature rose pretty quickly in the room and built up too much heat and the printer went into emergency shut down. I was about 30 hours into a 40 hour print, so I didn’t want to start over if I didn’t have to.

I get an error on my phone when this happens and then the machine shuts down. Here is how I was able to recover and what I could have done to prevent the shut down in the first place.

Step #1 – Make sure the heaters stay on. I went to my printer controls and turned on the bed heater to give me some time to work so that the part would not move.

Step #2 – Go to log file to find exact location of nozzle when it shut down. In Klipper, it is pretty easy to find by simply searching through the log files.

Step #3 – Download gcode file and open in code editor. This is tricky. I had to remove all of the gcode that had already been printed, but make sure that each of the setting codes remained. This was pretty time consuming. I had to find the exact spot that the log said the nozzle was when it shut down. Then I had to reupload this modified gcode file so that the printer would resume from there.

Prevention – What I should have done was to remove the enclosure so that it wouldn’t trap all of the heat in. I also should have left my HVAC system on so that the environment would stay cooler.

Note: whenever possible, try to leave the area where your printer homes clear. That way, if you ever have an emergency shutdown your machine can home without having to remove the part.

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!

Each 3d printer owner buys their printer for their own reason. Some of the most common reasons are that they enjoy making models or that they like to tinker and invent. I do both. I picked up a ceiling fan for $10. It was listed so cheap because it was missing a piece. A small plastic piece. Ha! I thought, this is perfect. I’m teaching my two boys about design, drafting (on paper) and cad drafting. This was a perfect real-world opportunity to have them put their skills to use. We looked up the OEM piece online, took some measurements on our parts to get the sizes right, sketched out some ideas on paper, then created some cad files. Bing bang boom! For about $0.05 we now have a working fan, but the lessons that they learned are worth so much.

Every once in a while I want to pause a print at a specific height. Sometimes it is to change filament, other times it is to add a weight or embed something into the print before it continues printing.

Frustratingly, many printers come with this functionality disabled. If you run into this roadblock too, you have a few options, all of them require reflashing the firmware.

  • Many manufacturers publish their firmware on places like github. You can download it, activate the settings, then reflash your firmware.
  • On Thingiverse, I have found many versions of firmware that people have created where they have updated to activate the most common settings. Just download and flash onto your printer.
  • Download and install something like Klipper, where you can easily enable or disable settings like this with just a printer.cfg file.

Whatever option you choose, it does require a certain comfort level with flashing new firmware onto your printer.

Are you printing thin parts that wind up being see-through in certain areas? 

For taller prints, it’s usually not a problem as the criss-crossing patterns from the slicer will ensure that your print is eventually filled in all the way. But for thin prints, it can be problematic to have a print with gaps in the ends. When I’m printing thinner components, I typically enable Cura’s overlap function. There is a “skin overlap” setting, as well as an “infill overlap” setting. I like to leave skin overlap at 10% and the infill overlap at around 30%. This is technically just overextruding under a different name, so you specific slicer may have a different name for it.