GitHub user KevinOConnor has created Klipper, a 3D printer firmware that uses a Raspberry Pi to parse G-code, map out curves, and set accelerations, improving the speed of FDM 3D printing.
While one of the key advantages to 3D printing is quick production time, there is still much work to be done when it comes to keeping FDM technology up to speed. Last month, we saw engineering researchers from the University of Michigan develop an algorithm that increases print speed without sacrificing quality.
In a recent post on Hackaday, we learned of a new 3D printer firmware that takes a unique approach to improving print speed. Created by GitHub user , Klipper is written in Python code and handles most of the functions that traditional firmware does.
However, instead of using an 8-bit Arduino or something similar–which most 3D printers use–run the Marlin or Repetier firmware, Klipper utilizes a Raspberry Pi board. According to the article, the new firmware “communicates with the onboard microprocessor by providing a schedule of when to do what tasks.”
With Klipper, these microprocessors can handle timing and things like motion control for both the axes and extruder. Since the code is capable of controlling multiple processes at once, you would technically be able to have a processor for the extruder and each stepper.
Klipper: Changes the Way Your 3D Printer Thinks About 3D Printing
There are several features that make Klipper advantageous over other common 3D printer firmware. For starters, each stepper event is scheduled with a precision of 25 microseconds or better. It calculates step times based on the physics of acceleration and machine kinematics, creating a quieter and more stable printing experience.
Secondly, the microcontroller firmware is easy to reconfigure and supports most microprocessors found in 3D printers, including common 8-bit and 32-bit CPUs.
Klipper is also able to reach higher stepping rates, which equals higher print velocity. An older microcontroller can achieve rates of over 175,000 steps per second, while rates even up to 500,000 per second are reportedly possible.
To prevent oozing from taking place during high speed printing, Klipper implements a “pressure advance” algorithm for extruders. There’s also a “stepper phase endstop” algorithm that aims to improve the accuracy of endstop switches. For the Z endstop, this could enable a more precise first layer height, as well as improve print quality and adhesion.
There is some tuning that must be performed in order to successfully run every aspect of Klipper. For instance, the pressure advance algorithm requires a machine-specific constant. More information on tuning and setup can be found on GitHub and Hackaday.
Although the 3D printer firmware is paired with a Raspberry Pi in this case, users can also utilize a BeagleBone or even a Linux computer to run Klipper. This method is both largely experimental and untested, but it offers a potential game-changer in the way our 3D printers operate.
Check out the YouTube videos below to see just how fast and smooth 3D printing can be with Klipper.