Lead Screw Rotation Distance Calculator
The Lead Screw Rotation Distance Calculator computes the Z axis rotation_distance for lead screw and belted Z setups.
Free, runs in your browser, no registration.
Z is calculated, not measured
Section titled “Z is calculated, not measured”Unlike the extruder rotation distance, which you find by measuring extrusion, the Z axis value is derived from hardware geometry. There’s an exact right answer and you should use it rather than calibrating by trial.
For a lead screw:
rotation_distance = screw_pitch × number_of_startsCommon screws
Section titled “Common screws”The T8 designation covers several different screws, which is the source of most confusion:
| Screw | Pitch | Starts | rotation_distance |
|---|---|---|---|
| T8-2 (single start) | 2 mm | 1 | 2 |
| T8-4 (2 start) | 2 mm | 2 | 4 |
| T8-8 (4 start) | 2 mm | 4 | 8 |
| T8-12 | 3 mm | 4 | 12 |
Pitch is the distance between adjacent thread crests. Lead is how far the nut travels per full rotation. On a single-start screw they’re the same; on a 4-start T8 the lead is 8 mm from a 2 mm pitch.
Klipper’s rotation_distance is the lead, not the pitch.
How to identify starts
Section titled “How to identify starts”Look at the end of the screw. Count the number of distinct thread grooves entering the end face — that’s the number of starts. A 4-start T8 shows four separate spiral entries.
Alternatively: mark the nut, rotate the screw exactly one turn, measure the travel. That distance is your rotation_distance.
Belted Z
Section titled “Belted Z”For belt-driven Z (Voron 2.4, many CoreXY):
rotation_distance = belt_pitch × pulley_teethGT2 belt with a 20-tooth pulley: 2 × 20 = 40.
Same formula as any belted axis.
Gear reduction
Section titled “Gear reduction”If there’s a reduction between motor and screw, divide:
rotation_distance = lead / reduction_ratioA T8-8 with a 3:1 reduction gives 8 / 3 = 2.667. Set gear_ratio in Klipper instead where you can — it’s clearer than folding the ratio into rotation distance:
[stepper_z]rotation_distance: 8gear_ratio: 3:1Verifying
Section titled “Verifying”Even though the value is calculated, verify it once:
- Home Z.
G1 Z50 F300- Measure the actual nozzle-to-bed distance change with calipers or a depth gauge.
- It should be 50 mm. If it’s 25 mm, you have double the starts you thought. If it’s 100 mm, half.
Errors here are almost always integer multiples, because they come from miscounting starts — which makes them easy to spot and easy to fix.
Common mistakes
Section titled “Common mistakes”- Confusing pitch with lead. The single biggest one. A T8-8 has 2 mm pitch and 8 mm lead. Klipper wants 8.
- Assuming all T8 screws are the same. They aren’t. Count the starts.
- Calibrating Z by trial and error. Unlike the extruder, this has an exact answer from geometry. Trial-and-error Z calibration usually means you’ve compensated a wrong
rotation_distancewith a wrong Z offset, and now first layers are inconsistent across the bed. - Folding gear ratio into rotation_distance. Use
gear_ratio— it’s self-documenting and survives your future self reading the config.
Related tools
Section titled “Related tools”- Rotation Distance Calculator — the extruder equivalent
- Belt Tension Calculator
- Run Current Calculator
- All Calculators
Verified configs
Section titled “Verified configs”Z configurations for my Voron 2.4 (belted Z), Mercury One.1, and lead-screw machines are documented in the Minimal 3DP config packs. Raw configs remain free in the klipper repository.