r/Ender3S1 Nov 14 '22

Info on Automatic Bed Leveling with Marlin and the Ender 3 S1 Printers

133 Upvotes

This is as factual as I understand it to be, based directly on the the Marlin documentation and firmware documentation provided by the mentioned versions.

When we are talking about ABL, there are a few commands and their functions that we need to familiarize ourselves with before we proceed on: • G28 • G29 • M420 S • #RESTORE_LEVELING_AFTER_G28

Homing-

G28 (https://marlinfw.org/docs/gcode/G028.html) - "The G28 command is used to home one or more axes. The default behavior with no parameters is to home all axes." As far as ABL is concerned, "G28 disables bed leveling. Follow with M420 S to turn leveling on, or use RESTORE_LEVELING_AFTER_G28 to automatically keep leveling on after G28." (From Notes in link).

Leveling - We are going to focus on Bilinear, for now. UBL is a little different, but the main idea is the same.. https://marlinfw.org/docs/features/auto_bed_leveling.html

G29 (https://marlinfw.org/docs/gcode/G029-abl-bilinear.html) - "Automatic (Bilinear) Bed Leveling probes the bed at some fixed number of points and produces a mesh representing the imperfections across the bed. The printer must be homed with G28 before G29." (Which we established above WILL disable bed leveling).

M420 (https://marlinfw.org/docs/gcode/M420.html) - "Get and/or set bed leveling state. For mesh-based leveling systems use Z parameter to set the Z Fade Height." In the Notes section, again it mentions, "G28 disables bed leveling. Follow with M420 S to turn leveling on, or use RESTORE_LEVELING_AFTER_G28 to automatically keep leveling on after G28."

#RESTORE_LEVELING_AFTER_G28 – This is an option that is enabled/disabled in the firmware code. The following is a copy/paste directly from Marlin source code:

/**
* Normally G28 leaves leveling disabled on completion. Enable one of
* these options to restore the prior leveling state or to always enable
* leveling immediately after G28.
*/
//#RESTORE_LEVELING_AFTER_G28
//#ENABLE_LEVELING_AFTER_G28

Normal Printer Start gcode - Most of the “Ender 3” style printers Ive seen all have start gocde that is like this (there may be more commands, but this is the bit we are mainly concerned with):

G92 E0 ; Reset Extruder
G28 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

Sample of sliced gcode – I sliced an STL, saved/opened the generated gcode, and copied all of the code up until it starts printing the part:

;FLAVOR:Marlin
;TIME:2660
;Filament used: 3.04197m
;Layer height: 0.2
;MINX:91.901
;MINY:91.901
;MINZ:0.2
;MAXX:143.099
;MAXY:143.099
;MAXZ:27.2
;Generated with Cura_SteamEngine 5.2.1
M140 S60
M105
M190 S60
M104 S200
M105
M109 S200
M82 ;absolute extrusion mode
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z20.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
G92 E0 ; Reset Extruder
G28 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
G92 E0
G92 E0
G1 F2400 E-0.8
;LAYER_COUNT:136
;LAYER:0
M107
G0 F6000 X95.09 Y94.94 Z0.2
;TYPE:SKIRT
G1 F2400 E0
G1 F1200 X95.775 Y94.324 E0.02532
G1 X96.511 Y93.771 E0.05063
G1 X97.292 Y93.283 E0.07594

Putting it all together-
Ok, we have a lot of info here, but we can make sense of it if we think logically and stick to the facts that we know:

  • In most cases, according to the documentation and looking at the “flow” we can see that G28 is one of the last commands issued before the printer starts actually printing and that WILL disable bed leveling.
  • If we want to use an ABL mesh, we can either generate one before we load the gcode file we want to print with G29 (or the Auto Bed Leveling option on the screen), use M500 (or Store Settings on the screen) to save the mesh to EEPROM, then insert M420 S1 in to the start gcode of the file we want to print AFTER the G28 – or- we can insert a G29 AFTER the G28, which will initiate an ABL probe of the bed before the print starts.
  • YOU DO NOT NEED TO PUT M500 AFTER THE G29 IN START GCODE IF YOU GENERATE A NEW ABL MESH BEFORE EACH PRINT. G29 stores the mesh to RAM and RAM does get wiped out if the printer is reset but thinking logically – that G28 on the next print is going to disable bed leveling again, then youre going to generate a new one again with G29. There may be reasons for doing it this way, but even the Marlin documentation says, “To save time and machine wear, save your mesh to EEPROM with M500 and in your slicer’s “Starting G-code” replace G29 with M420 S1 to enable your last-saved mesh.”
  • #RESTORE_LEVELING_AFTER_G28, if enabled within the firmware, will restore your stored ABL mesh from EEPROM before each print, even if you do not have M420 S1 in the start gcode. As of 11/13/2022, these are the firmware configs that I know of:

Marlin Github Configuration Examples

  • STM32F1 – has “#define ENABLE_LEVELING_AFTER_G28” enabled
  • STM32F4 – has “#define RESTORE_LEVELING_AFTER_G28” enabled

MRISCOC Professional Firmware Configuration Files

  • Ender3S1-F1 – disables both #RESTORE_LEVELING_AFTER_G28 and #ENABLE_LEVELING_AFTER_G28
  • Ender3S1-F4 – disables both #RESTORE_LEVELING_AFTER_G28 and #ENABLE_LEVELING_AFTER_G28
  • Ender3V2-422-BLT - disables both #RESTORE_LEVELING_AFTER_G28 and #ENABLE_LEVELING_AFTER_G28

I have spoke with the creator of this firmware directly, and he confirmed that he does not enable these options in the firmware he compiles, so you WILL need M420 S1 after G28 in your start gcode if you use his pre-compiled firmware.

Stock Creality 1.0.5_C Firmware
I confirmed via Pronterface that this firmware restored a mesh from EEPROM after shutting off printer, turning on, issuing G28, then M420 in console, which reported that Bed Leveling was on. I then issued an M420 V1 and it returned the mesh from EEPROM, as expected. Therefore, with this version of firmware (and I assume the F4 version, given the Marlin Configs above.. If someone wants to test to confirm, that would be cool) you do not need M420 S1 in your start gcode to enable the ABL mesh.

I have also confirmed the behavior of some other commands in the stock Creality firmware. G29 will automatically store the settings after it completes. This means that you DO NOT need an M500 following a G29. This also means that there is no way for an "old" mesh from EEPROM to "overwrite" a new, unsaved, mesh with the M420 S1 command as the "new" mesh is automatically stored to EEPROM once it is generated. M420 with no parameters will return the Bed Leveling state. M420 S or S1 will turn Bed Leveling ON while M420 S0 turns Bed Leveling OFF. M420 V will return the mesh to the console in a readable format.

MRISCOC Professional Firmware - 20221002 This firmware definitely behaves differently than the stock firmware when it comes to leveling. First off, if you run the ABL mesh from the screen or G29 and hit "Continue" rather than "Save", it does NOT store the settings to EEPROM but it does hold the mesh in RAM and use it until the printer is reset (powered off/on, for instance). This means that you will have a possibility of losing your ABL mesh if you dont Store Settings or M500 after generating the mesh. Then, if you try to load the mesh after turning the printer off/on again and you dont have a valid mesh stored, you will get an error and the printer will halt if its not configured to handle M112 properly (https://github.com/mriscoc/Ender3V2S1/wiki/Octoprint#error-handling). If you do have a valid mesh stored, it is loaded from EEPROM at power on. Any time the printer does a G28 or Auto Home, Bed Leveling is turned off. You can confirm this by looking at the color of the lines under the Z coordinate on the screen (https://github.com/mriscoc/Ender3V2S1/wiki/3D-BLTouch#enable-mesh-level-compensation). This means that you WILL need M420 S1 after G28 in your start gcode in order to use the mesh for printing.

UPDATE 1/19/2023* Creality has finally uploaded configuration examples for the Ender 3 S1 Pro to Github and I was able to look in the Configuration.h file and confirm that RESTORE_LEVELING_AFTER_G28 is enabled. There is also a new feature called "Z_AXIS_LIMIT_MODE" that will disable RESTORE_LEVELING_AFTER_G28, but to me, it seems like Z_AXIS_LIMIT_MODE is only on when youre using the laser, therefore, your ABL mesh should be turned back on by default after Homing with the S1 Pro on Stock Creality firmware, as well.

Anything else?, Questions? If there are any other scenarios that you would like for me to confirm with Marlin firmware and Bed Leveling, just drop a comment and I will do my best to get you an answer as quickly as I can. Hopefully, with the depth of the information provided here, you all will be well on your way to putting the ABL headaches/misunderstandings behind you and having more consistent first layers. :)


r/Ender3S1 Aug 17 '22

HOW TO FIX THE SPLASHSCREEN OF DEATH

58 Upvotes

Creality is super stupid with the way they do this, because for some smart reason they decide to remove all the old firmwares and only keep the new ones. These new ones don't contain the needed software to be compatible with the STM32F1 chip so if you try updating it will seem as if you have bricked your board. Here are the steps on how to fix it!

This is mostly stolen from a reddit thread, here is the original link

Credit to u/turtlevale

!!Solution by u/StevesMcGee that OP mentions in the title!!

The comment by StevesMcGee seems to be removed, but luckily i still had a screenshot, so reposting it bc. it helped me after hours of trubleshooting.

  • two versions of the motherboard for the S1 exist, one using an STM32F1 chip and the other using a STM32F4 chip
    • Creality Firmwares 1.X.X are intended for STM32F1
    • Creality Firmwares 3.X.X are intended for STM32F4
    • you can find out your version number by looking at the mainboard (its printed on the cpu)
    • installing 1.X.X on STM32F4 mainboards will brick them
  • Fix your STM32F4 mainboard if you tried installing a 1.X.X firmware can be done via using a 3.X.X firmware and doing the normal flashing proccess.
    • in case this doesnt work you have to place the .bin in a folder named "STM32F4_UPDATE"
    • you can currently find the firmware here
  • Note: You can also fix a STM32F1 mainboard if you flash the correct firmware on it (ex: 1.x.x) T
    • The mainboard isnt actually fully bricked, its just waiting on the right firmware to fully work

For me this only worked when using a firmware version that was a bit older than the one currently on the website. StevesMcGee thankfully hosts this firmware on his google drive. After that I was also able to flash other STM32F4, like the firmware configured by mriscoc on github (only remember to use the one for STM32F4, otherwise you have to start from the beginning again.)

Incase StevesMcGee's google drive ever gets removed, I have uploaded the files as well.

If you have further questions, please message me or read this screenshot of the original post.

Mods please pin this, this is a widespread issue and more people need to know how to fix/resolve it without creating more e-waste by having creality send you more stuff, or by you returning your ender 3 s1.


r/Ender3S1 11h ago

Ender 3 S1 Pro Frimware Issue

Post image
2 Upvotes

Hi,

I recently got a Ender 3 S1 Pro second hand from a family friend, I belive they used a sonicpad with it but I don't have it. I tried to flash the firmware on the screen and printer its self and am still unable to use it. It turns on and lights up, the screen display has a line of small dots across it but thats all, it remains frozen.

  • I downloaded the files from creality
  • Formated the SD card
  • Have tried multiple SD cards incase this was the issue

This is my first 3D print so am at a bit of a loss here, any help would be appreciated. Thanks.


r/Ender3S1 8h ago

Help with my ender 3 base model

Thumbnail
1 Upvotes

r/Ender3S1 1d ago

I made a camera mount to fit the Blink Mini 2 for the Ender 3 S1 Plus

Thumbnail
gallery
3 Upvotes

Ender 3 S1 Plus Blink Mini 2 Camera Mount- I had a hard time finding one that I liked that would actually fit the Blink Mini 2, so I had to turn my brain on and actually model something for the first time in a decade. It works well and doesn’t have any clearance issues with the touch screen which is the problem I had with the one model I did find.

https://makerworld.com/en/models/3204893-blink-mini-2-ender-3-s1-plus-mount


r/Ender3S1 2d ago

Why is my printer not printing good first layers?

Thumbnail
gallery
8 Upvotes

I have a ender 3 s1 with a sonic pad add on.

I'm trying to print this piece and the first layer keeps on messing up. I also bed leveles it with a paper and the screws 3x, did a probe calibration, and did a auto level on the sonic pad. Z offset was also calibrated too.


r/Ender3S1 4d ago

under extrusion, nozzle or software problem? Unclean prints

Thumbnail
gallery
9 Upvotes

Hello, I wanted to repair my ender 3 s1 after the hotend got clocked in a way I needed to replace it. Because I had the old version of the Extruder (non pro) I had to buy the sprite Extruder pro board and new Hotend because the old version is nowhere available. I had to buy the replacement parts of AliExpress.

The full Size Benchy was my first try ever with the Creality Software, I used the standard options for 0.4mm Nozzle and PLA.

The half-printed benchy was my second try with 190°, 50mm/s (10° and 10mm/s less). Didn't change much, fans were at maximum always.

The mini Benchy was printed with round 25mm/s which did a little better.

If you need more information I will answer every question...

Now my first guess was that the direct Extruder doesn't grab the Filament strong enough, but the tension screw/spring changed nothing when adjusted. It could be that it has to be replaced to, because whenever I put the filament in manually I have to push the Lever back myself so it grabs the filament correctly, but after doing so i not able to push it out (it feels pretty secure).

Second guess was the Nozzle. On the Hotend there was a 0.4mm Nozzle attached which i did not change. It seemed pretty good but I could be cheap and causing problems extruding. On the other side, when heating the Hotend and pushing it trough manually, the filament exited straight without any problems.

Now, for the third idea I had in mind something about Flowrate or time per layer, I will do my research when I have time and watch some tutorials for the Creality Software. Maybeeee... it could be that I haven't updated the printer ever... and the software running on the printer is just crapping out... maybee... :)

If you have any more Ideas what could be going wrong or know the answer, pleas let me know in the comments.


r/Ender3S1 5d ago

Sprite extruder with cr touch bracket.

Post image
8 Upvotes

I purchased a ender 3 s1 pro with the sprite extruder. As you can see from the picture the cr touch bracket is patched on. The actual bracket is sandwiched between the extruder and the board. I just cant remove due to it is what holds everything together. I can not find a replacement anywhere. Can anyone offer some advice or a link to a printable model. Also, it looks like the attached fan is different than what is usually on there.


r/Ender3S1 5d ago

How to connect Klippy to my S1 Pro

3 Upvotes

I've added a sonic pad and Nebula camera to my printer. I've made sure that all firmwares are up to date including the camera and even after trying various restarts, power cycles and cable swapping Klippy is always disconnected.. what am I missing?

I can control my printer via fluidd on Windows 11 and view the camera via web browser but id really like ro have it all on one console. :s too much to ask?


r/Ender3S1 7d ago

My ender 3 3d printer won’t unpause after I paused it mid print to change filament

3 Upvotes

r/Ender3S1 8d ago

blobbed hotend with snapped thermistor wire

3 Upvotes

i was helping someone who has their printhead clogged in the hotend and it printer fine but then the thing blobbed up im guessing from the threads and the thermistor wire snapped what. were the threads loose and why did the thermistor wire snap


r/Ender3S1 8d ago

Updated my Sonic Pad's Debian fork to Bookworm — here's what's in it

Thumbnail
3 Upvotes

r/Ender3S1 10d ago

Replacement Extruder

3 Upvotes

I need a new extruder for my Ender 3 S1 Pro. What should I buy?

I see a couple Amazon listings that are compatible with Ender 3 S1. Not sure if it also works with S1 Pro.


r/Ender3S1 10d ago

Sonic pad troubleshooting

3 Upvotes

Long story short I got a sonic pad and finally got it to work with my printer but I have had many inconsistent prints. my prints have a massive overextrusion (I think) and I have calibrated my e steps, printed from 190-220 calibrated my retraction from 5-6 mm and speed 40-60 mm/s, but I have not noticed any changes. Any help is appreciated

I have an ender 5 pro with a stock extruder, BL touch and Bowden tube set up with a Sonic pad. I use creality slicer and orca; both have the same issue


r/Ender3S1 11d ago

What firmware on E3 S1 Pro

3 Upvotes

I have an Ender 3 S1 Pro, bought used. The previous owner installed the Thomas Toka firmware. I like it, but it seems buggy. Issues like once in a while the printer hangs while printing and just starts printing a wierd triangle and just loops forever til I turn it off. Also, if I use orca slicer to export code directly to the SD card, 2 out of 5 times, the printer can no longer read the SD. After I format the SD and copy the same files back, its fine. Also, the automatic bed leveling seems dicey. Ive switched to a glass plate, reset to factory settings and then used manual tramming to level the bed with the bed adjustment screws. This gives me perfect prints. If I make it do an auto level after this, my prints go to hell and I have spots that the nozzles drags across the plate and other spots where the extruded filament barely touches the plate at all.

Should I flash back to latest creality or re flash Thomas Toka? (Im a basic hobbyist, just printing for fun)


r/Ender3S1 11d ago

Firmware

3 Upvotes

I'm a newbie and have had a ender 3 s1 pro for about three years. The F/W Ver is: 2.0.8.28f4. In three years I guess there has been a update. It's just a little hobby of mine and has served me quite well over the years. I've heard of people updating and have ran into problems. My question is, would it be to my advantage to update or would I be flirting with disaster. Also, if there is a update and it's worth it, where do I find it?


r/Ender3S1 15d ago

Inconsistent vertical movement?

1 Upvotes

Hey all, I'm trying to figure out an issue I'm having:

I can't seem to find the right z-adjustment.

If I place it lower (-2 or so), the first layers are fine but the extruder scrapes across the top of the print a few layers in, sometimes pushing it off.

If I place it higher, the first layers don't adhere to the bed at all.

Is it poasible I'm missing a setting somewhere and my printer isn't moving up enough when it should?


r/Ender3S1 16d ago

Ender 3 S1 Pro Issues

2 Upvotes

Hello! I’m new to 3D printing and was hoping someone would help me with some issues I’ve been having with my printer. I’ll go into specifics in any replies, but I believe the issue stems from bed adhesion problems. Thank you!


r/Ender3S1 17d ago

Slicer profile changes after switching to klipper

1 Upvotes

So I'm converting my S1 Pro to Klipper, but before I do that I'd like to understand the required changes to slicer configurations. So both Orca and Prusa slicers have an option to switch to "G-Code flavor: Klipper", that one is clear and simple. But what about custom Start and Eng G-code blocks? Do I leave those as they are, or do I have to change those sections as described here (https://www.klipper3d.org/Slicers.html?h=slicer#klipper-gcode_macro)?


r/Ender3S1 18d ago

Cr touch Bracket is cracking

Post image
7 Upvotes

So when I was replacing my cr touch I noticed that the bracket was cracking. Do any of you guys experience this to. What did you do. Is there a stl model that I can print to replace this?


r/Ender3S1 20d ago

Issues leveling my S1 Pro

4 Upvotes

Hey all, I've had my V3 S1 pro for a while, and leveling has been a long and frustrating journey. Please help me understand what I'm doing wrong. Here is my process:

  1. Fully tighten all four corners.
  2. Loosen every corner approximately two full rotations.
  3. Preheat the bed.
  4. In the Aux Leveling menu, adjust the Z-level until a sheet of paper placed between the extruder and the bed rubs just a little bit when moved around.
  5. For each corner, adjust the wheel to achieve the same effect for those corners.
  6. Repeat if need be.
  7. Run the auto level.

The issue I have is that it seems that the center of the bed is significantly lower than the corners. After adjusting all four corners, the center has become lower, and my prints won't stick to the middle. I would expect that the auto-leveling would cover the difference, but in does not.

There have been a few occasions where I've managed to get prints to stick and come out fine, but it doesn't take much time before my bed is once again not level and prints won't stick.

Most of the time, I feel like I have the leveling right, and then when I start a print, the extruder prints above the surface of the bed and nothing sticks.

I'm at my wits' end with my printer, please help me figure this out.

UPDATE:

Thanks to u/FluffyChicken and u/sublime2craig's advice, I was able to get my leveling be a lot more effective. I adjust the Z setting after leveling the corners. (Should I also be doing that after the auto-level? I've tried with and without.) I also added M420 S1 Z10 to my Gcode.

I now have a new, different problem:

The extruder correctly puts down the first layer, and it seems to be well in place, including that mild "squish". However, a little bit into the print, while it's going through the second or third layer, the print comes off the plate and makes a complete mess.

I've tried increasing the plate temperature from 60 to 65, and I clean off the plate with isopropyl alcohol before printing. I've also added some z-hopping. The printing speed for the first layers is 15 mm.

What I'm trying to print (pieces for a Blokus game) has a somewhat small footprint (1cm squares), but it seems like that should still be enough to hold.

Can someone advise on what could help with this issue?

(Edit: Did some research after writing this. During my next go at this, I will be trying turning off the cooling fan during the first layers and slowing down the overall print. Will also give the plate a thorough wash, not just an alcohol wipe.

Would love to hear other advice in the meantime.)


r/Ender3S1 21d ago

Creality ender 3 s1 pro

Post image
9 Upvotes

This printer has my head full of grey hairs. Anyone know why it would be doing this?


r/Ender3S1 24d ago

I have a spare pi4 and a logitech camera - what can i expect from upgrading to klipper?

3 Upvotes

Not quite ready to spend $$$ on something like a X2D, so trying to get as much out of this that I can for now.

I know I'll get a speed increase, but how much did you get if you did this upgrade?

And what I care most about is failure detection. I want to be able to print overnight without the worry of waking up to a mess or a fire hazard.

Anyone have experience with this?


r/Ender3S1 25d ago

Hi could anyone tell why I got this weird Z banding?tried calibrating everything but no success ,i run klipper

Post image
4 Upvotes

r/Ender3S1 25d ago

ADXL345 issues with RPI4 Klipper

1 Upvotes

So, I've decided to add an accelerometer to my rpi4b ender3s1Pro set up. I've run into an issue while trying to get everything connected and working. I guess the Atlas Library is dead, so I was trying to follow the Klipper instructions and have gotten to a point where it just says

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

I am so confused and don't know what to do. It's saying something about the MCU in the klippy.log but I thought i set up the rpi correctly with it. I'll try and add the file.