Get EVERY 3D printing first layer perfect with a Z probe & Babystepping !

Print Art
4 min readApr 18, 2018

--

Capacitive Proximity Sensor 1–10 mm range 18mm diameter

Like most people ( everyone ) i used to struggle a lot to successfully start a print & get it to stick perfectly to the bed without getting gaps between lines or for the first layer to be too low but with a Z probe, that’s over now.

I wrote this tutorial to (try to) show you how to get a perfect first layer ( which you can then photograph to brag on facebook groups ;) ), the trick is to follow a suite of instructions/protocol to make it perfect.

Babystepping menu

Before starting you need to have Marlin on your printer & a perfectly calibrated Z probe/Bl touch which you can do watching this video of Chris Riley : https://youtu.be/G-TwWfUzXpc

Now let’s start !

1 ) Manually level your bed (the very last time !) with a thin paper sheet, this will help us get a good calibrated bed to start with.

2 ) Home all your axes then run Auto Bed Leveling on your printer’s screen to have a “hardware & software” calibrated bed.

I commented this step in the start printing G-Code & only do it when i see that the printing is irregular on bed surface.

3 ) Now you can start your print ! but you need to add a 10–15 ( or more if you want ) skirt to your print so you can then use babystepping. The horizontal offset space between the part & the skirt doesn’t need to be 0 as it only helps us to get the good Z height, if you have a good sticking bed without a skirt, just space it to 10 mm, if you have troubles to get your parts stick, just use 0.2 mm space between the part & the skirt so it can hold it during printing & still be easy to remove.

babystepping is a marlin feature that allows you to adjust Z height live in the print, very small step by step. To activate it, edit marlin’s configuration_adv.h file.

4 ) To make it easy to adjust your Z height we will lower the feedrate ( your printer’s speed ) to 50 % with the LCD screen’s wheel.

If you don’t have a wheel on your screen then you need to reach the feedrate control by the menu (or just reduce first layer speed in your slicer), same thing for babystepping.

5 ) Click once on the wheel then twice to open babystepping menu on your screen then you can start to adjust Z height simply by turning it left or right. If you can’t see your filament or it looks like transparent then your are too low, if you can see gap between your lines and the still look “round” then you are too high ! the perfect layer would be when you see no gap between the lines & it looks like one single sheet of PLA.

If the resolution of the babystepping seems too low to you then you can multiply it on marlin’s configuration_adv.h file.

6 ) When the print is perfect you can now return to home menu & use the wheel to go back to 100 % feedrate/speed.

Here is the “protocol” & G-Code i follow on every print :

  • Preheat hotend & bed
  • Clean bed, use some Hair Spray and lay it down with a sponge
  • “menu” => “print from SD card”
  • For every STL file i print, i use this script as starting script :

G28 ; home all axes
;G29 ; auto level bed ( uncomment this if you want to auto-level your bed before every print, i choose to do it manually in the printer’s menu once in a while )
G28; home all axes
G1 X107 Y106 ; center X & Y axes (edit X & Y values to your bed’s center values)
G4 S5 ; wait 5 seconds ( i use this so i can fast clean my nozzle from filament before the print starts)

  • Wait for the printer to start printing then => “menu” => double click to enter babystepping menu & adjust Z height

Perfect ! you can now sit & watch the layers lay down one by one :)

I hope you enjoyed reading this article, if you need more explanation or have questions please ask them in the comment section, i’ll be glad to answer to them :)

--

--