Creality Ender 3 S1 Pro: First steps
Ok, so we got a 3D printer for Christmas, a Creality Ender 3 S1 Pro.
It’s _not_ for the faint of heart.
Out of box
Putting it together was pretty easy. Attach the gantry to the base, plug in a few connections, put the filament holder on top, and you’re done!
Except, you should move the print head down to the bottom of the gantry to make sure that the gantry legs are appropriately spaced and not twisted. This meant detaching it and redoing.
Then there was adjusting the “rollers”. Being 3D printing newbs, it wasn’t clear exactly what we were looking for, or what we were trying to adjust for, or how. There are rollers underneath the print bed, and rollers on the gantry itself for each degree of freedom. We kinda figured it out, but the z-axis rollers still seem weird. There are 3 rollers on each side and we were instructed to adjust (using an eccentric nut) the rollers until they were relatively easy to move by hand. However, it’s not clear exactly what moving the eccentric nut does (I can infer but it’s still not clear) and how moving it changes the mobility of the rollers. And, in the end, we could get 2 of the 3 rollers to rotate reasonably freely but the third still seemed a bit more resistant.
And then there’s levelling. This wasn’t too bad: the Ender 3 S1-Pro has “auto-levelling” which isn’t _exactly_ auto-levelling but does help. You need to use the printer’s controller to manually level the bed using large dials beneath the bed to adjust the bed height until it’s more-or-less level, and then you use the auto-levelling functionality for the machine to *compensate* for how un-level the bed is.
After setting it up, it was time for a first print! We printed the rabbit benchmark that came with the printer.
It printed okay. The layers were reasonably visible, and there was clearly a defective layer around eye-level in the bunny. There was also a bit of bridging between the ears. Still, pretty exciting for a first print!
Creality Sonic Pad
And then, because I bought all the things, the kids wanted to use the Sonic Pad. 3D printing is a pretty maker-driven activity, and many of the bits and pieces are open source. One of these bits and pieces is the firmware that drives the printer. The printer comes with its own software, and a small touchscreen display/controller that provides basic functionality for the printer. The firmware it comes with is called “Marlin”.
There are, however, other firmwares available and other interfaces. These other firmwares can create better quality prints, print things faster, and allow for more control over the printing process. The interfaces can provide more information about your print, allow for remote monitoring through a web browser, web cameras, over-the-air uploading of files for printing, etc.
It’s not unusual to have a Raspberry Pi running a custom control software to handle this functionality but due to <waves hands in a vague gesture> all this (supply chain issues, chip shortages, etc) Raspberry Pis are actually reasonably expensive right now. Creality, the maker of the printer, has created its own add-on that allows you to run a custom firmware (Klipper) and interface called the Sonic Pad. This is a larger touchscreen/display with all these whiz-bang features.
Getting it all to work was a serious pain in the ass.
FIRMWARE UPGRADES FROM HELL
We did not upgrade the printer firmware out of the box. This was probably our first misstep.
Wait, let me back up. When you fire up the Sonic Pad, upgrades its own software and then it asks you what kind of printer you have. For the Ender 3 S1 Pro, you have two options, and the options correspond to the specific CPU on the mainboard inside your printer.
So which CPU do you have? You’ll not believe this, but to find out you need to take the underneath cover off your printer and look at the circuit board and read the part number off the CPU. There is apparently no other way to find out. This, of course, means removing the gantry because it’s screwed into the printer from the bottom. So, we removed the gantry, unscrewed and removed the cover. The part number is on the CPU, but that’s not what everything tells you to look at — no, it tells you to look at the part number on the board. Anyway, the number you’re looking for is on the CPU: the number circled in green below, not in red. In my case (and probably in all newer printers) it’s “STM32F401”.
So, armed with this important information, we re-assembled the printer and began the process again. As part of the set up, it wrote a custom firmware for the printer to a USB stick which we had to transfer to an SD card and put into the printer. We did so, restarted the printer and … the printer display showed 7 dots and nothing else happened. We weren’t sure what was supposed to happen exactly, but felt pretty certain this wasn’t it. The next step was to attach a USB cable from the Sonic Pad to the printer and the Sonic Pad should have detected the printer.
Disconnecting everything and turning the printer on resulted in the same thing. Black dots on the screen, nothing else. This, dear reader, is classic “you’ve bricked your device” behaviour. And frequently, it’s impossible to recover from this condition because the microcontroller usually has corrupted its ability to upgrade itself.
At this point, dread started to set in. We got a single mediocre print of a small bunny. A very pricey small bunny.
Some Googling by Aidan turned up lots of people with similar experiences with this “seven dots” problem. The best place for discussion turned out to be this YouTube video: https://www.youtube.com/watch?v=NmoRRFW4zTc
In the comments, it tells you to roll back to the “April” version of the firmware. The only one available on the Creality website, however, is the November 2022 version and this one, dear reader, did nothing for my problem. We found a link for a June version of the firmware, and it also did nothing. Scouring the comments further, however, I did find a link to the April version of the firmware, which I will post here for posterity:
To install this firmware you must:
- Format an SD card no larger than 8 GB, using FAT32 and 4096 block size
- Copy the firmware over to the card in a folder named “STM32F4_UPDATE” and both the file and folder MUST BE COPIED TO THE CARD AT THE SAME TIME
- Insert the card into the printer and turn it on
- Wait while nothing seems to happen
- Some 10-15 seconds later, the display roars to life and the printer boots normally
So. Very. Relieved.
There was still the matter of the non-functional Sonic Pad, but at least the printer wasn’t an expensive door stop.
Oh hey, I should print a door stop.
With all the researching the bricking problem, one of the other things that had been revealed was that even with normal updating of the printer’s firmware, this “7 dots” problem was common. It turns out, I think, that the newest printer firmware is incompatible with the firmware in the little touchscreen display and you must update its firmware FIRST before updating the printer.
And how do you update the firmware in the display? You must:
- Download the firmware package from Creality. Maybe from here: https://www.creality.com/pages/download-ender-3-s1-pro
- Read the upgrade instructions. Note that it says to put the SD card in the back of the display unit
- Turn the display unit over and over and over and note the absolute lack of any SD slot in the unit
- Hit Google and discover that you must open the display unit (4 screws on the back) to access the SD slot
- Discover the SD slot is a microSD slot
- Find yourself a microSD card that is smaller than 8 GB (we had one in an old handheld GPS)
- Format the microSD card as FAT32, 4096 block size
- Copy the “DWIN_SET” and “private” directories from the downloaded zip file to the SD card AT THE SAME TIME
- Insert the SD card into the display unit, close it up, reattach it to the printer, and turn everything on
- Wait a few minutes while the display updates. Fortunately it provides progress bars and status messages!
- Power down the printer, detach the display, remove the screws, open it up, remove the SD card, close it up, replace the screws, reattach to the printer
Huzzah! The display unit should be able to handle the printer firmware upgrade!
Now to upgrade the printer firmware, follow the steps above for the April firmware update, except use the “STM32F4_UPDATE” folder from the update zip file. Remember to copy the folder and file over at the same time, it seems to be important.
This should be successful, and now you should be running the most recent printer firmware AND be able to see stuff on the display unit.
The Sonic Pad still doesn’t work, however.
So we followed the instructions again and … it still didn’t work. Trying to apply the custom firmware got us back to the “7 dots”/bricked screen and undetected printer via USB state.
Using our newfound knowledge, however, it was easy to restore the printer to the most-recent firmware, so getting back to a functional state.
More furious googling ensured and we discovered that Creality had changed which of the 4 USB ports on the Sonic Pad should be used with the connection to the printer: USB1 (top, left side). This is DIFFERENT than what the instructions indicated. So we reflashed the printer firmware, plugged in the USB cable and … it still didn’t detect the printer.
Long story … well, okay, it’s not short by any stretch of the imagination … the USB cable we were using (provided with the Sonic Pad) included a micro USB (Sonic Pad cable) to USB-C adaptor (printer). When we replaced this cable + connector with a straight USB-A to USB-C cable that we had lying about the home, the Sonic Pad found the printer (reflashed again with the Sonic Pad firmware).
Now we had to go through the recalibration process. We did remove the gantry to check the printer’s mainboard, remember? Recalibration mainly involved re-leveling the print bed, which the Sonic Pad setup required anyway.
Note that the Sonic Pad recalibrates in a slightly different procedure. When it says to tighten the leveling screws, do it so that the springs are fully compressed, and then use the manual controls to bring the print head down to a paper’s thickness to the print bed. More leveling occurs in subsequent steps (including more autolevelling) but the first step is really poorly documented.
After this, it was pretty smooth sailing. Finished the setup, messed around with the screen interface, connected to the Sonic Pad from a web browser on a laptop and uploaded a standard benchmark file to try out.
Here’s the result. Frankly, it’s super impressive! No real problems at all other than some really mild blemishes on one side of the bow. No fibre bridging and super high detail!
And that’s day 1. Aidan’s printing a fidget spinner and we’re going to print a bracket to put an accelerometer onto the printer that the Sonic Pad can use to get its vibration characteristics to further minimize print defects at high speed.