<p>I'm answering my own question here. </p>

<p>The Issue was that I set <code>Z_MIN_POS</code> to -2.0 I guess these 2&nbsp;mm were subtracted from <code>G28</code> but not from <code>G29</code>.</p>

<p>I don't know wether this is expected behaviour but changing <code>Z_MIN_POS</code> back to 0 fixed the issue for me.</p>

CC BY-SA 4.0
2020-06-06T15:02:01.260Z
2020-06-06T16:54:16.190Z
2020-06-06T16:54:16.190Z
Daniel Echt
<p>After trying to solve this for the whole weekend I've run out of ideas.</p>

<p>I've fitted an BLTouch to my Ender-3 with an SKR mini e3 V2.0 board, firmware is Marlin 2.0. </p>

<p>My issue is the following: 
when I do autohome (<code>G28</code>) it uses the Z-Probe (BLTouch) to home (this is expected). 
I then set Z Probe offset to 0 (using <code>M851 Z0</code>) and move Z down until it the nozzle touches a piece of paper.<br>
I then set the Probe Z offset to whatever value Z is at (<code>M851 Z-4.10</code>), save the settings to EEPROM and restart the machine. When doing another <code>G28</code> and moving Z to 0 afterwards the distance is perfectly the same. This is repeatable.<br>
However when I do <code>G29</code> it measures the bed to be sitting around -1.9&nbsp;mm, therefore moving Z to 0 will crash the nozzle to the bed. I can change my Probe Z offset have this fitting (<code>M851 Z-2.20</code>), however then the nozzle sits ~2&nbsp;mm above the bed when doing another <code>G28</code> with "Bed Leveling" disabled. </p>

<p>All of this is perfectly repeatable, so I think my I've got something off in my Marlin configuration, but can't find anything wrong. </p>

<p>What I've tried so far:</p>

<ul>
<li>Setting the Z offset as default in config -> this yields the same result as saving it to EEPROM  </li>
<li>Reflashing the firmware and resetting the EEPROM -> this didn't change anything  </li>
<li>Connecting the probe as Z-Endstop and as Z-Probe -> after matching the configuration (setting/unsetting Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) it just gave the same result. </li>
</ul>

<p>Did anyone encounter this issue before or can give me any idea how to fix this? Any help would be appreciated.</p>

<p>EDIT: I've just flashed the precompiled stock firmware from the BTT Github and it works. So im quite sure i've got something wrong in my config. But since I can't find the configuration.h for that .bin file, I can't realy compare both</p>

CC BY-SA 4.0
2020-06-01T19:16:05.213Z
Hi welcome to 3DPrinting.SE! Just out of curiosity, how did you define `NOZZLE_TO_PROBE_OFFSET`? Note that you need to  autohome `G28` after you set `M851 Z0`.
0scar
CC BY-SA 4.0
2020-06-03T14:33:19.127Z
I've tried using `#define NOZZLE_TO_PROBE_OFFSET { -42, -6, 0 }`, and `#define NOZZLE_TO_PROBE_OFFSET { -42, -6, -2.20 }` but this value should be overwritten with `M851` right?
Daniel Echt
CC BY-SA 4.0
2020-06-04T07:25:17.747Z
For your information, if you don't use @[username] the commenter doesn't get pinged. Comments under the question will always ping the question owner!
0scar
CC BY-SA 4.0
2020-06-04T07:32:20.110Z
Better to leave the Z offset to 0, then there is no question whether is is overwritten or not. Note that -1.9 - 2.2 equals -4.1, so this might be the cause. Furthermore, a BLTouch doesn't need to have such a large offset, you can place the sensor a little higher. My values are in between 1 - 2 mm. Please add a photo of the sensor in relation to the nozzle.
0scar
CC BY-SA 4.0
2020-06-05T12:27:03.990Z
@0scar thanks for your help, I finally figured it out. The issue was that i set `Z_MIN_POS` to -2 to be able to measure the offset. (I believe having read doing that somewhere, but cant find it now) after setting that back to 0 and it works now. I guess that the 2mm were added somehow, but I can't understand how that this is expected behavior.
Daniel Echt
<marlin><bed-leveling><bltouch><skr-mini-e3>
Different Probe Z offset for G28 and G29
Daniel Echt
# Different Probe Z offset for G28 and G29

