Klipper FirmwareGuides

How to Install Klipper on Ender 6: Config and Setup

In this guide I will show you how to Install Klipper on Ender 6 using a simple Raspberry Pi Zero. Because the original Klipper build doesn’t work with the Ender 6 screen, we will use a modified Klipper build made by Desuuuu.

What is Klipper?

Klipper Sidewinder X1 | How to Install Klipper on Kingroon KP3S: Config for Printing Fast

Klipper is an open-source firmware for your 3D printer that combines the power of a Raspberry Pi and your printer main board for better printer control. By doing this, You are able to run your printer at higher speeds with better precision and control.

Why Install Klipper on Ender 6?

By installing Klipper on Ender 6, you will be able to print faster compared to a stock printer, and you will also be able to control your printer remotely, trough Wi-Fi. You will be able to use features like Pressure Advance and Input Shaper, which will greatly improve your print quality and speed. The touchscreen firmware is also updated which gives you a bit more options compared to stock.

If you want to learn more about Klipper, check out Nero’s video


To install Klipper on Ender 6, you need to have the following:

  1. Raspberry Pi Zero W (any Pi will work)
  2. MainsailOS or FluiddPi – In this guide I will use FluiddPi and a Raspberry Pi Zero
  3. Creality Ender 6 3D printer
  4. Micro USB cable
  5. OTG Micro USB Cable (needed only for the Pi Zero)

Before you begin

Before you begin

Please note that installing Klipper on Ender 6 requires some experience with 3D printers and hardware. This is not a trivial task for beginners, and you may break your printer during the process. If you don’t feel comfortable doing this, then keep the stock firmware.

Read the full guide carefully and install Klipper on Ender 6 only after you properly understood all the steps involved. If you have questions before starting, leave a comment and wait for a reply.

I am not responsible for any damage you may cause to your printer by following this guide. You are doing this on your own responsibility.

The configuration file shared in this article, is made for the stock Creality Ender 6.

Install FluiddPi on Raspberry Pi

FluiddPi | How to Install Klipper on Ender 6: Config and Setup

I have covered the FluiddPi installation in a previous article, so please follow it before continuing. This will ensure you have the same setup as I do which will make the entire process a bit easier.

In that article I also covered how to install KIAUH which is a helpful tool for installing and updating Klipper.

Connect your Raspberry Pi to the Ender 6 board

The Creality Ender 6 doesn’t have an accessible USB connector like other printers, so in order to connect our Raspberry Pi to the board, we need to open the bottom cover.

I chose to connect my Ender 6 board to a Raspberry Pi Zero using a Micro USB cable and a MicroUSB OTG cable. I also power the Pi directly from the printer using a buck converter and the GPIO pins. This converts the 24V from the printer and powers the Pi with 5V. The whole setup is shown below.

For better Wi-Fi reception and accessibility, I installed the Pi Zero outside the case.


In case you are using a Raspberry Pi 3 or 4, you won’t need the OTG cable.

Prepare and install Klipper firmware for your Ender 6

Merge Custom Klipper build

To use the stock screen with Klipper, we need to merge the custom Klipper setup into the one already installed with FluiddPi. Connect to your Raspberry Pi and run the following commands:

Navigate to the Klipper folder

cd ~/klipper

Next, add the Desuuuu github

git remote add desuuuuklipper https://github.com/Desuuuu/klipper.git

Fetch the latest files from git

git fetch desuuuuklipper

Checkout the changes

git checkout desuuuuklipper/master

Configure the custom Ender 6 Klipper firmware

Open the Klipper Firmware Configuration screen using the following command:

make menuconfig

The Klipper Firmware Configuration screen will appear. Using your navigation keys, move through the menus and replicate the same settings I used.

Klipper Ender 6 Make Menuconfig | How to Install Klipper on Ender 6: Config and Setup

When finished, press Q then Y to save your configuration.

Now run the following command to start building the firmware:


The build process will start and when finished, the firmware will be ready to install. For the Ender 6, we need to install it from the SD card

Please note that updating Klipper firmware with the vanilla version (using the Fluidd upgrade option) will break the screen functionality. You need to use the Desuuuu klipper build.

How to flash Klipper firmware on Ender 6

Flash the Ender 6 board

First, connect via SFTP to your Raspberry Pi. I use WinSCP. Enter the IP, username and password just like you did for Putty, then click on Login.

image 11 | How to Install Klipper on Ender 6: Config and Setup

