Stepper Motor Steps/mm Calculator
Calculate the steps-per-mm value for 3D printer and CNC machine axes driven by belt/pulley or lead screw systems for accurate motion calibration.
Results
What is it?
Steps/mm is the firmware parameter (in Marlin: DEFAULT_AXIS_STEPS_PER_UNIT) that tells the motion controller how many motor steps correspond to 1 mm of physical movement. For belt drives: steps/mm = (steps/rev � microstepping) � (belt pitch � pulley teeth). For lead screws: steps/mm = (steps/rev � microstepping) � lead.
How to use
Select your motor resolution (steps/rev), microstepping setting, and drive type. For belt drives, enter the belt pitch and pulley tooth count. For lead screws, enter the lead (mm of linear travel per full motor revolution). Both values are computed so you can compare.
Example scenario
Standard Ender-3 X/Y: 200 steps/rev, 16� microstepping, GT2 belt (2mm), 20-tooth pulley. Steps/mm = 200�16/(2�20) = 3200/40 = 80 steps/mm. Z-axis: T8 lead screw (8mm lead). Steps/mm = 200�16/8 = 400 steps/mm.
Pro tip
After setting steps/mm in firmware, always physically calibrate by commanding a precise movement (e.g., 100 mm) and measuring actual displacement with calipers. Adjust using: new steps/mm = current steps/mm � (commanded distance / actual distance). Belt tension and backlash affect real-world accuracy.