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. Did you get uploading to Mainsail working via Ideamaker? I used the IP address of the pi and something random as the API key and I keep getting a(4608) error in the upload queue.

  2. Hey,
    so far everything has worked, however it does not connect to the printer.

    When I try to print the MCU ID, it shows that it is not present on USB. But for UART it shows me: /dev/ttyAMA0

    I entered this manually, but even then it does not connect.

    Greetings

  3. I followed the guide. Looks like the SD card did flash since it stayed at the boot screen. However, the web interface would keep saying printer is not ready.

  4. Are you using a special usb cable to connect the raspberry pi with the printer? One with the +5V disconnected?

    I’ve heard horror stories of the Pi trying to power the printer through the usb cable and frying the motherboard in the process.

  5. Thank you so much for the very detailed write up. I have everything up and running on my pi with touchscreen working and etc (initially had issues with it not booting to fluidd klipperscreen but a x11 update thing fixed that). I have the Ender 3 S1 pro. Would the same bin file work to flash the board or would I have to check the board to ensure the pin addresses are identical? Appreciate all the time and effort you put into your write ups!

  6. Printer is not ready
    The klippy host software is attempting to connect. Please
    retry in a few moments.

    cant get it to connect. no idea why

  7. Well, that’s my bed surface torn up. What a wonderful experience. Followed the guide to the letter, levelled twice, checked bed mesh and everything else. Then fired up a test print, and saw my nozzle embed itself in the plate. Thankfully I was right next to it at that moment, but even killing the power could not undo the deep scratches all the way through to the metal underside. So, now I’ve reverted back to stock, and have to go buy a new plate for an S1, which I’m not even sure they sell separately yet. Seems there’s something wrong with the config, but seeing as I now have my hands full, I couldn’t say exactly what.