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 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:
- Raspberry Pi (any Pi version will work)
- MainsailOS or FluiddPi – In this guide I will use MainsailOS and a Raspberry Pi 4.
- Stock Creality Ender 3 S1 3D Printer
- Quality Power Supply for your Raspberry Pi
- Type C cable which fits the Ender 3 S1
- 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:
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:
Install Mainsail or Fluidd
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.
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.
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.
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.
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.
Navigate to /home/pi/klipper/out and copy the klipper.bin file on an SD card.
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.
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.
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.
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:
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?
|
|
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!
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!
Thanks for sharing your experience.
I finished my Ender 3 S1 Pro review, so I can start tinkering with Klipper on the xxx401 board
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.