Navigate to /home/pi/klipper/out and copy the klipper.bin file on an SD card.

klipper firmware bin | How to Install Klipper on Ender 6: Config and Setup

Next, plug the SD card in your printer and turn it on. The installation process takes about 15 seconds. I recommend you wait for a minute, then remove the SD card and restart your printer.

When you are flashing the board firmware, there won’t be any information displayed on the touchscreen. It might look like the screen is stuck, and the progress bar does not move, but this is ok. Just continue to the next step.

It’s also worth noting that if you want to re-flash the board, always change the filename. The Creality board doesn’t start the flash process again, if you use the same firmware name, as in your previous flash.

Flash the Ender 6 touchscreen

Download the latest release of DGUS Reloaded Klipper firmware from Github

latest DGUS reloaded klipper firmware | How to Install Klipper on Ender 6: Config and Setup

Format your MicroSD to FAT32 with a 4096 allocation unit size. Don’t skip this step. It’s important.

Format SD card for Klipper on Ender 6 | How to Install Klipper on Ender 6: Config and Setup

Unzip the archive contents and copy the DWIN_SET folder on the root of your MicroSD Card

Copy firmware on SD Card | How to Install Klipper on Ender 6: Config and Setup

With the MicroSD card ready, we need to remove the touchscreen face plate in order to access the MicroSD card slot. To do this, you need to remove the four hex bolts (behind the screen and underneath).

Once you removed the face plate, unscrew the remaining four hex bolts which keep the touchscreen in place, in order to insert the Micro SD card into the screen.

Ender 6 Touchscreen Firmware Update SD card slot | How to Install Klipper on Ender 6: Config and Setup

Power on your printer. This will start the installation process. Wait until the “SD Card Process… END!” message shows up, then turn off the printer.

Firmware flash end on Ender 6 Touchscreen | How to Install Klipper on Ender 6: Config and Setup

When you start the printer again, the screen will only show the Klipper logo. The main menu will only show up after you connect Klipper to the board.

Copy the Ender 6 Klipper config file

Now that our Ender 6 is running Klipper firmware, we need to copy the configuration file. You can download my sample configuration to get you started.

In your FluiddPi Web UI, navigate to the Configure tab, and drag and drop the printer.cfg file in the Configuration Files section

Upload Ender 6 Klipper Config | How to Install Klipper on Ender 6: Config and Setup

Connect Klipper to your printer

Finally, you just need to connect Klipper to your printer. This is super easy. You just need to go back on your FluiddPi Dashboard and click on Firmware Restart.

This action will trigger the connection between the Klipper service running on FluiddPi and the Ender 6 firmware we just installed. If all the steps have been followed, then your printer will connect, and you will be greeted by this interface.

FluiddPi running on Ender 6 | How to Install Klipper on Ender 6: Config and Setup

Feel free to home the printer first, to make sure everything is running correctly. Heat up the nozzle and heatbed and check if the temperature rises as expected. If everything looks good, then you are ready to start your first print with Klipper.

How to revert to Stock Ender 6 Firmware?

If you decide Klipper is not for you, reverting to the stock firmware is easy. First, download the stock Ender 6 board firmware and the Ender 6 touchscreen firmware.

Unzip the files, and copy the contents on the SD card

Stock screen firmware files | How to Install Klipper on Ender 6: Config and Setup

First, plug in the SD card to your printer in the SD Card slot, and restart it. This will trigger the board firmware update and the firmware will be flashed.

Finally, connect the MicroSD card to the touchscreen, and start the printer. The touchscreen flashing process will start. When completed, turn of the printer.

Please keep in mind that after you flash the screen/board once, if you want to try again and re-flash, you need to edit the names of the .bin files. Otherwise, it will not work.

If you have issues flashing the stock screen firmware, overwrite the T5UID1.CFG with the file you downloaded from here, and ensure you use an 8GB MicroSD card formatted with the 4096-allocation unit size. I already included the file in the screen firmware archive but for some reason, it doesn’t work every time.

Wrapping up

Even though the installation steps seem to be a bit hard to follow, I hope this guide helped you and now you are running Klipper on your Creality Ender 6.

Make sure you check out my Ender 6 Upgrades: Paid and Free article where I go over some of the upgrades I plan to do on my Ender 6.

If you encounter issues during your installation, feel free to leave a comment below and I will do my best to help you. Besides that, you can also join the 3DPrintBeginner Discord server where there’s a separate thread for Klipper, with Klipper enthusiasts ready to help.

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

