Unlike traditional Marlin based firmware systems which run on the micro-controller, Klipper utilizes an application processor to take care of the heavy lifting, and then transmits step commands to the mainboard (Typical 3D printer micro-controller), which then moves the stepper motors. This method prevents the need for the micro-controller to process the GCode and allows it to focus on just moving the steppers so to speak.

In order to use Klipper you will need a Raspberry Pi, a BigTreeTech CB1, or a specialized pad that can run Klipper. The different hardware options will be discussed in detail. The Klipper pads can typically control up to 3 printers at once, but having Klipper/hardware on each printer is a more flexible option.

The overall methodology of Klipper is to replace Marlin completely. When you set up Klipper to run on your chosen hardware, you will then compile Klipper firmware which will be moved over from your hardware running Klipper to your micro-controller, thus replacing the Marlin firmware. From this point Klipper can be run from the web browser and will control your mainboard via the new firmware.

Why switch to Klipper, I hear it's difficult

Marlin GCode suffers compatibility issues between versions. If you have ever had issues with GCode pause commands, or filament change commands you may already realize this. In addition to minor frustrations, there is only so much capability you can pack into GCode and the micro-controllers that are in use on most 3D printers.

Klipper uses GCode commands, but offers the ability to create macros and add additional functionality outside of the realm of what GCode can do, making it the best of both worlds. Having an easy to use application to configure your printer is also a big plus. These reasons alone are enough to try it out. But wait, there's more.

  • Free and open source, all integrated software is free
  • Best in class performance
  • High precision stepper movement
  • Hardware agnostic, excellent performance can be achieved with low level micro-controllers
  • Pressure Advance - Reduced oozing and blobs at corners
  • Input Shaping - Resonance compensation uses an accelerometer to tune out vibrations and oscillations in the printer that cause ghosting
  • Read about all Klipper features

This is Bleeding Edge Technology. In time there will be a lot more information and help online. As the software develops and more people are involved, it will get easier. The goal of this website is to provide instructions and point out the pitfalls of setting up Klipper, KlipperScreen and Fluidd. Configuring all of the related applications that make the Klipper infrastructure function can be daunting, but can help you set up Klipper and get help with Klipper errors.

Decisions Decisions

Right now in Q1 2023, setting up Klipper on a dedicated unit, on printer, requires using a command terminal and entering commands. All documentation comes with easy to copy and paste commands along with the instructions, so it is a fairly easy to follow process. If you are not adventurous or have fears of a computer terminal, then I would recommend buying a Klipper pad. These come preconfigured and they are plug and play.

As of Q1 2023 there are two Klipper pads available:

If you decide on the on-printer route and set up a Raspberry Pi or CB1, you could get started for very little monetary expenditure. The BigTreeTech CB1 is a little over $20. It is as capable as a Pi and works very well for this application. You can also find Raspberry Pi B+ with 1gb of ram for around $60-$100 on ebay. However, the CB1 just snaps onto the BigTreeTech Mantra series of mainboards. You can just slap it on with no wiring required, it's one stop shopping for getting Klipper running on your 3D printer.

The Creality Sonic Pad and FLSUN Speeder pad's cost around $150-$170. The advantage is no setup, but you also don't have as much control as you would installing your own software on a Pi or CB1. Creality and FLSUN maintain their own flavor of Klipper and are actively improving it. Klipper is bleeding edge as I have stated before, so they have rolled out many Klipper pads to the market even before their modifications and changes to the firmware are 100% bug free.

Recommended Setup

The following recommendation is based on personal opinions, but is well tested and therefore you should go for it.

  • Linear rail/guide based 3D printer
  • BigTreeTech Manta M5P - Dual Z-Axis, one stepper driver per motor (X,Y,Z,Z,E) or M8P (X,Y,Z,Z,E + 3 additional drivers)
  • BigTreeTech BTT-CB1 Application Processor (alt/RPi CM4)
  • Install BTT Debian OS using Raspberry Pi Imager
  • Install HIUAH for use to install companion software
  • Browser controller: Fluidd
  • Printer controller/TFT screen: KlipperScreen
  • Cam controller: Crowsnest
  • Slicer: SuperSlicer or PrusaSlicer

Get the Tools

The Fluidd app has an excellent text editor and you will do most of your configuration there. Having a good text editor is handy for custom programming as well as viewing and saving the backup text you will be copying out of your Fluidd config files. More on that later.

Pitfalls and Gotchas

Wisdom via failure. Here are some of the pitfalls I encountered on the Klipper journey:

- Bleeding Edge

Be careful when purchasing products from sellers, and not from the source. The technology is advancing so quickly that latest hardware versions may have already made previous versions of hardware obsolete. So third party sellers are likely to have old inventory that they need to sell before selling the latest.

Gotcha #1: The BigTreeTech CB1 is actively being developed. If you purchase one, make sure to verify that it is at least version 2.2 if you want to use a TFT touchscreen via the SPI port on the mainboard. The version I ordered was v2.1 and it does not work with an SPI touchscreen unless you buy additional hardware. One week after I bought that board BTT released the 2.2 which works just fine.

So I unfortunately had to buy two CB1's in order to get the touchscreen working on my printer build.