So I have an AnyCubic i3 Mega to which I added a BLTouch v3.1 and Marlin (1.1.9 due to older, Atmega 8-bit CPU) using instructions and such from this link.

Finally, I've got everything moving in the right direction, I got the auto-bed leveling (bilinear) going (did a 7x7 grid), saved the mesh, tuned the bed and extruder PIDs. Great! Add the G-code into Cura to load the settings and activate the mesh.

Start the printing, goes to home fine, gets up to temp, and then it moves into position to start the print and it suddenly jumps up in Z-height above the bed several millimeters. I pause the printing via OctoPrint, try and use the control tab to adjust the height, not responding. Canceled the print. Used the M114 command to get the position.

Here it is after I hit cancel.

Recv: X:180.63 Y:171.85 Z:0.00 E:9.71 Count X:14450 Y:13748 Z:2120

Here it is after I use G28 to home

Recv: X:-5.00 Y:0.00 Z:0.00 E:9.71 Count X:-400 Y:0 Z:0

Here is the Start G-code settings from Cura

G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
M501 ; bltouch mesh load
M420 S1 ; bltouch mesh load
G1 Z15.0 F{speed_travel} ;move the platform down 15 mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3 mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{speed_travel}
G0 Y20 F{speed_travel}
M117 Printing...

It's almost like the Mesh Z-offset is wrong. I do have a probe Z-offset of -4.60, set via M851. I set this, and then I did G29 to re-do the ABL.

With me being new to ABL and Marlin, what did I forget? Maybe I did something wrong?

  • $\begingroup$ As a comment, homing is defined as G28 or followed by an axis letter as a flag, not a zero/digit/number after the letter. The X, Y, and Z parameters act only as flags. Any coordinates given are ignored. For example, G28 Z10 results in the same behavior as G28 Z. from G-code manual. Don't read parameters from memory (M501) unless you changed parameters you want to revert back, there is no reason to to this every print. $\endgroup$
    – 0scar
    Sep 19, 2021 at 9:38

1 Answer 1


In some ways, this reminds me of the pain I went through recently. I am also fairly new to 3D printing.

After you have completed the bed levelling using G29 you should have a list of mesh coordinates showing in the interface with OctoPrint. (I am using Pronterface, so am not all that familiar with OctoPrint). You need to save the mesh coordinates to the control board. To do this enter M500 and then M503 to check that the data has saved. If you enter G28 (don't use the digit after the axis!) after using G29, but without saving (M500) the coordinates will be discarded.

When you have set your Z-offset, you also need to save that too (M500).

Unless you bed is warped, a 7 x 7 grid (mesh) is overkill. If you are printing on glass or a mirror, a 3 x 3 grid should be enough. I have a 5 x 5 due to may warped bed.

  • $\begingroup$ So, dunno what happened exactly, but through some additional rounds of ABL, and saving (M500) with some additional firmware writes, because I had to invert a few axis to get them to run right, it's running great now! $\endgroup$
    – Drizzt321
    Dec 24, 2020 at 4:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .