Will a Klipper Printer print much faster?
There is a widespread word that installing Klipper will make the 3D printer much faster than with any other other firmware.
This is essentially false or only true under certain conditions.
Key drivers for high speed printing
- Definition of printing speed
- Typically printing speed refers to finishing a printer job in the least possible time at best possible quality
- First influence: Acceleration [mm/s²] determines how fast the target Velocity is reached
- Second influence: Velocity [mm/s] is the maximum movement speed after the Acceleration is finished
- Both go hand in hand but often (especially models with lots of details), Acceleration is the bigger contributor since the maximum speed is never reached before the next direction change occurs.
- Mechanical quality of the printer has the biggest influence
- Stiffness of the frame
- Quality of the linear components, e.g. pulleys, linear rails, etc
- Quality of the design / quality of the built in terms of alignment, parallelism, perpendicularity etc.
- Torque and supply voltage of the stepper motor (The higher the voltage, the faster the stepper will reach higher speeds at its nominal torque and react more dynamically)
- Extrusion system needs to be able to cope with the required volume flow resulting from the chosen velocity
- Step rate the printer board is able to create: The faster the MCU on a printer board, the more steps per second it can manage
Klipper’s Selling Point
- As explained in the Klipper Architecture / Ecosystem post, Klipper offloads all path planning and step generation to the SBC (e.g. a Raspberry Pi)
- The actual printer board is fully relieved from such calculations and only needs to execute the pre-calculated information that is received from the Klipper Host
- The Klipper Host is also able to do all calculations with a high precision, since it can draw upon the full CPU power of the SBC board and does not need to use approximations like the Bresenham algorithm
- Monolithic firmwares need to perform all tasks of the Klipper Host on the actual printer board. This consumes precious computational resources that, in the end, are missing for step generation. Also these firmwares often need to calculate with approximations to save CPU cycles, which leads to a loss in precision
Results of these Architectural Differences
- Klipper is able to obtain significant higher step rates (up to a factor of 20) than other firmwares on the same hardware
- This will pay off, when:
- The printer board is computational weak, e.g. old 8bit MCUs
- The printer is able to utilize the extreme step rate, because it uses high-end components and is capable of running high acceleration / velocity values
- Even at lower speeds the higher precision and additional features like Pressure Advance and Input Shaping improve the results. Even more so at higher speeds
- Just installing Klipper on a standard “consumer printers” will not make it faster as they typically lack the mechanical precision and quality to significantly crank up Acceleration and Velocity