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

20 more replies

Participants

141 Comments

  1. Thank you for the guide.
    I checked my processor and it’s the STM32F401 chip.
    I tried following your guide further (setting the F401 in the Firmware Configurator) but after inserting the SD card with klipper.bin the printer doesn’t change its normal behaviour.

    I’m pretty sure the flashing did not work. After double checking the settings in the Klipper Firmware Configurator I realized the Bootloader offset can only be switched between 16 and 32KiB where I chose 32KiB.

    Any advice on what setting to change to flash my printer?

  2. HI . IT’s me again. … I use prusa slicer and I tried to do a 2 color layers where you have to change the filament. It did not recognized the M600 code and it kept printing one color. How can I fix it ? probably something easy.

  3. Do you have any suggestions for the new F401 chip? I chose that in the make menuconfig but I cannot get this printer to do anything with the SD card. It just boots up to the creality menu.

  4. Any idea if this will work with the S1 Pro? Seems to be the same board…
    Thinking about ordering one to replace my Ender 3 v2.

  5. First, thanks for this guide on S1!

    I am encountering an issue after tring to flash the printer. Klipper can’t connnect with this error:
    Error: Shutdown due to M112 command

    I assume the flasing did no go according to plan. I tried to find the F104 cip you mentioned but did not find it…

    Do you have any idea on how to troubleshoot the firmware flasing on the printer?

    Thanks!
    Sorin

    1. after make, try:
      ~/klipper/out
      this si where it should be. maybe you haven;t looked in the proper directory.

  6. Thank you very much for the tutorial, your website is very helpful.
    I never knew creality shipped the s1 with two different CPU’s. Something that really bothered me about my printer was that it came with firmware version 3.0.3 while the latest official firmware on creality website is 1.0.5! How can I know which CPU do I have?

  7. I was wondering, can i use raspberry pi to motherboars using GPio pins? I wanna put my pi inside. And usb C on the outside are ugly IMHO, do you have info on which gpio on s1 board and pi which one to connects?

    Thank you 👍

Leave a Reply

Your email address will not be published.