<p>Questions:</p>
<ol>
<li><p>Should repeated applications of <code>G29</code> (auto-level) result in the same matrix as long as nothing is loose or has otherwise mechanically changed?</p>
</li>
<li><p>Should the center of the <code>G29</code> matrix normally be very close to zero since the center of the auto-level probing  sequence usually occurs in the same X, Y location as the location where the &quot;home&quot; Z reference height was measured?</p>
</li>
</ol>
<hr />
<p>Background details:
I’m using a CoreXY type printer with Marlin 2.0.3 software installed on a Robin Nano control board and I’m trying to get a BLTouch to work correctly and consistently.</p>
<p>When I issue successive <code>G28</code>, <code>G29</code> sequences, I get alternating results for the center point of the matrix:<br />
1st <code>G28</code>, <code>G29</code> sequence, center point = 0.00 (+/- 0.01 mm),<br />
2nd <code>G28</code>, <code>G29</code> sequence, center point = +0.21 +/- 0.01 mm,<br />
3rd <code>G28</code>, <code>G29</code> sequence, center point = 0.00 (+/- 0.01 mm),<br />
4th <code>G28</code>, <code>G29</code> sequence, center point = +0.21 +/- 0.01 mm,</p>
<p>Results will continue with this alternating pattern indefinitely.</p>
<p>I expected the <code>G29</code> matrix to be consistent with successive measurements as long as there was no physical change made to the bed.
I also expected the center of the <code>G29</code> matrix to be consistently very close to zero since both the “home” and the center of the auto-level matrix are usually at the same X, Y location (I circled it with a marker on the bed to be sure).</p>
<p>For troubleshooting:
I have replaced the probe (I was using a clone, but I’m now using a genuine BLTouch) with no change in behavior.
I have replaced the cable with no change in behavior.
For consistency, all tests are run without heating either the bed or the nozzle so there is no influence from thermal expansion.</p>

CC BY-SA 4.0
2021-02-28T15:00:13.530Z
Do you have anti-backlash nuts on the lead screws/enough weight of the bed?
0scar
CC BY-SA 4.0
2021-02-28T15:25:45.910Z
Thank you for your response.  I don't know if the nuts on the bed are anti-backlash or not.  I don't "feel" any backlash, but I'm not certain I would feel 0.2mm.  As far as the weight of the bed itself, I have a spring steel surface on a magnetic base, so the weight would at least be considered "typical".
satellite1217
CC BY-SA 4.0
2021-02-28T16:01:39.990Z
Also regarding backlash, since both the home and auto-level measurements are performed during travel in the same direction, and since that travel is about 10mm which is much greater than any backlash, I think that backlash wouldn’t affect the measurements (even though it could affect an actual print.)
satellite1217
CC BY-SA 4.0
2021-03-07T23:10:18.117Z
I wasn’t able to find or fix this problem, but I was able to work around it. 
I was able to prove that the matrix where the center point was zero was, in fact, “correct” and the offset one was “incorrect”. So as long as I save (M500) the correct and then recall (M501) and activate (M420 S1) it before a print, everything works ok.
I would rather do an autolevel before each print like most people do, but I’d have a 50% chance of getting the “incorrect” one and either losing the print or gouging the bed.
satellite1217
<marlin><bed-leveling><bltouch><z-probe><print-axis-offset>
Should center point of G29 matrix always be zero?
satellite1217
# Should center point of G29 matrix always be zero?

(Asked by: username_0 on 2021-02-28)

Questions:

1. Should repeated applications of `G29` (auto-level) result in the same matrix as long as nothing is loose or has otherwise mechanically changed?
2. Should the center of the `G29` matrix normally be very close to zero since the center of the auto-level probing sequence usually occurs in the same X, Y location as the location where the "home" Z reference height was measured?

---

Background details:
I’m using a CoreXY type printer with Marlin 2.0.3 software installed on a Robin Nano control board and I’m trying to get a BLTouch to work correctly and consistently.

When I issue successive `G28`, `G29` sequences, I get alternating results for the center point of the matrix:  
1st `G28`, `G29` sequence, center point = 0.00 (+/- 0.01 mm),  
2nd `G28`, `G29` sequence, center point = +0.21 +/- 0.01 mm,  
3rd `G28`, `G29` sequence, center point = 0.00 (+/- 0.01 mm),  
4th `G28`, `G29` sequence, center point = +0.21 +/- 0.01 mm,

Results will continue with this alternating pattern indefinitely.

I expected the `G29` matrix to be consistent with successive measurements as long as there was no physical change made to the bed.
I also expected the center of the `G29` matrix to be consistently very close to zero since both the “home” and the center of the auto-level matrix are usually at the same X, Y location (I circled it with a marker on the bed to be sure).

For troubleshooting:
I have replaced the probe (I was using a clone, but I’m now using a genuine BLTouch) with no change in behavior.
I have replaced the cable with no change in behavior.
For consistency, all tests are run without heating either the bed or the nozzle so there is no influence from thermal expansion.

**Tags:** marlin, bed-leveling, bltouch, z-probe, print-axis-offset
> **Comments:**
> **username_1**: Do you have anti-backlash nuts on the lead screws/enough weight of the bed?  
> **username_0**: Thank you for your response.  I don't know if the nuts on the bed are anti-backlash or not.  I don't "feel" any backlash, but I'm not certain I would feel 0.2mm.  As far as the weight of the bed itself, I have a spring steel surface on a magnetic base, so the weight would at least be considered "typical".  
> **username_0**: Also regarding backlash, since both the home and auto-level measurements are performed during travel in the same direction, and since that travel is about 10mm which is much greater than any backlash, I think that backlash wouldn’t affect the measurements (even though it could affect an actual print.)  
> **username_0**: I wasn’t able to find or fix this problem, but I was able to work around it.  I was able to prove that the matrix where the center point was zero was, in fact, “correct” and the offset one was “incorrect”. So as long as I save (M500) the correct and then recall (M501) and activate (M420 S1) it before a print, everything works ok. I would rather do an autolevel before each print like most people do, but I’d have a 50% chance of getting the “incorrect” one and either losing the print or gouging the bed.  

---

## 0 answers