Notify of
Inline Feedbacks
View all comments
6 months ago

Thanks for this step by step. I got it working on my new Ender6 with BLTOuch after I used the config comments guid to Reconfigure it. I have run into several errors trying to level the bed using BLTouch. I think more work needs to be done before its usable.

Felix Allen Mierka
Felix Allen Mierka
6 months ago

The ready to flash klipper image isn’t working on the newest version now, I can’t get the screen to work. It always errors out because of the line in the configuration file for the screen

6 months ago

Same to me. My printer can work properly but the screen is stunk.

6 months ago

It would be very nice, if you can tell us, how do you get to your printer config file.
I think that is the most important task and you cover it with one sentence. I think, you also only copied the file from somewhere.

It would be really really nice, if anyone could tell, how you can build a printer config from scratch, so you can make a config file for every board out there.

7 months ago

Thanks a lot for your guide! After a bit of struggling I finally succeeded with launching Klipper )
One thing to mention is it seems that Creality mainboard is backfeeding the USB port that could cause damage to Raspberry if you connect it via USB. Here is a video from TH3D showing the issue. My quick solution was to accurately cut along the data USB cable in the middle and cut the red wire (power) out, making sure that tips of the red wire dont touch ground. I bent them outside the cut and fixated with blue insulating tape. It works fine.

7 months ago

Thanks for this article very helpful!
I swap the mainboard to SKR Mini v2, klipper run, lcd too but i can’t find the good config file for this mainboard (full stock)
do you think to test this config?

Jay Zimmer
Jay Zimmer
7 months ago

This is a great tutorial! I have an Ender 6 and did this install. I was never able to get it to work with the USB connection on the Ender board. After lots of research it seems that the USB connection on the Ender board is bad. I know my USB cable is good because I can use it to communicate to different devices. I ended up using the serial pins from the Ender 6 board that go to the touchscreen and everything works. I was wondering if it would be possible to somehow connect the original Ender 6 touchscreen directly to the Raspberry Pi 4 that I have running Klipper so that I still have a local screen. Thanks!

Juan Carlos
Juan Carlos
6 months ago
Reply to  Jay Zimmer

I have the same problem with usb connection, how u solved?

chris S
chris S
5 months ago
Reply to  Jay Zimmer

how exactly did you do this? i suspect my usb port is bad as well. I was able to connect once, but now it never works. tried multiple usb cables

7 months ago

i dont know why in the fluiddpi interface it says (klippy not connected)
i changed the usb cable but still does not connect to the Ender board.
but also the menu config options are not the same as yours.
i connected the ender 6 board directly to my pc and on the device manager the baud rate shows 9600 but the klipper one is 250000. i dont know what im doing wrong

1 month ago

Where can i find that? I’ve read the guide 4 times, still can’t find a link to the ready-built firmware. Might be reading past it somehow but thought it would be worth a try since I’m stuck. The fluidd webpage mentions klippy is not connected and the ender 6 screen wont go past the klipper logo. Help?

7 months ago
Reply to  sarkar

did you end up getting it to flash? i am having no luck

7 months ago

I’m not getting the same options for config, not sure what I’m doing wrong!

7 months ago
Reply to  tom

I ran into the same thing. I don’t know why it looks a little different, but these are the settings that worked for me:
             Klipper Firmware Configuration
[*] Enable extra low-level configuration options
  Micro-controller Architecture (STMicroelectronics STM32) —>
  Processor model (STM32F103) —>
  Bootloader offset (28KiB bootloader) —>
  Clock Reference (8 MHz crystal) —>
  Communication interface (Serial (on USART1 PA10/PA9)) —>
[*] Enable DGUS T5UID1 screen
    Screen Serial Port (USART3) —>
(250000) Baud rate for serial port
[ ] Specify a custom step pulse duration
() GPIO pins to set at micro-controller startup

7 months ago

When you put the SD card in the printer to load klipper.bin is the status bar on the screen suppose to update? Nothing happens on the screen so I am not sure if it took?

7 months ago

Is the screen supposed to be usable? I get the klipper logo to come up and the screen with settings/temp but nothing works when pressed except settings and when that is clicked it defaults back to creality screen which isnt usable either. Have reloaded back to stock and tried again with same results. Using Fat32 with 4096 allocation.

7 months ago

Need to add “make” in front of menuconfig 🙂