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

Originally published at: How To Install Klipper On Creality Ender 3 S1: Config And Setup | 3D Print Beginner

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 is…

1 Like

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

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

Do you have an F4 board?

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!

1 Like

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.

I got it working now!

1 Like

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.

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.

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!

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.

Did you follow @SiwatS post? I did not update the Klipper guide for F4 boards.

Yep, I had to to that too, I forgot to put that in the post, as I assume people will be using a generic configuration file, I’ll fix that now.

I did, and it helped with a few issues I had. I’ve never used Klipper before, so troubleshooting was tough, especially with a printer as new as the Ender 3 S1 (even more so with the F4 chip).
I’m new to Octoprint, Klipper, Ideamaker, and even stuff like gcode start and Z-offset, so I have a lot to learn and dial in. I figured if I’m going to start using Octoprint, Klipper, or a new slicer I might as well get to learning it now with my new printer.

I started with your provided config file and noticed the “position_endstop” for x and y are both set to 0. I’ve seen it set to a negative value in other config examples, which makes sense to me as I would thing the lower left corner of the bed would be 0:0, not the endstops. Is this intentional, or can you set it either way with a pro/con to each?

You can adjust the config to suit your needs.
I did that in order to have a bigger printing volume, if I remember correctly.

thank you for the tutorial!

just signed up to say thanks and give you a heads up on the printbed coordinate x/y issue I was having. setting the min max etc in print config fixed it but if anything originally tried wiping in the sub x<20 values my first layer was going to be screwed for sure. but I see that you have been informed. in the config file: only other major value shift was the extrusion rot. dist. value in stock is 26.359 while yours is 7.619 just curious about the value difference reasoning?

also, I had severe corner under extrusion (or any 90deg turn) as a result of internal nozzle pressure it wasn’t until I found some slides about pressure advancement in marlin 1.5 that I could identify it as my k-test results were inverted (decel not accel). Shifting pressure advance to .065-.08 instead of .12 made them all smooth out and fix my corners. might be because i have an all (bi)metal hotend with my s1 so no inner lining in my nozzle end… idk still new to this.

But seriously wasnt thinking and did a slice in cura with my old settings and it was sooo slow to print i like 100+mm/s. thank you again.


Awesome tutorial. I managed to install klipper and level the bed.

I did encounter 1 issue. At the beginning of each print the nozzle cleaning occurs however since I got klipper this happens outside of the print bed. Where can I adjust this?

In start g-code?
Depends what profile are you using, or wether you are using a custom macro.

I found the issue. With the klipper it seem that X position 0 moved thus I adopted in CURA printer profile to draw the line/clean the nozzle a bit further on the X axis.