<p>In some ways, this reminds me of the pain I went through recently. I am also fairly new to 3D printing.</p>
<p>After you have completed the bed levelling using <code>G29</code> 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 <code>M500</code> and then <code>M503</code> to check that the data has saved. If you enter <code>G28</code> (don't use the digit after the axis!) after using <code>G29</code>, but without saving (<code>M500</code>) the coordinates will be discarded.</p>
<p>When you have set your Z-offset, you also need to save that too (<code>M500</code>).</p>
<p>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.</p>

CC BY-SA 4.0
2020-12-24T04:51:34.447Z
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!
Drizzt321
CC BY-SA 4.0
2020-12-23T05:19:04.900Z
2021-09-19T07:42:31.963Z
2021-09-19T07:42:31.963Z
Ramblin' Sid Rumpo
<p>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 <a href="https://github.com/MNieddu91/Marlin-AI3M-BLTouch" rel="nofollow noreferrer">this link</a>.</p>
<p>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.</p>
<p>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 <code>M114</code> command to get the position.</p>
<p>Here it is after I hit cancel.</p>
<pre><code>Recv: X:180.63 Y:171.85 Z:0.00 E:9.71 Count X:14450 Y:13748 Z:2120
</code></pre>
<p>Here it is after I use <code>G28</code> to home</p>
<pre><code>Recv: X:-5.00 Y:0.00 Z:0.00 E:9.71 Count X:-400 Y:0 Z:0
</code></pre>
<p>Here is the Start G-code settings from Cura</p>
<pre><code>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...
G5
</code></pre>
<p>It's almost like the Mesh Z-offset is wrong. I do have a probe Z-offset of -4.60, set via <code>M851</code>. I set this, and then I did <code>G29</code> to re-do the ABL.</p>
<p>With me being new to ABL and Marlin, what did I forget? Maybe I did something wrong?</p>

CC BY-SA 4.0
2021-09-19T09:38:00.637Z
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](https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29). 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.
0scar
<marlin><bed-leveling><bltouch>
After installing BLTouch and Marlin, my nozzle is too high when trying to print
Drizzt321
# After installing BLTouch and Marlin, my nozzle is too high when trying to print

(Asked by: username_0 on 2020-12-22)

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](https://github.com/MNieddu91/Marlin-AI3M-BLTouch).

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...
G5

```

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?

**Tags:** marlin, bed-leveling, bltouch

> **Comments:**
> **username_1**: 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](https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29). 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.  

---

## 1 answers

### Answer by username_2 on 2020-12-23. Score: 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.

> **Comments:**
> **username_0**: 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!  

---

