Stepper motors
Steps per mm for belts, lead screws, and gear reductions with microstepping; the resolution you can rely on; the reference voltage for A4988, DRV8825, and TMC2208/2209 drivers; and a corner-speed and step-rate check against your controller.
Added
How to use it
Values accept engineering notation (3m for 3 mH, 1.5A, 0R11).
-
Belt — steps/mm = full steps per revolution × microsteps × reduction ÷ (belt pitch × pulley teeth). GT2 belt, 20-tooth pulley, 1.8° motor at 1/16 microstepping is the familiar 80 steps/mm. Klipper’s
rotation_distanceis the travel per motor turn: full steps × microsteps ÷ steps/mm. -
Lead screw — lead = pitch × starts; steps/mm = full steps × microsteps × reduction ÷ lead. A T8 screw is usually 2 mm × 4 starts = 8 mm lead (400 steps/mm at 1/16). Layer heights that are a whole number of full steps avoid rounding in Z.
-
Rotary & gears — steps per degree for a rotary axis or a geared extruder.
-
Driver current (Vref) — the reference voltage for a current setting. A4988 (Allegro datasheet): Itrip = Vref ÷ (8 × Rs). DRV8825 (TI datasheet): Ichop = Vref ÷ (5 × Rs). TMC2208/2209 standalone (Trinamic datasheets): IRMS = (Vref ÷ 2.5 V) × 0.325 V ÷ (Rs + 0.02 Ω) ÷ √2. Read the sense resistor on your board (R068 = 0.068 Ω, R100 = 0.1 Ω, R110 = 0.11 Ω). Start at 60–80% of the motor’s rated per-phase current and check it runs below about 60–70 °C. TMC drivers in UART mode take their current from the firmware instead.
-
Speed & step rate — the corner speed, roughly V ÷ (2 × L × I) full steps per second, is where the driver can no longer push the set current into the winding each step; above it torque falls roughly as 1/speed (a rule of thumb from Geckodrive’s application notes, which also suggest a supply of about 32 × √L in mH). It is an estimate: back-EMF, decay mode, resonance, and the load change it. The step pulse rate is speed × steps/mm; compare it with your controller — typical limits are about 10 kHz for Marlin on an 8-bit AVR, 30 kHz for GRBL on an Uno (its documented maximum), 100–200 kHz for 32-bit Marlin, and several hundred kHz for Klipper on 32-bit MCUs.
Microstepping smooths motion, but positions between full steps depend on torque and load: rely on roughly full-step precision, not one microstep. To calibrate a real printer, use printer calibration; for gear trains see gears.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.