If your prints come out a fraction of a millimetre too big or too small in every dimension, the axis steps-per-mm value is slightly off. This tool corrects it: command a known move, measure what you actually got, and it returns the exact firmware value to enter so parts come out dimensionally true.
How it works
The firmware moves an axis by sending a fixed number of stepper microsteps per millimetre, the steps/mm value. If that figure is a little wrong, every move is scaled by the same ratio. The correction is a simple proportion:
new steps/mm = current steps/mm × (commanded distance ÷ actual distance)
If you command 100 mm but the axis travels only 98.5 mm, it under-moved, so you need slightly more steps per mm — the formula multiplies your current value by 100 / 98.5, a small increase. If it over-shoots to 101 mm, the ratio is below one and the value goes down.
Worked example
Suppose your X axis is set to 80.00 steps/mm. You command a 100 mm move and measure 98.5 mm with calipers:
new = 80.00 × (100 / 98.5) = 81.22 steps/mm
Set X to 81.22, repeat the test, and you should now measure 100.0 mm. Do the same for Y, which may need a different correction because it has its own belt and motor.
Where does steps/mm come from?
The physical value for a belt-driven axis is determined by three factors: the stepper motor’s native steps per revolution (typically 200 for a 1.8° motor), the microstepping setting in the driver (commonly ×16 or ×32), and the belt pitch and pulley tooth count. For example, a 200-step motor at ×16 microstepping with a GT2 belt (2 mm pitch) and a 20-tooth pulley gives:
steps/mm = (200 × 16) / (2 × 20) = 80.00
That 80.00 is what many Cartesian printers default to for X and Y. A calibration discrepancy usually means the belt tooth count or microstepping doesn’t match the default — or the belt has stretched slightly from use. The correction formula above finds the true effective value without needing to know the exact source of the error.
Lead-screw axes vs belt axes
This same formula applies to Z axes driven by lead screws, though Z usually starts at a value like 400 steps/mm (a common value for M5 lead screws at ×16 microstepping) rather than 80. However, Z calibration is less critical for dimensional accuracy in the XY plane, and Z offset and layer-height calibration are usually more urgent concerns for print quality. Calibrate XY first for dimensional accuracy, then Z for layer-height consistency.
Tips and notes
Use the longest test move you can measure cleanly — 100 mm minimum, 200 mm or more for CNC — so caliper error stays small relative to the move. Always measure with calipers, not a printed ruler, since you are chasing hundredths of a millimetre. Calibrate X and Y independently; they drift by different amounts because each has its own belt tension and pulley. After correcting, re-test once to confirm. All calculations run locally in your browser.