Klipper is a very powerful firmware addition to most 3D printers.
3D Printer Firmware
Before getting into Klipper, itās first important to understand the computing technology typically used on desktop 3D printers. The most common configurations involve a micro-controller board, such as an Arduino, Duet, or other model. These devices directly connect with the stepper motors that drive the motion system and with heaters, and other elements of the system.
These micro-controllers use firmware, which is just software running on these embedded micro-controllers. Of the several standard firmware versions that are commonly used, perhaps the most popular today is Marlin.
The problem is that the micro-controller boards are typically underpowered for what they are asked to do. They are underpowered because they are the least expensive boards that can be found for the configuration. This allows the manufacturer to keep the price of the machine low, and yet it still operates to an acceptable level of performance.
However, there are many who wish to push their equipment further. Two aspects in particular are desirable:
- Faster print speed
- Better print quality
Often these are related: if you print too fast, the quality suffers. If you print slower, the print comes out better, but at the price of time.
Klipper could offer a solution to these problems by introducing new capabilities. They project explains:
āKlipper is a 3D printer firmware. It combines the power of a general purpose computer with one or more micro-controllers.ā
Theyāre adding a much more powerful general purpose computer to sit on top of the micro-controllers and provide more processing capacity. This capacity can be used to both increase speed and maintain or even increase print quality.
Klipper Features
The major feature of Klipper is that it takes over the burden of stepper computation, which would otherwise be borne by the low-capacity micro-controller board. Klipper uses its full power to compute printer steps and simply pass on the resulting instructions to the micro-controller to execute.
This computation model allows much faster stepper movements, because the micro-controller doesnāt get bogged down in computations. And that means you can 3D print faster. Klipper says that even older 8-bit micro-controller boards can be rated up to rates as high as 175k steps per second! For modern boards, they claim as high as 500K steps per second.
But thereās another issue: when youāre yanking the toolhead around so quickly there will be a lot of momentum to overcome. This is also addressed by Klipper. They explain:
āEach stepper event is scheduled with a precision of 25 micro-seconds or better. The software does not use kinematic estimations (such as the Bresenham algorithm) — instead it calculates precise step times based on the physics of acceleration and the physics of the machine kinematics. More precise stepper movement translates to quieter and more stable printer operation.ā
Klipper leverages the processing capacity for other features, one of which is called āSmooth Pressure Advanceā. This is an advanced computation to account for the fluid pressure flow within a hot end.
As you might guess, simply starting and stopping the extruder doesnāt precisely stop and start the extrusion. When the extruder pushes the filament into the hot end, pressure gradually rises until it hits a critical point and then flow begins out the nozzle. Similarly, when the extruder motor stops the pressure in the hot end, and hence the nozzle, doesnāt immediately stop.
The Smooth Pressure Advance feature performs advanced calculations to manage these effects. In other words, extrusions should start and stop exactly when they are intended. This should ensure fewer gaps and blobs in prints, as well as dramatically reducing stringing from nozzle ooze.
Another feature of great interest is āInput Shapingā, where āringingā is eliminated. Ringing occurs as a repeating pattern of waves at the corners of objects. The pattern reflects the vibrations taking place when the toolheadās direction suddenly changes.
Ringing spoils the surface quality, but it can be reduced or eliminated with Input Shaping, which again uses computational power to compute tool path instructions that avoid ringing effects.
Thereās plenty more features implemented by Klipper that you can see on their āFeaturesā page.
Klipper is available free of charge via GitHub, and can be installed using OctoPrint. Note that if youāre using OctoPrint, you likely have all the extra processing hardware ready to go.
The Klipper concept seems so powerful I am wondering why more 3D printer manufacturers donāt take advantage of it. It would be possible to tweak machine designs to more easily accommodate extra processing power of this type, or even include a āKlipper Optionā for those wishing to push the envelope.
If you have a need for speed, you should check out Klipper.