GuidesKlipper Firmware

How to Install Klipper on Creality Ender 3 S1: Config and Setup

I love my Creality Ender 3 S1. It prints well out of the box, and the new Sprite extruder is great. But it can be further improved using Klipper Firmware. In this guide, I will show you how to install Klipper on the Ender 3 S1.

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 mainboard 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 Creality Ender 3 S1?

By installing Klipper on the Ender 3 S1, you will be able to print faster compared to a stock printer, and you will also be able to control your printer remotely through Wi-Fi using a Web interface. The main reason to install Klipper is to use Pressure Advance and Input Shaper, which will further improve the capabilities of the new Sprite extruder from Creality.

I also attached a video where you can see the Ender 3 S1 running Klipper, printing at 150mm/s, 0.15 mm layer height with 3500 acceleration (realistically, it’s probably printing at 100mm/s). This is probably the maximum printing speed you can achieve with the stock configuration. The main limiting factor would be the hotend which is not able to keep up with the high flow rate. I will update the guide after I upgrade to a CHT nozzle.

Test Prints with Klipper on Ender 3 S1

200% calibration cube

In the pictures below, you can see the print quality you can expect after upgrading your Ender 3 S1 to Klipper. The first calibration cube was printed with 50mm/s, during my review. The second calibration cube was printed at 100mm/s with the Klipper config shared in this article.

As you can see, the corners are much better defined, the top layers are cleaner and the print time was shorter.

  • Material: Sunlu Red PLA
  • Layer Height: 0.2mm
  • Nozzle Temperature: 215C
  • Bed Temperature: 50C
  • Print Speed: 100 mm/s
  • Acceleration: 3000mm/s

Tug Boat

When you print faster, you need better cooling, especially with PLA. So in order to keep the print speed high, and also get a better representation of the print quality, I printed the Tug Boat in Sunlu PLA.

There is a little bit of ringing present, but considering that Input Shaper has not been tuned, I am quite happy with the results.

  • Material: Sunlu Grey PLA
  • Layer Height: 0.2mm
  • Nozzle Temperature: 215C
  • Bed Temperature: 50C
  • Print Speed: 100 mm/s
  • Acceleration: 3000mm/s

Prerequisites

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

  1. Raspberry Pi (any Pi version will work)
  2. MainsailOS or FluiddPi – In this guide I will use MainsailOS and a Raspberry Pi 4.
  3. Stock Creality Ender 3 S1 3D Printer
  4. Quality Power Supply for your Raspberry Pi
  5. Type C cable which fits the Ender 3 S1
  6. 3DPrintBeginner Ender 3 S1 Klipper Config File

You can check what kind of chip your printer is using by removing the bottom cover of the printer, and check the CPU on your board:

Ender 3 S1 Pro Chip | How to Install Klipper on Creality Ender 3 S1: Config and Setup

Before you begin

Before you begin

Please note that installing Klipper on the Creality Ender 3 S1 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 3 S1 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 3 S1. It’s also worth noting that the stock touchscreen will not work anymore, and you will need to use the WebUI for controlling the printer. If you still want a standalone touchscreen, then I recommend buying a BIQU PI TFT50 and install KlipperScreen.

This is how mine looks like now:

BIQU BTT TFT50 running OctoKlipper | How to Install Klipper on Creality Ender 3 S1: Config and Setup

Install Mainsail or Fluidd

MainsailOS-Logo

Before we begin, we need to install the web interface for our Klipper setup. I recommend installing MainsailOS because it is actively developed and it’s easy to use, but you can also install Fluidd.

I have written complete instructions on how to install Mainsail OS and Fluidd, so check out one of those articles before moving to the next step. In this guide I will use Mainsail.

The articles also cover the installation of KIAUH which is a handy tool to have when running Klipper.

Prepare and install Klipper firmware for Ender 3 S1

Configure Klipper for Ender 3 S1

Open Putty, enter the IP of your Raspberry Pi then click Open.

Connect to FluiddPi using Putty | How to Install Klipper on Creality Ender 3 S1: Config and Setup

In the Login prompt, you need to enter the credentials for MainsailOS. The default user is pi and the password is raspberry. Please note that the password will not be shown when typing.

Login to FluiddPi | How to Install Klipper on Creality Ender 3 S1: Config and Setup

Now you are in the SSH console of your MainsailOS install. Enter the Klipper folder:

cd klipper

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.

image 5 | How to Install Klipper on Creality Ender 3 S1: Config and Setup

When finished, press Q then Y to save your configuration. Now run the following command to start building the firmware:

make

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

Ender 3 with STM32F401 chip

This section is only for machines using STM32F401 chip. You can check the type of CPU by removing the bottom cover and inspecting the board. If you don’t have this chip, you can skip past this.

Creality started shipping some Ender 3 S1s with F401 CPUs. If your printer is running a STM32F401 CPU, you need to use the following settings. Please note that I have not tested this configuration, because I don’t have an F401 board on my S1.

image 4 | How to Install Klipper on Creality Ender 3 S1: Config and Setup

Please note that you might also need to copy the klipper.bin firmware in a STM32F4_UPDATE folder on your SD card. Other than that, the rest of the settings should be similar to the regular F103 boards.

How to flash Klipper firmware on Ender 3 S1

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 Creality Ender 3 S1: 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 Creality Ender 3 S1: Config and Setup

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

Copy the Ender 3 S1 Klipper config file

To make things easier, I made a printer.cfg for the stock Creality Ender 3 S1 which can be downloaded and copied in Mainsail. You can download the config from here: Creality Ender 3 S1 Klipper Config

Navigate to Machine, then click on the Upload button.

Mainsail Upload cfg | How to Install Klipper on Creality Ender 3 S1: 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 Mainsail Dashboard, click on the Power button in the top right corner then click on Firmware Restart.

image 8 | How to Install Klipper on Creality Ender 3 S1: Config and Setup

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

Ender 3 S1 Klipper Firmware | How to Install Klipper on Creality Ender 3 S1: 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, I recommend starting the calibration process for Z offset, Pressure Advance, and Input Shaper.
My configured values should work well, but it doesn’t hurt to double-check.

How to revert to Stock Ender 3 S1 Firmware?

If you decide Klipper is not for you, reverting to the stock firmware is easy. First, download the stock Ender 3 S1 board firmware.

Unzip the contents and copy the .bin file to the SD card.

Plug in the SD card and turn the printer on. This will trigger the board firmware update and the firmware will be flashed. It takes around 30 seconds.

IdeaMaker Klipper Profile for Ender 3 S1

I am also including a tuned IdeaMaker Klipper Profile for the Ender 3 S1. It’s made for PLA, but if you adjust printing temperatures, you will be able to use it with other filaments too. Please keep in mind that Pressure Advance might need to be adjusted according to your filament.

Creality Ender 3 S1 Klipper Profile – 3DPrintBeginner

The profile can be imported from here:

Import IdeaMaker Profile | How to Install Klipper on Creality Ender 3 S1: Config and Setup

Please ensure that Relative Extrusion is enabled when importing the profile. In some cases, IdeaMaker does not import the profile correctly. This is under Printer Settings -> Advanced -> Relative Extrusion

Wrapping up

If you encounter issues during your installation, leave a detailed comment below and I will do my best to help you. I recommend checking out the Faster Klipper Bed Probing Macro if you want to probe your bead faster before each print. I also shared my favorite Ender 3 S1 Upgrades, in case you are looking to do other improvements to your printer.

You can also join the 3DPrintBeginner Forum where there’s a dedicated thread for Klipper Firmware, with Klipper enthusiasts ready to help.

Liked it?
Consider supporting 3DPrintBeginner if this content helped. You can also join Patreon for exclusive perks!

Related Articles

Latest Replies

  1. thank you for this. I will definitely be on her asking questions as I work through this process on my S1

  2. the klipper.bin is not flashing to the printer. any help would be greatly appreciated

  3. Followed the guide and got some great prints even without further calibration! Very interested to see how far it can be pushed with a high flow nozzle!

  4. I got the variant with the STM32F401, It didn’t flash at first, but I got it to flash by creating a folder named “STM32F4_UPDATE” and putting the bin file in that, but after flashing, klippy wouldn’t connect to the mcu.

  5. Thanks for sharing your experience.
    I finished my Ender 3 S1 Pro review, so I can start tinkering with Klipper on the xxx401 board :smiley:
    I will make sure to update the installation guide.

  6. Thanks for creating this. I just finished the installation and was running thru the general configuration and ran into an odd issue. The BL Touch is failing to deploy the probe during Bed_Mesh_Calibrate but doesn’t fail when homing. Any ideas what would cause this issue? I ran the inital tests as well and they are failing as well. I can’t figure out why it would Home correctly but fail on everything else.

  7. I’m nearly up and running, but I keep getting the same error. “Recv: // MCU ‘mcu’ shutdown: Not a valid ADC pin” I copied and used your config file. I do have the F4 board, but have found the proper help to get that part figured out. Any help would be appreciated!

  8. So, after nearly going crazy trying to figure out what I was doing wrong, I have found the issue. I commented out the “[temperature_sensor Board_MCU]” section from the config file, issued a restart command, and now can heat tool and bed and see the appropriate readings. Klipper is returning a “Klipper state ready” now without errors.

You can leave a comment for this article on the 3DPrintBeginner Forum

24 more replies

Participants

Avatar for 3DPrintBeginner Avatar for MacDaddy509 Avatar for xDorito Avatar for mitchman Avatar for IctThunder Avatar for white Avatar for DjK3rby Avatar for Cody Avatar for Rist_Ender_3_S1 Avatar for cbander22 Avatar for Klagor Avatar for dns2k Avatar for keliam Avatar for Lukasinski Avatar for lowsc0re Avatar for SiwatS

157 Comments

  1. Me again xD
    I have still issues with the top surface look and feel. Someone say i need to check XY steps. I expect on X 1mm move and there is 0.954. Expect 2mm move and there move 1.938. Expect 3mm move and there move 2.937. For Y i have expect 1mm and get 0.954. 2mm and get 1.942. 3mm and get 2.936.

    Did you think this can cause the issue or is this in the tolerance range in your opinion? I´m not sure how to convert to the rotation distance values.

      1. Thanks for answer. I can go down like 80% with the Top Layer Infill but still not good. I thought it is the Retraction. If i minimize the minimum distance we see a difference. It is PETG from Extrudr. I have already testes every Retraction setting xD Don`t affect the issue. So the inner shell looks no so bad but the Solid Fill. Maybe recalibrate Z offset… Mmmmh… Here are some pictures: https://imgur.com/a/xCQAL5D

          1. Yeah i understand. Here i have printed it again: https://imgur.com/a/cqxUifH

            If i give hard pressure i come to 0.95/0.96.

            I thought that i`m doing something wrong and so i have already printed from 80%-110% flow everything but nothing from them looks good.

            I´m new to ideaMaker but i love it. First i have tried it to adjust under Advanced and then Override Filamanet Primary Flowrate. There was nearly no effect. Only that the measurement was going bad.

            Then i have set this to 97% and tried from 80%-100% everthing in 2% steps with Top Surface Solid Fill Flowrate. Some minor effects can be seen but all not good. Then i have done again tests with Top Solid Fill Extrusion width Percentage. Same here.

            I would swear too that it is Flow and Retraction but i have tried so much… :-/

            Did i used the wrong attributes in ideaMaker?

          2. It looks like my filament is wet. I need after the oven to change everthing. Z offset is totally different. Need to order a drybox.

          3. Just for your information. I needed to adjust pressure advance so your settings don`t worked for my filament spool 🙂

  2. Hi, im having issues with slicing in cura and getting klipper to print, i suspect its the gcode but im not sure whats confilcting. Do you have start and end gcode that you know works with klipper ?

  3. Heyho, me again 😉 I see that in the printer profile the ESteps are defined with 420. This will generate this gcode “M92 E420.00000” but the printer don`t understand M92. I should change it to 0 in the slicer and not 420 – correct?

  4. Thank you so much! It is great and works perfect. I only have a “issue” that the top surface is not that good. Any idea how to improve? Top Surface Solid Fill Layers to 2? https://imgur.com/a/fMPTYYJ

    … and sometimes Klippers disconnects? Is this normal? Till yet only happened if it is not printing – i hope this will keep.

      1. You have got me to the Klipper Heavon! This is flow rate – ok i already adjusted to 100 but i will deep into it. Thanks!

        Now i see Klipper with the S1 i think i need Ender 6 with Klipper or maybe better a RatRig 🙂

  5. Great tutorial, thanks for putting in the work. I had things going well until I got to the SD card with the Bin file into the printer. I had a SD card with only the klipper.bin file and put it in the printer. The printer turned on and stayed at the creality boot screen. I left it on for a minute, removed the card and restarted the printer as you said. Now every time I turn the printer on it stays at the Creality Boot screen and I cannot get it past that. Even when attempting to put the stock firmware back, I only get the Creality logo boot screen. Anything I can try to get the printer working again, klipper or stock firmware?

      1. Thanks, I do have a monitor plugged into the Pi that just gives the command line. Is there a way to verify that Klipper is installed correctly on the printer itself? Mainsail.local says it can connect to moonraker but not to Klipper and I get “printer not ready” then an MCU error which says error configuring the printer. Seems to me like the Pi is having trouble talking to the firmware on the printer itself, the cable I’m using to connect the Pi to the printer does transfer data and I have used it for octoprint in the past.

          1. I have this same issue but I believe its because mine is a STM32F401 chip. I don’t know how to make KIAUH detect USB ID I don’t see that option there. I can do ls /dev/serial/by-id/* and it lists the singluar connection. However I get the MCU unable to connect error. Looked in the config and MCU is set to use the single USB ID connection. Any insights here? (I’ve tried both USB and Serial type connections). Also one thing to note when chosseing the F401 chips the only options are 16bit (HID) or 32bit boot loaders.

          2. My printer also use the STM32F401, It seems that creality ship the unit with that chip now.
            I selected the F401 chip and insert the SD card into the board, It doesn’t flash, just boot straight to the normal screen.

  6. Thank you – i tried everything setp by step but cant get it to work properly with your config – the print starts beside the bed (firstline) and the print itself is not centered. Any ideas how to move the printerhead 3cm to the Right before the print starts? Offset X?

      1. na- any chance you make a prusa slicer profile? ^^ – will try to to install ideamaker and get the values myself thou 🙂

    1. Yeah, mine is doing the same thing. I can set up X and Y offsets in Prusa slicer/super slicer….but would like to know why its off… I did try and use the IdeaMaker profile and it was still the same. Almost like something is off in the firmware.

  7. Thank you for your tips. I used CNC but I am interested by 3d Printing in a near future. The Raspberry Pi, if I understand well, is use only to flsh the firmware ?