The Ender 3 S1 and 3 S1 Pro are two of Creality’s latest versions of their original Ender 3 printer. The machines boast a lot of new features and improvements over previous iterations, including a powerful 32-bit motherboard.
This new motherboard differs from the V4.2.2 or V4.2.7 boards found on the Ender 3 V2, which means that some adjustments are necessary when installing new firmware.
Klipper is an increasingly popular firmware that enables faster print speeds by using an external computer (like a Raspberry Pi board). This external computer handles the G-code processing so that the printer’s own controller board can focus solely on the movement of the components. While installing Klipper on the Ender 3 V2 is well documented, setting up this firmware package on the Ender 3 S1 (Pro) from scratch has to be slightly adjusted. Or, if you want Klipper without having to worry about breaking something, Creality’s Sonic Pad is a ready-made solution.
In this article, we’ll go over what sets the S1’s board apart, why the Sonic Pad is an alternative you may want to consider, what you need for the firmware upgrade, and the steps to do so. We’ll also explain what the risks are, and we’ll wrap things up with some tips.
It’s worth pointing out that the firmware installation we’ll go over includes adding support for some of the S1’s new hardware, such as its auto-bed leveling sensor and filament runout sensor. Enjoy!
As mentioned, installing Klipper on the Ender 3 S1 differs from doing so on other Ender 3s due to the different motherboards.
Creality didn’t immediately publish the specifications for the new mainboard, and the hardware ports differ a lot from those on the older Creality Ender 3 boards. Although the company hasn’t publicly discussed it, it’s also heavily suspected that the processor on the S1’s board differs from other Creality boards. Based on the transcription on the board’s central chip, the S1 uses an STM32F401 chip while the V4.2.X boards use an STM32F103 chip. There isn’t much of a difference between the two, but the 401 is capable of faster data transmission.
The reason these differences are significant in the firmware installation process is that each firmware package has to be compatible with the board that it’s being installed on. When new printers with new motherboards come out, it usually takes at least a few months for a compatible firmware configuration such as Marlin to be built, tested, and released. For reference, Klipper’s configuration repository only added a reference file for the Ender 3 S1 in January of 2023, while the printer was available in late 2021.
According to TH3D, Creality has also modified the bootloader on the board so that third-party (non-Creality) firmware programs can’t be installed through the SD card slot. While this is true in general, some users were still able to install third-party firmware packages.
Some digging shows that early Ender 3 S1 buyers have boards with a different mainboard, some of which use STM32F103 and others STMF401 processors. Newer models all ship with STM32F401 chips, but it’s not clear when this situation stabilized.
If you’ve had your printer for over a year (or maybe you’ve just replaced the mainboard), it might be a good idea to open up the case just to read what processor it’s using and the pinout. This is important because configuring a 3D printer with the wrong pinout in Klipper can cause hot ends to heat without thermal runaway.
While we’ll be looking on how to work with STM32F401 chips, for those of you with STM32F103 processors, the instructions from the Ender 3 V2 will work, just make sure to use the Ender 3 S1 configuration file instead!
And if you’ve got an Ender 3 S1 Pro, you’re in the right place! While we’ll be focusing on the S1, the configuration file on GitHub refers to both, although it contains additional instructions on lines that need to be modified for the Pro, so pay close attention to those. The same file also contains the pin mappings for stock 2021 Ender 3 S1 Pros.
If you don’t feel comfortable opening up your printer or don’t want to put at risk the warranty by tweaking things yourself, Creality’s Sonic Pad comes pre-loaded with the necessary software to use Klipper on a variety of printers, including the Ender 3 S1. As such, you should expect a relatively decent out-of-the-box experience no matter which Creality printer model you install it on, and support from Creality should things go wrong.
Now that we’ve gone over the changes that Creality has made to the Ender S1 compared to the previous generations of that printer, let’s get into the process, going first over setting up the Sonic Pad and then looking into the more demanding way!
Creality realized that the Marlin firmware being shipped stock on its printers has limitations and is potentially missing features. However, Klipper demands a lot more processing power, so they can’t include it with their existing printers out of the box – the electronics can’t handle it alone. So they came up with a solution: the Sonic Pad.
Creality’s Sonic Pad is a single plug-and-play solution to use Klipper on their machines as well as on other brands. It’s a bit pricier than doing it from scratch (∼$160) and some choices have already been made for you compared to what you can do on a built-from-scratch installation, but it’s also a lot less cumbersome as everything you need is in the box in one go.
The Sonic Pad presents itself as a tablet-like device that has USB, Ethernet, and Wi-Fi built in to a touchscreen interface. It comes with KlipperScreen, a touchscreen GUI that interacts with Klipper exclusively.
On the Sonic Pad, Klipper is pre-configured with multiple printer profiles; you just need to select which one you want by following the official Creality manual.
It’s not a cheap upgrade at nearly double the price of a Raspberry Pi 4 (chip shortage notwithstanding), but it does bring in a safe and supported way to run Klipper on Creality machines. If a warranty or support from Creality is important to you, then this might just be the best way to run Klipper on your Ender 3 S1.
If you’re feeling a bit more adventurous, then there’s an alternative to getting the Sonic Pad. You’ll need a few more things before you’re ready, though.
It’s important to note that while you can use other SBCs than a Raspberry Pi, it’s the board we’ll be using in the tutorial, so you may need to tweak a few things. That said, the process for different boards shouldn’t be too different as long as you can install MainsailOS.
Once you have all the necessary supplies, we can get started installing Klipper on the Ender 3 S1!
The first thing you need to do is to set up MainsailOS. Let’s get into the step-by-step instructions:
While it’s not enough of a process to deserve its own official step, you’ll also need to find the IP address of your connected device. You can find it by following the steps below:
Write down the board’s IP address, as you’ll need this in a moment.
In the past, FluiddPi was an alternative to MainsailOS, but it has been labeled as deprecated by the Fluidd project itself. Therefore, it’s recommended to use MainsailOS. You can also use the instructions from the Fluidd project to install a whole image, you’ll need to adjust some of the items in the next step in that case.
Now we want to configure Klipper on the Pi and then compile it for your Ender 3 S1’s mainboard.
For Windows PC users:
For MacOS or Linux users:
ssh pi@<your Pi's IP address>
and press Enter. You’ll get a password prompt which won’t show anything as you type, this is normal.Once you’re up and running:
cd ~/klipper/
and then the phrase make menuconfig
.make
command.The third step in this process is to upload the new firmware to your Ender 3 S1 through MainsailOS’ web interface and other programs. We’ll install the reference Klipper firmware file to the printer and configure it later. Follow along below to complete this process:
On Windows:
On MacOS/Linux:
scp pi@<your Pi's IP address>:/home/pi/klipper/out/klipper.bin ~/Downloads/klipper.bin
After you’re set up:
There are two ways to tell if the flash was successful. The safest is to plug in the USB cable and follow the process, without getting any “serial connection” errors. The other is to wait two minutes after turning on the printer, then take the SD card out and check on the computer if the original filename was changed.
The final official step to installing Klipper on your Ender 3 S1 and Raspberry Pi board is to configure the firmware to support your specific printer.
Since January 2023, Klipper has included a reference configuration for the Ender 3 S1, as you’ll see below.
That’s it! You’ve successfully installed Klipper on your Ender 3 S1. It’s worth noting that this configuration file has added support for the automatic bed leveling sensor and filament runout sensor that come with the Ender 3 S1.
To control your printer, you’ll have to use a web interface because the stock LCD display on the Ender 3 S1 isn’t supported by Klipper at the moment. You can continue reading to learn how to do this with MainsailOS!
Mainsail is a great web interface that allows you to remotely control your Klipper-running 3D printer. While Mainsail is one of the most popular options, other Klipper-compatible remote control interfaces also exist, such as Fluidd. We’re only going over the configuration process for Mainsail, but the process is very similar for these other programs.
To use Mainsail, you have to make a few changes to the configuration file of Klipper to make the two programs work together. You can follow the steps below to do just that:
[include mainsail.cfg]
And that’s really all there is to it! You should now have a Mainsail-compatible version of Klipper that you can use with your Ender 3 S1.
Lastly, we’ll go over some tips and tricks that might help you during and after the Klipper installation process. It’s important to mention that because this upgrade is community-driven and not officially supported by Creality. We can’t go over every issue, but below are some of the most common ones:
ls /dev/serial/by-id/*
command phrase into PuTTy. If the response is a phrase like /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
, then the two devices are properly connected.As with any major change to your 3D printer or its environment, it’s also a good idea to print a few test models before moving on to regular use. This will allow you to check that the components on the printer are working properly. Happy printing!
License: The text of "Klipper on Ender 3 S1 (Pro): How to Install It" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.