3D Printing Becomes a Brain: What is Klipper?

I wrote Klipper to do something different than what other 3D printer firmware does. Most existing software is designed to work within the confines of the small computer on the printer's motherboard, usually referred to as a microcontroller. The software works, but it tends to focus as much on making things work on a small computer as it does on making things of excellent quality.

My goal was to model interesting physics in software, to improve the quality of the final printed object. Getting the physical model correct is in itself a big challenge - making it work on a small computer as well would be a nightmare. Others have also encountered these limitations, but past solutions have basically involved replacing a "very small" computer with an "essentially tiny" computer. I took a different path and Klipper was born.

WHY KLIPPER RIPS

This article originally appeared in Make: Vol. 84. Subscribe for more great articles.

• Bigger Brain, Faster Motion Control: Klipper models the physics of motion on a real computer, so all the printer's microcontroller has to do is cycle through the motor's programmed motions with a microsecond synchronization.

• Resonance Compensation: Like noise-cancelling headphones, Klipper senses vibrations from your printer and adjusts its motion to erase them.

• Smooth Pressure Advance: Predicts pressure from molten filament to reduce oozing during non-printing moves and dripping in corners.

LET'S BE PHYSICAL

On Klipper, the software starts with the physical models. We run these models in Python (and some C) on a real general-purpose computer, usually a low-cost Raspberry Pi. The software then determines the best robot actions needed to follow the desired physics; these actions are organized into a timeline of events, compressed into a small stream of data, and sent to the microcontroller. All the microcontroller has to do is tear off the events using the timing described in the schedule.

RATTLE AND HUM: Klipper detects unwanted vibrations from your printer and cancels them out.

Because Klipper starts with physics and uses a real computer, it is able to implement advanced transformations that improve quality resulting objects. For example, the input shaper can model machine vibration (caused by rapid movements) and produce resonance compensating movements that minimize its impact (less "ringing" artifacts in printed objects). Input shaping has a rich history in CNC machines, but Klipper is the first to deploy it widely in 3D printers. Klipper's unique soft pressure advance models the fluid pressure of the plastic in the hot end and can reduce oozing that causes blobbing and stringing artifacts on objects. These transformations can allow for faster print times while maintaining excellent quality.

It's worth pointing out that Klipper does things differently. If you have a printer that works well for you, Klipper is unlikely to revolutionize it. Klipper has been most successful as a tool for "pushing the envelope". It helped facilitate machines with many motors (eg Voron 2.4 machine with seven motors) and high speed movements (eg 300mm/s and above). The hardware of some of these machines was designed to take advantage of Klipper's capabilities, just as Klipper evolved to drive these machines.

3D Printing Becomes a Brain: What is Klipper?

I wrote Klipper to do something different than what other 3D printer firmware does. Most existing software is designed to work within the confines of the small computer on the printer's motherboard, usually referred to as a microcontroller. The software works, but it tends to focus as much on making things work on a small computer as it does on making things of excellent quality.

My goal was to model interesting physics in software, to improve the quality of the final printed object. Getting the physical model correct is in itself a big challenge - making it work on a small computer as well would be a nightmare. Others have also encountered these limitations, but past solutions have basically involved replacing a "very small" computer with an "essentially tiny" computer. I took a different path and Klipper was born.

WHY KLIPPER RIPS

This article originally appeared in Make: Vol. 84. Subscribe for more great articles.

• Bigger Brain, Faster Motion Control: Klipper models the physics of motion on a real computer, so all the printer's microcontroller has to do is cycle through the motor's programmed motions with a microsecond synchronization.

• Resonance Compensation: Like noise-cancelling headphones, Klipper senses vibrations from your printer and adjusts its motion to erase them.

• Smooth Pressure Advance: Predicts pressure from molten filament to reduce oozing during non-printing moves and dripping in corners.

LET'S BE PHYSICAL

On Klipper, the software starts with the physical models. We run these models in Python (and some C) on a real general-purpose computer, usually a low-cost Raspberry Pi. The software then determines the best robot actions needed to follow the desired physics; these actions are organized into a timeline of events, compressed into a small stream of data, and sent to the microcontroller. All the microcontroller has to do is tear off the events using the timing described in the schedule.

RATTLE AND HUM: Klipper detects unwanted vibrations from your printer and cancels them out.

Because Klipper starts with physics and uses a real computer, it is able to implement advanced transformations that improve quality resulting objects. For example, the input shaper can model machine vibration (caused by rapid movements) and produce resonance compensating movements that minimize its impact (less "ringing" artifacts in printed objects). Input shaping has a rich history in CNC machines, but Klipper is the first to deploy it widely in 3D printers. Klipper's unique soft pressure advance models the fluid pressure of the plastic in the hot end and can reduce oozing that causes blobbing and stringing artifacts on objects. These transformations can allow for faster print times while maintaining excellent quality.

It's worth pointing out that Klipper does things differently. If you have a printer that works well for you, Klipper is unlikely to revolutionize it. Klipper has been most successful as a tool for "pushing the envelope". It helped facilitate machines with many motors (eg Voron 2.4 machine with seven motors) and high speed movements (eg 300mm/s and above). The hardware of some of these machines was designed to take advantage of Klipper's capabilities, just as Klipper evolved to drive these machines.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow