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.
Tips and notes
Use the longest test move you can measure cleanly — 100 mm minimum, 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. After correcting, re-test once to confirm. All calculations run locally in your browser.