<p>It's not a common thing because it's usually something you do once and then it works for years without need to touch it, and I don't know of generic <em>upgrades</em> that provide <em>just</em> that in conjunction with whichever probe you have.</p>
<p>Bambu X-1 Carbon does it automatically with a piezzo sensor for a rough estimate and then using its lidar to analyze baby-stepped lines on the build plate to find the perfect Z height. This is not something to implement in any printer though.</p>
<p>The Prusa Mk4 approach is much more viable: it uses a load cell sensor in the extruder to find the moment the nozzle presses into the bed. I'm pretty sure this can be done with a strain gauge just as well, thing is they don't produce a neat binary on/off, just analog signal in form of varying resistance. You'd likely need a small microcontroller with an ADC input to read the gauge and convert that to binary On/Off on the Z axis input. And you'd still need to add (small, fixed) Z offset to get the height of the nozzle touching the bed as opposed to pressing into it.</p>
<p>I'm not aware of any ready-made solutions that do this, but it should be a project well within skill range of a hobbyist.</p>

CC BY-SA 4.0
2024-04-29T01:03:17.487Z
The Creality CR6 Max comes equipped with a Strain gauge attached to the nozzle, however it is not used for z-offset (I wish it was!)
You set the gauge to register a certain amount of pressure (150grams/300grams) using the potentiometer.
Maybe some klipper code could be used to get the Z height at the point the gauge goes off, then account for the strain distance.
Surprised its not done already to be honest.
platinums
CC BY-SA 4.0
2023-12-04T11:30:14.213Z
2023-12-04T11:30:14.213Z
SF.
<p>In addition to the question <a href="https://3dprinting.stackexchange.com/questions/21708/how-can-a-force-sensor-automatically-determine-the-z-offset">How can a force sensor automatically determine the Z-offset?</a>.</p>
<p>Is there any well-documented 'auto z-offset' (DIY) upgrade available for 3D printers? I'm particularly interested in using a strain gauge and upgrading the Creality Ender 3 V2. But examples for adding this capability, using other methods or to other printers are also welcome because I can modify it.</p>

CC BY-SA 4.0
2023-12-01T13:47:25.183Z
Is there a rationalle behind the request, e.g. usually you do this once. E.g. I even don't ABL my printer for every print, just using the stored leveling surface. Does this relate to earlier questions regarding the frequent change of nozzles? Note that the option you are describing is a Creality development which they do not share with the rest of the world.
0scar
CC BY-SA 4.0
2023-12-01T17:23:05.753Z
Good question. The reason is that I sometimes switch nozzles with limited effect but also beds with either a thin magnetic PEI or thicker carborundum glass. It's not a big deal, but I like tinkering and automatic things. It's just a quality-of-life improvement. They don't share, but the concept seems essentially simple enough to implement, although I don't exactly understand it well enough yet to implement it.
Bob Ortiz
CC BY-SA 4.0
2023-12-01T20:12:26.880Z
If you change the setup frequently that might be very handy. Maybe you could add that to the question.
0scar
<diy-3d-printer><automation><z-offset>
Is there any well-documented 'auto z-offset' (DIY) upgrade available for 3D printers?
Bob Ortiz
# Is there any well-documented 'auto z-offset' (DIY) upgrade available for 3D printers?

(Asked by: username_0 on 2023-12-01)

In addition to the question [How can a force sensor automatically determine the Z-offset?](https://3dprinting.stackexchange.com/questions/21708/how-can-a-force-sensor-automatically-determine-the-z-offset).

Is there any well-documented 'auto z-offset' (DIY) upgrade available for 3D printers? I'm particularly interested in using a strain gauge and upgrading the Creality Ender 3 V2. But examples for adding this capability, using other methods or to other printers are also welcome because I can modify it.

**Tags:** diy-3d-printer, automation, z-offset

> **Comments:**
> **username_1**: Is there a rationalle behind the request, e.g. usually you do this once. E.g. I even don't ABL my printer for every print, just using the stored leveling surface. Does this relate to earlier questions regarding the frequent change of nozzles? Note that the option you are describing is a Creality development which they do not share with the rest of the world.  
> **username_0**: Good question. The reason is that I sometimes switch nozzles with limited effect but also beds with either a thin magnetic PEI or thicker carborundum glass. It's not a big deal, but I like tinkering and automatic things. It's just a quality-of-life improvement. They don't share, but the concept seems essentially simple enough to implement, although I don't exactly understand it well enough yet to implement it.  
> **username_1**: If you change the setup frequently that might be very handy. Maybe you could add that to the question.  

---

## 1 answers

### Answer by username_2 on 2023-12-04. Score: 2 | Accepted answer

It's not a common thing because it's usually something you do once and then it works for years without need to touch it, and I don't know of generic *upgrades* that provide *just* that in conjunction with whichever probe you have.

Bambu X-1 Carbon does it automatically with a piezzo sensor for a rough estimate and then using its lidar to analyze baby-stepped lines on the build plate to find the perfect Z height. This is not something to implement in any printer though.

The Prusa Mk4 approach is much more viable: it uses a load cell sensor in the extruder to find the moment the nozzle presses into the bed. I'm pretty sure this can be done with a strain gauge just as well, thing is they don't produce a neat binary on/off, just analog signal in form of varying resistance. You'd likely need a small microcontroller with an ADC input to read the gauge and convert that to binary On/Off on the Z axis input. And you'd still need to add (small, fixed) Z offset to get the height of the nozzle touching the bed as opposed to pressing into it.

I'm not aware of any ready-made solutions that do this, but it should be a project well within skill range of a hobbyist.

> **Comments:**
> **username_3**: The Creality CR6 Max comes equipped with a Strain gauge attached to the nozzle, however it is not used for z-offset (I wish it was!) You set the gauge to register a certain amount of pressure (150grams/300grams) using the potentiometer. Maybe some klipper code could be used to get the Z height at the point the gauge goes off, then account for the strain distance. Surprised its not done already to be honest.  

---

