The easiest auto levelling calibration tutorial ever

Adding Go Faster Stripes to your 3D Printer
Post Reply
Posts: 26
Joined: Thu Feb 08, 2018 3:07 pm

The easiest auto levelling calibration tutorial ever

Post: # 548Post ModMike
Mon Feb 19, 2018 2:05 pm

I recently setup auto-levelling and love it, every single print has stuck to my bed since.

In a previous post, I detailed a rather long and cumbersome process cobbled together from a few youtube videos I watched to learn how to calibrate my offset. Following the process, I needed to pull the head because of a clog. During the requisite re-calibration, I realized that the tutorials were extremely convoluted and confusing for nothing.

Once you realize that you are looking for the difference in the height of the nozzle from the sensors DETECTION point, you are golden.

The physical installation and software configuration of the sensor in Marlin is outside the scope of this tutorial.


- The Auto-Calibration configuration may and will probably exceed the room in your Anet controller's memory. Please read and understand how to install and use the Anet optiboot option before you upgrade to Marlin or you will brick your board.

- Make ABSOLUTELY sure your sensor is properly installed and functioning as a Z endstop before you proceed. Failure to do this may, and probably will, crash your head!

1) Home your printer using the LCD or by sending the G28 command from the terminal of your choice, then level your corners. Autohome again.

2) Move your head somewhere near the middle of the bed to make it easier to work. Use the LCD or send G1 X100 Y100 Z0 to send the nozzle near the centre of the bed and the Z axis at 0 height.

3) Send the command M119 S0 to disable Min Software Endstop. This is critical because your offset will always be below 0 for an inductive sensor. Failure to do this will prevent you from lowering your head below 0.

4) I prefer to use my lcd for this step but configurations vary. Select Prepare, Move Axis, Z axis, and .1mm.

5) Put a piece of paper under the head and turn the knob to the left to lower the head until you feel a light drag on the paper. Write down the resulting negative number.

6) From the LCD navigate to Control, Motion, Z-offset and enter the number. Save settings to store the value and load settings to load it.

7) Insert the following commands at the beginning of your slicer's starting script:

M140 S[bed0_temperature]
G28; home all axis
G29; Autolevel

This will bring the bed to temperature before auto-levelling to account for bed warping. Remove any additional or following G28 commands, they are redundant.

8) Send the command M119 S1 to enable software minimum endstops.

Your done!

A few notes:

- Results can vary wildly but it must be negative, even though the sensor is HIGHER than the head. This is because we are looking for the offset of the detection point which is in the metal plate and always below the head. This is what most people, including myself, misunderstand when setting up a sensor fro the first time.

- Unless your heater somehow interferes with your sensor, you DO NOT need to heat your bed or hot end to calibrate. The detection offset between the nozzle and sensor will be the same regardless.

- The above very much withstanding, the bed must be at temperature before auto-levelling when printing to account for the warping of aluminum beds. See step 7. I do not heat the hot end before to prevent oozing while auto levelling.

- As a point of reference my first value was -0.29 and moved to -1.22 when I repositioned the sensor.

- If the value is close is -.3 or less, try to move your sensor up a little so get a value of -0.6 or more. This gives you a little maneuvering room to finesse the head to plate gap if you need to.

- Marlin seems to be a bit wonky. A few times I tried to put the value in firmware and it just didn't take for some reason. It could be that I had other issues but I like the idea of putting it in the LCD because I can easily change it to adjust the gap if I need to.

- I saw a few posts bemoaning the time it takes to auto level before a print. If your speeds are set properly it's actually under 30 seconds and always fun to watch. And finally, Really? You would rather fuss with manual levelling and baby stepping rather than automate it to get a more accurate and consistent result in the end?


Post Reply