Z-Offset Mystery

In our group chat we were just discussing about Z-Offset settings and that Klipper supports preset for different print bed sheets with their individual Z-Offsets.

“individual Z-Offsets” !? What nonsense is that?

According to the Klipper documentation1 the Z-Offset is:

The z_offset is the distance between the nozzle and bed when the probe triggers

Klipper Online Documentation

For me, that is distance between the print nozzle and the tip of the probe. The probe is usually mounted directly to the print head as close to the nozzle as possible. That distance between nozzle and probe tip should not change under normal circumstances. Thus the Z-Offset would usually be static and only configured once.

But my fellow print nerds had apparently a use case for bed specific Z-Offset settings.

Voodoo

The secret is the different types of Z-Probes. I am using a CR-Touch2 on my Creality Ender 3 V2. That is a mechanical probe using a thin metal needle and optical sensor3 to measure the distance between probe and bed surface.

A detail of the print head of a Creality Ender 3 V2 3D-printer. In the middle of the picture once can see a square tube mounted at the print head. There is a cable going into the tube from the top and a purple light is glowing insight. At the bottom the top of the metail probe needle can be seen.
The CR-Touch probe with purple LED inside mounted on the side of the print head

The Prusa printers are usually using a PINDA/SuperPINDA probe4. Which is an inductive probe thats using a magnetic field5 to detect the distance to a metal surface.

And here you might already smell the source of the confusion. Print bed surfaces can differ. My Ender came with a glass plate as print surface. I added a magnetic sheet with PEI srping metal printing beds. The glas plate and the PEI metal sheets vary several millimeters in their thickness. Still I don’t have to change any settings on my printer when changing the print bed sheet. Because my probe is mechanical, it always measures the correct distance between bed surface and probe tip.

A PINDA probe however would struggle to detect the glas bed. Because it’s not conductive. The PINDA probe would “see” right through the glas bed and measure the distance towards the underlying metal heat bed and likely crash your nozzle into the glas bed if you don’t compensate for this.

Lessons learnt: if your Z-Probe is relying on metal on the bed to detect the distance you want to adjust your Z-Offset when using different print bed materials than metal.

Footnotes
  1. Klipper documentation about Z-Offset: https://www.klipper3d.org/Probe_Calibrate.html#calibrating-probe-z-offset ↩︎
  2. Creality CR-Touch Probe: https://www.creality3dofficial.com/products/creality-cr-touch ↩︎
  3. CR-Touch function principle: https://www.creality3dofficial.com/blogs/unboxing-product-comparison/creality-bl-touch-firmware ↩︎
  4. Prusa Documentation about PINDA Probe: https://help.prusa3d.com/article/p-i-n-d-a-superpinda-sensor-testing_2091 ↩︎
  5. Prusa Forum about the physics behind the PINDA probes: https://forum.prusa3d.com/forum/original-prusa-i3-mk3s-mk3-general-discussion-announcements-and-releases/what-are-the-physics-behind-the-pinda/ ↩︎