FreeABL - the ultra cheap (free) ABL for Ender 3
Made by D3Dorsett, uploadedDescription
I have a BLTouch on my other Ender 3 and thought I would try the ultra cheap (free) ABL for Ender 3 on my other printer. Wow, it works great. It took a few tries to get the timing right. I used my Raspberry PI with Visual Bed Level and that combination makes for great prints.
If you happen to break off the little silver tab, do not worry. In the Marlin firmware, use this adjustment instead...
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]"
One last suggestion, I changed my start up GCODE just a little to include a "BEEP" and 30 second wait, before continuing...like this...
;Before print job starts
M117 Heating the bed ; message
M140 S60 ; start heating the bed
M104 S200 T0 ; start heating the nozzle PLA
;M104 S240 T0 ; start heating the nozzle PETG
M190 S60 ; wait until bed reaches 60
M109 S200 T0 ; wait for T0 to reach 200 PLA
;M109 S240 T0 ; wait for T0 to reach 240 PETG
M117 Bed Leveling Started ; message
G28 ; home
;G29 ; Leveling the bed
M420 S1 ; bed level state ON
G1 X110 Y20 F6000 Z10; Move to the front and center
M117 Remove Probe ; message
M300 ; Beep
G4 P30000 ; Wait 30 seconds
M117 Bed Leveling Done ; message
M117 Prime the Extruder ; message
G92 E0
G1 E15 F900; Puge Filament
G92 E0
M117 Ready to Print ; message
Good job stevohen !
Print Settings
Printer Brand:
Creality
Printer:
Ender 3
Rafts:
No
Supports:
No
Resolution:
.2mm
Infill:
20%
Hey Unfortunately I broke the silver tab, how does your “ Z_PROBE_OFFSET_FROM_EXTRUDER 0” solve that problem?
In stevohen's orginal code the value is -5. By setting it to 0, it makes up the difference in size for the metal piece that gets broken. So, find this line in the Marlin firmware and change it.
Thanks a lot, I've been using this for weeks now and it works surprisingly well. I even put on a glass bed for a few prints, it levelled no problem.
Thanks for your awesome suggestion! I'm definitely adding it to the post!
EDIT: I have also discovered the M0 gcode, which will wait for the user to press the LCD button. I think it will work even better but I will still need to test