Install Klipper on Ender 3 with BLTouch support

The Ender 3 is a really good 3D printer for the money. But if you install Klipper on Ender 3 print speed can also be improved while keeping quality. In the following guide i will show you how to install Klipper on Ender 3.
I had great results when running Klipper on Anet AM8 printer, so i decided to do the same for my Ender 3.

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.

Prerequisites

In order to install Klipper, you will need the following:

    1. Raspberrpy Pi with OctoPi installed (this can be done with any linux computer running Octoprint)
    2. Ender 3 printer with stock motherboard. A bootloader needs to be already installed in order to do this.

Install Klipper on Ender 3

  1. Login via SSH on the server
  2. Run git clone https://github.com/KevinOConnor/klipper
  3. Start the installation ./klipper/scripts/install-octopi.sh
  4. Navigate to the Klipper Folder cd ~/klipper/
  5. Run make menuconfig to configure the board settings like in the screenshot below. You need to select the Atmega AVR micro-controller achitecture, with atmega1284p processor model, 16Mhz speed,  then select Exit

    menu config for Klipper on Ender 3

    Menu config for Klipper on Ender 3

  6. Select Yes when you are asked to save the configuration

    Save the configuration 1

    Save the configuration

  7. Run make to compile the firmware for the Ender 3 board.

    Klipper firmware compiled

    Klipper firmware compiled

  8. In the SSH connection, run sudo service klipper stop to  prepare  for  flashing
  9. Run ls /dev/serial/by-id/* command to list your printer’s USB port, and run the command make flash FLASH_DEVICE=the_id_received_from_the_previous_command

    List your 3D Printer USB port

    List your 3D Printer USB port

  10. The make flash command will install Klipper on Ender 3. When the “Thank You” message is displayed, the process is finished.

    Install process of Klipper on Ender 3 is finished

    Install process of Klipper on Ender 3 is finished

  11. In the SSH connection, run sudo service klipper start to turn on the Klipper service

    Start the Klipper service

    Start the Klipper service

  12. Run cp ~/klipper/config/example.cfg ~/printer.cfg  to copy the default config.
  13. Back on the computer, open Octoprint and under “Serial Connection” in “Additional serial ports” add the “/tmp/printer” info, like in the screenshot below.

    Add the additional serial port in Octoprint

    Add the additional serial port in Octoprint

  14. Under the Behaviour tab, select Cancel any ongoing prints but stay connected to the printer then click save.

    Select Cancel any ongoing prints but stay connected to the printer option 1

    Select Cancel any ongoing prints but stay connected to the printer option

  15. If the settings are correct, you can now connect to the firmware

    Octoprint is successfully connected to Klipper firmware on the printer 1

    Octoprint is successfully connected to Klipper firmware on the printer

  16. 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.

    Install OctoKlipper plugin

    Install OctoKlipper plugin

  17. Open OctoKlipper and navigate to the Config section, then paste the config downloaded from here

    OctoKlipper config

    OctoKlipper config

  18. Find the [mcu] section and paste the ID from step 9, then save.

    MCU setting

    MCU setting

  19. To make sure everything is ready, perform a reboot on the server with the sudo reboot command and also restart the printer.
  20. Now you can start your first test print.

Pictures with the finish quality from Klipper on Ender 3

Calibration Cube:

  • PLA
  • 150mm/s
  • 0.2 mm layer size
  • 205C

Cube printed with Klipper on Ender 3 with 150mm/sCube printed with Klipper on Ender 3 with 150mms 1 Cube printed with Klipper on Ender 3 with 150mms 2
Phil-A-Ment
  • PETG
  • 150mm/s
  • 0.2mm layer size
  • 240C

Phil A Ment Fiberlogy PETG 5Phil A Ment Fiberlogy PETG 3Phil A Ment Fiberlogy PETG 6

Videos with Kilpper on Ender 3 in action

More information about Klipper:

Chris Riley made a video guide about Klipper that you should watch:

 

 

Liked it? Take a second to support 3DPrintBeginner on Patreon!
become a patron button

You may also like...

This website uses cookies to ensure you get the best experience. By choosing I Accept, you consent to the use of our cookies Learn More
I Accept