(Asked by: username_0 on 2020-06-01)

After trying to solve this for the whole weekend I've run out of ideas.

I've fitted an BLTouch to my Ender-3 with an SKR mini e3 V2.0 board, firmware is Marlin 2.0.

My issue is the following:
when I do autohome (`G28`) it uses the Z-Probe (BLTouch) to home (this is expected).
I then set Z Probe offset to 0 (using `M851 Z0`) and move Z down until it the nozzle touches a piece of paper.  
I then set the Probe Z offset to whatever value Z is at (`M851 Z-4.10`), save the settings to EEPROM and restart the machine. When doing another `G28` and moving Z to 0 afterwards the distance is perfectly the same. This is repeatable.  
However when I do `G29` it measures the bed to be sitting around -1.9 mm, therefore moving Z to 0 will crash the nozzle to the bed. I can change my Probe Z offset have this fitting (`M851 Z-2.20`), however then the nozzle sits ~2 mm above the bed when doing another `G28` with "Bed Leveling" disabled.

All of this is perfectly repeatable, so I think my I've got something off in my Marlin configuration, but can't find anything wrong.

What I've tried so far:

* Setting the Z offset as default in config -> this yields the same result as saving it to EEPROM
* Reflashing the firmware and resetting the EEPROM -> this didn't change anything
* Connecting the probe as Z-Endstop and as Z-Probe -> after matching the configuration (setting/unsetting Z\_MIN\_PROBE\_USES\_Z\_MIN\_ENDSTOP\_PIN) it just gave the same result.

Did anyone encounter this issue before or can give me any idea how to fix this? Any help would be appreciated.

EDIT: I've just flashed the precompiled stock firmware from the BTT Github and it works. So im quite sure i've got something wrong in my config. But since I can't find the configuration.h for that .bin file, I can't realy compare both

**Tags:** marlin, bed-leveling, bltouch, skr-mini-e3

> **Comments:**
> **username_1**: Hi welcome to 3DPrinting.SE! Just out of curiosity, how did you define `NOZZLE_TO_PROBE_OFFSET`? Note that you need to  autohome `G28` after you set `M851 Z0`.  
> **username_0**: I've tried using `#define NOZZLE_TO_PROBE_OFFSET { -42, -6, 0 }`, and `#define NOZZLE_TO_PROBE_OFFSET { -42, -6, -2.20 }` but this value should be overwritten with `M851` right?  
> **username_1**: For your information, if you don't use @[username] the commenter doesn't get pinged. Comments under the question will always ping the question owner!  
> **username_1**: Better to leave the Z offset to 0, then there is no question whether is is overwritten or not. Note that -1.9 - 2.2 equals -4.1, so this might be the cause. Furthermore, a BLTouch doesn't need to have such a large offset, you can place the sensor a little higher. My values are in between 1 - 2 mm. Please add a photo of the sensor in relation to the nozzle.  
> **username_0**: @username_1 thanks for your help, I finally figured it out. The issue was that i set `Z_MIN_POS` to -2 to be able to measure the offset. (I believe having read doing that somewhere, but cant find it now) after setting that back to 0 and it works now. I guess that the 2mm were added somehow, but I can't understand how that this is expected behavior.  

---

## 1 answers

### Answer by username_0 on 2020-06-06. Score: 1 | Accepted answer

I'm answering my own question here.

The Issue was that I set `Z_MIN_POS` to -2.0 I guess these 2 mm were subtracted from `G28` but not from `G29`.

I don't know wether this is expected behaviour but changing `Z_MIN_POS` back to 0 fixed the issue for me.


---

