The 3D Printing world is currently dominated by Marlin firmware which is installed on most low-buget printers. It’s a great firmware, with good support for a wide range of boards and configurations and i currently use it on some of my printers.
Klipper is an alternative 3D Printer firmware, developed by KevinOConnor that combines the power of a general purpose computer with one or more micro-controllers allowing you to speed up your printing speeds while keeping the quality high.
In the following article, you will learn how to install Klipper on SKR 1.3 on the Anet AM8 printer running the SKR 1.3 board with TMC2208 drivers.
Why install Klipper ?
Klipper firmware was first developed because of the limitations provided by the 8 bit boards that sometimes were not able to keep up with complex geometries and high speeds. By offloading the printer movement calculation on a different computer (ex: a Raspberry Pi) Klipper can print faster and with better quality.
Besides faster printing, Klipper offers simple configuration editing with a single .cfg file. This is a much improved feature over Marlin which requires a complete recompile and flash when needing to enable or disable various settings in the firmware.
Another great feature offered by Klipper is Pressure Advance (which is similar with the Linear Advance from Marlin). When properly calibrated it reduces the need for high retraction and extruder ooze. This translates in less stringing on your 3D prints.
A complete feature list is available on the Klipper3d website.
In order to install Klipper, you will need the following:
Install Klipper on SKR 1.3
- Login via SSH on the server
- Run git clone https://github.com/KevinOConnor/klipper
- Start the installation ./klipper/scripts/install-octopi.sh
- Navigate to the Klipper Folder cd ~/klipper/
- Run make menuconfig to configure the board settings like in the screenshot below. You need to select the LPC176x micro-controller achitecture, with lpc1768 processor model then select Exit
- Select Yes when you are asked to save the configuration
- Run make to compile the firmware for the SKR 1.3. When finished, you will have a klipper.bin firmware file that we need to flash on the board.
- Now that we have the firmware file, we need to copy it from the server to a micro SD card. This can be done by logging into the server via SSH with WinSCP and navigating to the /home/user/klipper/out folder. The file needs to be renamed to firmware.bin From here you can copy it to the root of the micro SD card. For ease of use, i also uploaded the klipper.bin firmware file, and you can download it by following this link.
- Turn off the printer, plug in the SD card with the klipper firmware on it, then start it. In a few seconds, the firmware will be flashed. There won’t be any information shown on the display, so don’t panic. This is normal.
- In the SSH connection, run sudo service klipper restart, to make sure the service is prepared for connecting with the printer.
- Back on the computer, open Octoprint and under “Serial Connection” in “Additional serial ports” add the “/tmp/printer” info, like in the screenshot below.
- Under the Behaviour tab, select Cancel any ongoing prints but stay connected to the printer then click save.
- If the settings are correct, you can now connect to the firmware
- The next step is to copy the klipper config file that sets all the information about the printer configuration. You can download my klipper.cfg file by following this link. This is made for the Anet AM8 printer with TMC2208 in UART mode, Dual Z support and BLTouch. If you plan to use it on another printer, make sure you download the generic SKR 1.3 config from the Klipper github page and edit it appropriately.
- Open winSCP and copy the downloaded klipper.cfg file to /home/user/. In my case, the config file is located in /home/ciprian/printer.cfg. This path is also known as ~/printer.cfg.
- Back in Octoprint, navigate to OctoPrint Settings, and under Plugin Manager search for OctoKlipper and install it. This plugin will simplify the usage and configuration of Klipper with Octoprint.
- To make sure everything is ready, perform a reboot on the server with the sudo reboot command and also restart the printer.
- After the reboot, you can connect to Klipper and start your first test print.
Videos with Kilpper on SKR1.3 in action
More information about Klipper:
Chris Riley made a video guide about Klipper that you should watch: