<p>I have no idea what happened the first time I initialized everything, but I started over from the beginning and ran the <code>Initialize EEPROM</code> command from the UI, and then saved the settings, and then went to the probe offsets and reset my probe offsets to exactly what they were before, but now after auto homing the absolute Z values look accurate and if I manually move the Z axis to 0 it is right at that 0.1 mm height of a sheet of paper.</p>
<p>The first time I initialized the EEPROM I ran auto home immediately after and I was getting an error on the main page <code>ERR: too far</code> and maybe in the process of trying to fix that I messed something else up, but it appears that everything is working how it should now.</p>

CC BY-SA 4.0
2023-07-28T13:13:27.290Z
Gad to hear you fixed the problem by simply trying the whole process again.
Hacky
CC BY-SA 4.0
2023-07-25T18:33:15.277Z
2023-07-25T18:33:15.277Z
TJR
<p>Although I cannot be sure, I suspect that your bed-leveling is working fine.</p>
<p>An auto-bed-leveling-sensor only takes care of relative bed leveling. That means that you have to manually add a Z-offset in the printer menu. Do this by running the auto-leveling, then auto homing and then adjusting the Z-value by moving the Z-axis in the menu until the head barely touches the bed. Note the value and fill this in for the Z-offset value in the configuration menu of the printer.</p>

CC BY-SA 4.0
2023-07-25T14:08:38.457Z
Is there a different Z-offset than the Z-probe offset? I've set the Z-probe offset to -2.112 which seems reasonable, but it's still floating off the surface of the print bed way too much after auto homing. I haven't found any other z-offset settings other than the z-probe offset.
TJR
CC BY-SA 4.0
2023-07-25T14:24:50.740Z
I think you are plying with the right value. Does changing this value make the nozzle come down at all? It sounds like your Z-offset should be around -7.
Hacky
CC BY-SA 4.0
2023-07-25T14:28:16.190Z
About -2 should be correct if a touch sensor is used, -7 is not possible (that would be a very long pin retraction!)
0scar
CC BY-SA 4.0
2023-07-25T12:37:52.170Z
2023-07-25T12:37:52.170Z
Hacky
<p>I recently installed the CR-Touch onto my CR10-V3 printer. I updated my firmware to Marlin 2.1.2M and set my probe offsets and selected level bed which checked 81 points on the print bed and it said bed leveling was complete.</p>
<p>I tried printing something that I had already created G-code for from Prusa Slicer, and on the initial wipe and perimeter print the nozzle was way too high (maybe 10-15 mm off the print bed surface)</p>
<p>I searched for how to enable using the auto bed leveling mesh using Prusa slicer, and I found a couple of places mentioning adding <code>M420 S1</code> to the G-code to enable using the auto bed leveling mesh, but even after adding that, my print did the same thing and during the wipe and perimeter print it was way too high.</p>
<p>Below is the start G-code that I'm using in Prusa Slicer</p>
<pre><code>G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S150 ; set temporary nozzle temp to prevent oozing during homing
M140 S{first_layer_bed_temperature[0]} ; set final bed temp
G4 S30 ; allow partial nozzle warmup
G28 ; home all axis
M420 S1 ; Enable use auto bed leveling saved mesh
G1 Z50 F240
G1 X2.0 Y10 F3000
M104 S{first_layer_temperature[0]} ; set final nozzle temp
M190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize
M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize
G1 Z0.28 F240
G92 E0
G1 X2.0 Y140 E10 F1500 ; prime the nozzle
G1 X2.3 Y140 F5000
G92 E0
G1 X2.3 Y10 E10 F1200 ; prime the nozzle
G92 E0
</code></pre>
<p>If I'm understanding the last part of that G-code, it should be 0.28 mm above the print bed when it does its nozzle wipe, but it's 10 mm or more off the bed when it does that.</p>
<p>I did some additional testing this morning, and the problem seems to be the z-values after auto homing. I have a z-probe offset entered of -2.122 mm that I got using the z-probe offset wizard in the Marlin firmware, and that offset visually seems reasonable for where the probe triggers vs the nozzle height.</p>
<p>After auto homing all axis, if I manually change the z-axis to be 0.28 mm, then the nozzle is still about 7 mm above the print bed which is where my prints are starting off.</p>
<p>If I manually deploy the touch sensor and lower the print head, the touch sensor engages with the print surface at around a z position of -5 mm, and then with the z-probe offset of -2.112 mm it's about 7 mm too high.</p>
<p>Where is this extra height coming from? I've checked and rechecked the z-probe offset, and like I said, the values seem reasonable, but I'm not sure where this extra height is coming from.</p>

CC BY-SA 4.0
2023-07-25T10:50:14.300Z
As you updated to a new version, it sounds that you have not defined or incorrectly defined the Z-offset, have you read question [Automatic Bed Leveling (ABL) with a sensor (BLTouch, inductive, capacitive), how does it work?](https://3dprinting.stackexchange.com/questions/16604/automatic-bed-leveling-abl-with-a-sensor-bltouch-inductive-capacitive-how) or more specific [Specifying Z offset in Marlin firmware](https://3dprinting.stackexchange.com/questions/9820/specifying-z-offset-in-marlin-firmware)?
0scar
CC BY-SA 4.0
2023-07-25T14:16:13.693Z
@0scar I've read and watched different tutorials on setting the z-probe offset, and the value I have seems reasonable in the settings. Is there a different z-offset other than the z-probe offset?
TJR
CC BY-SA 4.0
2023-07-25T14:22:42.363Z
You must have, but to be sure: "Have you read all variables from the firmware after you updated?" (`M502` and then `M500`)
0scar
CC BY-SA 4.0
2023-07-25T14:36:05.193Z
@0scar I haven't set up any kind of terminal connection with the board to check specific settings like M502 and M500, and tonight I can look into setting that up, but as of right now I've only been able to check settings in the controller UI, and the settings appear correct there at least for the z-probe offset, if there is another z-offset I haven't found that in the UI yet.
TJR
CC BY-SA 4.0
2023-07-25T14:43:57.220Z
@0scar realizing `M502` is factory reset and `M500` is save settings now after looking them up. When I first installed the firmware I ran `Initialize EEPROM` which I think is basically running `M502`, and I have saved settings because my probe offsets are persistent after power cycling. I can try starting from the beginning and initialize EEPROM and then save and then set my probe offsets and save again and see if that fixes anything.
TJR
CC BY-SA 4.0
2023-07-25T14:52:35.107Z
"Factory reset" is incorrectly labeled, basically it is "firmware reset". It gets the values from your latest firmware.  "Initialize EEPROM" is the same as doing "Restore Defaults (`M502`)" which must be followed by a store settings (`M500`). So I think you did good, I'm just trying to establish what is happening by elimination.
0scar
<marlin><bltouch><creality-cr-10><automatic-bed-leveling>
Absolute Z values not 0 at print surface after auto homing with CR-Touch
TJR
# Absolute Z values not 0 at print surface after auto homing with CR-Touch

(Asked by: username_0 on 2023-07-25)

I recently installed the CR-Touch onto my CR10-V3 printer. I updated my firmware to Marlin 2.1.2M and set my probe offsets and selected level bed which checked 81 points on the print bed and it said bed leveling was complete.

I tried printing something that I had already created G-code for from Prusa Slicer, and on the initial wipe and perimeter print the nozzle was way too high (maybe 10-15 mm off the print bed surface)

I searched for how to enable using the auto bed leveling mesh using Prusa slicer, and I found a couple of places mentioning adding `M420 S1` to the G-code to enable using the auto bed leveling mesh, but even after adding that, my print did the same thing and during the wipe and perimeter print it was way too high.

Below is the start G-code that I'm using in Prusa Slicer

```
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S150 ; set temporary nozzle temp to prevent oozing during homing
M140 S{first_layer_bed_temperature[0]} ; set final bed temp
G4 S30 ; allow partial nozzle warmup
G28 ; home all axis
M420 S1 ; Enable use auto bed leveling saved mesh
G1 Z50 F240
G1 X2.0 Y10 F3000
M104 S{first_layer_temperature[0]} ; set final nozzle temp
M190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize
M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize
G1 Z0.28 F240
G92 E0
G1 X2.0 Y140 E10 F1500 ; prime the nozzle
G1 X2.3 Y140 F5000
G92 E0
G1 X2.3 Y10 E10 F1200 ; prime the nozzle
G92 E0

```

If I'm understanding the last part of that G-code, it should be 0.28 mm above the print bed when it does its nozzle wipe, but it's 10 mm or more off the bed when it does that.

I did some additional testing this morning, and the problem seems to be the z-values after auto homing. I have a z-probe offset entered of -2.122 mm that I got using the z-probe offset wizard in the Marlin firmware, and that offset visually seems reasonable for where the probe triggers vs the nozzle height.

After auto homing all axis, if I manually change the z-axis to be 0.28 mm, then the nozzle is still about 7 mm above the print bed which is where my prints are starting off.

If I manually deploy the touch sensor and lower the print head, the touch sensor engages with the print surface at around a z position of -5 mm, and then with the z-probe offset of -2.112 mm it's about 7 mm too high.

Where is this extra height coming from? I've checked and rechecked the z-probe offset, and like I said, the values seem reasonable, but I'm not sure where this extra height is coming from.

**Tags:** marlin, bltouch, creality-cr-10, automatic-bed-leveling

> **Comments:**
> **username_1**: As you updated to a new version, it sounds that you have not defined or incorrectly defined the Z-offset, have you read question [Automatic Bed Leveling (ABL) with a sensor (BLTouch, inductive, capacitive), how does it work?](https://3dprinting.stackexchange.com/questions/16604/automatic-bed-leveling-abl-with-a-sensor-bltouch-inductive-capacitive-how) or more specific [Specifying Z offset in Marlin firmware](https://3dprinting.stackexchange.com/questions/9820/specifying-z-offset-in-marlin-firmware)?  
> **username_0**: @username_1 I've read and watched different tutorials on setting the z-probe offset, and the value I have seems reasonable in the settings. Is there a different z-offset other than the z-probe offset?  
> **username_1**: You must have, but to be sure: "Have you read all variables from the firmware after you updated?" (`M502` and then `M500`)  
> **username_0**: @username_1 I haven't set up any kind of terminal connection with the board to check specific settings like M502 and M500, and tonight I can look into setting that up, but as of right now I've only been able to check settings in the controller UI, and the settings appear correct there at least for the z-probe offset, if there is another z-offset I haven't found that in the UI yet.  
> **username_0**: @username_1 realizing `M502` is factory reset and `M500` is save settings now after looking them up. When I first installed the firmware I ran `Initialize EEPROM` which I think is basically running `M502`, and I have saved settings because my probe offsets are persistent after power cycling. I can try starting from the beginning and initialize EEPROM and then save and then set my probe offsets and save again and see if that fixes anything.  
> **username_1**: "Factory reset" is incorrectly labeled, basically it is "firmware reset". It gets the values from your latest firmware.  "Initialize EEPROM" is the same as doing "Restore Defaults (`M502`)" which must be followed by a store settings (`M500`). So I think you did good, I'm just trying to establish what is happening by elimination.  

---

## 2 answers

### Answer by username_0 on 2023-07-25. Score: 1 | Accepted answer

I have no idea what happened the first time I initialized everything, but I started over from the beginning and ran the `Initialize EEPROM` command from the UI, and then saved the settings, and then went to the probe offsets and reset my probe offsets to exactly what they were before, but now after auto homing the absolute Z values look accurate and if I manually move the Z axis to 0 it is right at that 0.1 mm height of a sheet of paper.

The first time I initialized the EEPROM I ran auto home immediately after and I was getting an error on the main page `ERR: too far` and maybe in the process of trying to fix that I messed something else up, but it appears that everything is working how it should now.

> **Comments:**
> **username_2**: Gad to hear you fixed the problem by simply trying the whole process again.  

---

### Answer by username_2 on 2023-07-25. Score: 0

Although I cannot be sure, I suspect that your bed-leveling is working fine.

An auto-bed-leveling-sensor only takes care of relative bed leveling. That means that you have to manually add a Z-offset in the printer menu. Do this by running the auto-leveling, then auto homing and then adjusting the Z-value by moving the Z-axis in the menu until the head barely touches the bed. Note the value and fill this in for the Z-offset value in the configuration menu of the printer.

> **Comments:**
> **username_0**: Is there a different Z-offset than the Z-probe offset? I've set the Z-probe offset to -2.112 which seems reasonable, but it's still floating off the surface of the print bed way too much after auto homing. I haven't found any other z-offset settings other than the z-probe offset.  
> **username_2**: I think you are plying with the right value. Does changing this value make the nozzle come down at all? It sounds like your Z-offset should be around -7.  
> **username_1**: About -2 should be correct if a touch sensor is used, -7 is not possible (that would be a very long pin retraction!)  

---

