Skip to content
Ch 13 › Part I — Z offset (Z=0)36 / 54

Step 13.36 — Z_ENDSTOP_CALIBRATE and the paper test

Step 36 of 54 · Chapter 13 — Initial startup

Parts:

  • printer paper, one sheet · tool

Do:

  1. Hot and levelled: G28, nozzle to the bed centre, wipe off any ooze, put the paper under it.
  2. Run Z_ENDSTOP_CALIBRATE. Step down with TESTZ Z=-1 until close, then TESTZ Z=-0.1; TESTZ Z=0.1 backs off.
  3. ACCEPT at the first position where the paper drags.
Send: Z_ENDSTOP_CALIBRATE
Recv: // Starting manual Z probe. Use TESTZ to adjust position.
Recv: // Finish with ACCEPT or ABORT command.
Recv: // Z position: ?????? --> 9.800 <-- ??????
Send: TESTZ Z=-1
Recv: // Z position: ?????? --> 8.800 <-- 9.800
      ... down to ...
Send: TESTZ Z=-0.1
Recv: // Z position: 0.150 --> 0.250 <-- 0.350
Send: ACCEPT
Recv: // stepper_z: position_endstop: -0.750
Recv: // The SAVE_CONFIG command will update the printer config file
Recv: // with the above and restart the printer.
Send: SAVE_CONFIG

Check

You accepted at light drag: the paper still slides, but with resistance, and Klipper printed a new position_endstop.

What you're looking at

The screenshot is Klipper's manual-probe dialog. Z_ENDSTOP_CALIBRATE steps the nozzle down in known increments until a sheet of paper just drags under it, then records that height as Z=0. The paper is ~0.1 mm thick, so this Z=0 sits one paper-thickness above the plate.

Note: this sets Z=0 from the nozzle probe, not the inductive probe. [probe] z_offset: 0 stays uncalibrated on purpose — that probe is used only for QGL and mesh shape.

Caution

Do not add an extra step down "for the heat". The number Klipper prints is old position_endstop − the Z you accepted at: with the stock −0.5 and an accept at 0.250, that is −0.5 − 0.250 = −0.750. Yours will differ; the arithmetic will not.

Tip

the small back-and-forth Klipper does on tiny moves is deliberate backlash compensation; the final position is the one you asked for.

Source: Voron docs image mainsail_manual_probe.png · Voron startup wizard § Z endstop calibrate · Klipper docs § MANUAL_PROBE / TESTZ · Klipper manual_probe.py · Video: More Extras! @3:53:57 (differs: Euclid probe (Klicky fitted later, Part 11); this kit uses the Omron inductive probe + LDO nozzle probe, Klicky bagged)