Stepper motor speed and torque calculator: max speed, RPM and load torque

A stepper keeps its torque only while the supply voltage covers the winding's resistance and its back-EMF, which grows with speed. Enter the motor's datasheet values, the supply and the driver current to get the speed where torque starts to fall, or switch to torque to check a load's mass and acceleration.

What do you want to know
Motor

Picking a motor fills in its datasheet values. For any other motor, copy them from its datasheet.

N·cm

With both phases at the rated current. 1 N·m = 100 N·cm, 1 kg·cm = 9.81 N·cm, 1 oz·in = 0.706 N·cm.

A
Ω
mH
Driver and supply

The supply here is the voltage that feeds the stepper drivers.

V
V
A

Klipper's run_current and Marlin's X_CURRENT are RMS. RepRapFirmware's M906 is the peak: divide it by 1.414.

Ω

Duet3D's EMF calculator uses 0.5 Ω for a TMC2209, 0.3 Ω for a TMC2660 and 0.14 Ω for a TMC2160 or TMC5160.

Drive

How far the axis moves for one turn of the motor. Klipper calls it rotation_distance.

mm

Belt pitch × pulley teeth (2 mm × 20 = 40 mm), or a lead screw's lead.

Speed where torque starts to fall

–

Motor speed at that point

–

At the second supply voltage

–

Upper estimate (high lag angle)

–

Voltage used at that speed

–

The formula

Speed follows Duet3D’s method, the one behind its EMF calculator. The driver holds its set current only while the supply covers three voltage drops in the winding. Two of them are back-EMF (back electromotive force), a voltage the winding generates against the supply, and both grow with speed:

resistive drop        Vr = (phase resistance + driver resistance) × I_peak
inductive back-EMF    kL = π × I_peak × L × N / 2              volts per rev/s
rotational back-EMF   kE = √2 × π × holding torque / I_rated   volts per rev/s

speed where torque starts to fall:
  rev/s = √(V² - Vr²) / (kL + kE)
  RPM   = rev/s × 60
  mm/s  = rev/s × travel per motor turn
  • V is the motor supply voltage and I_peak the driver’s peak current per phase: its RMS (root mean square) setting × 1.414.
  • L is the phase inductance in henries and N the full steps per turn: 200 for a 1.8° motor, 400 for 0.9°.
  • The holding torque is in N·m with both phases at the rated current, I_rated.

Torque follows Oriental Motor’s sizing formulas. With A as the travel per motor turn, they reduce to one form for a belt and a screw:

force            F = m × a                  (+ m × g when the axis lifts its load)
load torque      T_load  = F × A / (2π × η)
rotor torque     T_rotor = rotor inertia × a × 2π / A
torque needed    T = T_load + T_rotor
torque available = holding torque × (I_peak / I_rated) × 0.707

η is the drive efficiency. The last line is Duet3D’s: torque follows current, and a moving motor gives about 0.707 of its holding torque at the rated peak current.

How do you calculate stepper motor max speed?

Take the supply voltage left after the resistive drop, √(V² - Vr²), and divide it by the inductive plus the rotational back-EMF per revolution per second. That is where torque starts to fall. A STEPPERONLINE 17HS19-2004S1 at 1.2 A RMS on 24 V reaches 8.16 rev/s: 489 RPM, or 326 mm/s on a 20-tooth GT2 pulley.

Worked example: a 17HS19-2004S1 on 24 V

These are the calculator’s defaults: STEPPERONLINE’s datasheet gives 2.0 A, 1.6 Ω, 3.0 mH and 0.59 N·m. The driver is a TMC2209 at 1.2 A RMS, a peak of 85% of the rating (Duet3D advises 50 to 85%).

  1. Peak current: 1.2 × 1.414 = 1.70 A.
  2. Resistive drop: (1.6 + 0.5) × 1.70 = 3.56 V.
  3. Inductive back-EMF: π × 1.70 × 0.003 × 200 / 2 = 1.60 V per rev/s.
  4. Rotational back-EMF: 1.414 × π × 0.59 / 2.0 = 1.31 V per rev/s.
  5. Speed: √(24² - 3.56²) / (1.60 + 1.31) = 23.73 / 2.91 = 8.16 rev/s, which is 489 RPM or 1,631 full steps per second.
  6. On a 20-tooth GT2 pulley (40 mm per turn): 8.16 × 40 = 326 mm/s.

At that speed, 13.0 V goes to inductive back-EMF, 10.7 V to rotational back-EMF and 3.6 V to resistance. Duet3D’s shorter formula counts inductance alone and gives 600 mm/s for the same motor. Its docs warn that rotation and winding resistance make torque drop off sooner. Here the full method nearly halves the figure.

The EMF calculator also gives a second, higher speed for a large lag angle, the angle by which the rotor trails the magnetic field: 423 mm/s here. This calculator lists it as the upper estimate. Plan with the lower figure.

Microstepping does not raise the top speed

The formula counts full steps, so 16 or 256 microsteps leave the result unchanged. Duet3D adds that high microstepping can limit speed through the rate at which the electronics send step pulses. At 16 microsteps, 326 mm/s on an 80 steps/mm axis takes 26,098 pulses per second. Klipper’s FAQ says Marlin typically steps at around 10,000 per second, which is 125 mm/s on that axis.

On a CoreXY printer (two motors that together drive X and Y), a diagonal move turns one motor at 1.414 times the head speed (Duet3D), so the head’s worst case is 326 / 1.414 = 231 mm/s.

How fast can a NEMA 17 stepper motor turn?

The STEPPERONLINE 17HS19-2004S1, a 48 mm long NEMA 17, starts losing torque at about 489 RPM on a 24 V supply at 1.2 A RMS. That is 326 mm/s on a 20-tooth GT2 pulley. On 48 V the same motor holds torque to 987 RPM, about twice as fast. Past those speeds it keeps turning, with less torque.

Each motor below runs at a peak of 85% of its own rating, with Duet3D’s 0.14 Ω driver resistance for a TMC2160 or TMC5160. Speeds in mm/s are on a 20-tooth GT2 pulley.

Motor Peak (RMS) current 24 V 48 V Torque at that current
STEPPERONLINE 17HS19-2004S1 1.70 A (1.20 A) 491 RPM, 327 mm/s 987 RPM, 658 mm/s 35.5 N·cm
LDO-42STH48-2504AC 2.13 A (1.50 A) 723 RPM, 482 mm/s 1,453 RPM, 969 mm/s 33.1 N·cm
LDO-42STH47-1684A 1.43 A (1.01 A) 598 RPM, 398 mm/s 1,200 RPM, 800 mm/s 25.9 N·cm
LDO-42STH38-1684A 1.43 A (1.01 A) 604 RPM, 403 mm/s 1,214 RPM, 809 mm/s 21.2 N·cm

The LDO 2504AC’s 1.5 mH winding lets it run fastest despite the highest current. At the worked example’s 1.2 A RMS it reaches 804 RPM on 24 V but gives 26.4 N·cm instead of 35.4. That current is a smaller share of its 2.5 A rating. Lower inductance buys speed, and current buys torque.

Doubling the voltage roughly doubles the speed in every row. A TMC2209 is rated to 28 V, so 48 V needs a driver such as BIGTREETECH’s TMC5160T Pro (8 to 56 V). The 24 V vs 48 V guide covers the wiring, and stepper motor voltage explains why a 3 V motor runs on these supplies.

Torque falls gradually above that speed

The motor does not stop at the calculated speed. Its torque falls as speed rises. SOYO’s datasheet for its 36 N·cm SY42STH38-1684A plots this at 24 V and 1.68 A: about 30 N·cm at 700 half steps per second, down to about 18.5 N·cm at 5,000 (750 RPM).

Oriental Motor calls that the pull-out torque curve. Any load above it makes the motor lose synchronism. The calculator gives the speed where the fall begins. Where the maker publishes a curve, it shows how fast the torque drops.

How do you calculate the torque a stepper motor needs?

Multiply the force by the travel per motor turn, then divide by 2π times the drive efficiency: T = F × A ÷ (2π × η). The force is mass × acceleration, plus mass × g when lifting. Add the rotor’s share. A 256 g toolhead at 3,000 mm/s² on a 20-tooth GT2 pulley needs 0.96 N·cm.

Worked example: 256 g at 3,000 mm/s²

The calculator’s torque defaults: 256 g is E3D’s listed mass for a Revo Hemera XS with its hotend, and 3,000 mm/s² is max_accel in Klipper’s Ender 3 config and Voron’s 2.4 config. Efficiency is 85%, the low end of the 85 to 95% Oriental Motor gives for belt drives.

  1. Force: 0.256 kg × 3 m/s² = 0.768 N.
  2. Load torque: 0.768 × 0.040 / (2π × 0.85) = 0.58 N·cm.
  3. Rotor: the 17HS19-2004S1’s 82 g·cm² is 8.2 × 10⁻⁶ kg·m². Angular acceleration is 3 × 2π / 0.040 = 471 rad/s², so the rotor takes 0.39 N·cm.
  4. Torque needed: 0.58 + 0.39 = 0.96 N·cm.
  5. Torque available: 59 × (1.70 / 2.0) × 0.707 = 35.4 N·cm, 36.8 times the need.

The rotor takes 40% of the total, so an estimate from the moving mass alone falls well short.

Acceleration Load Rotor Torque needed Margin at 35.4 N·cm
3,000 mm/s² 0.58 N·cm 0.39 N·cm 0.96 N·cm 36.8 ×
5,000 mm/s² 0.96 N·cm 0.64 N·cm 1.60 N·cm 22.1 ×
10,000 mm/s² 1.92 N·cm 1.29 N·cm 3.21 N·cm 11.0 ×
20,000 mm/s² 3.83 N·cm 2.58 N·cm 6.41 N·cm 5.5 ×

A 16-tooth pulley cuts the load share by 20% but raises the rotor share by 25%, so at 20,000 mm/s² the total barely moves (6.29 against 6.41 N·cm). It does lower the top speed in mm/s by 20%.

On a Z axis, lifting dominates. At the 100 mm/s² max_z_accel of Klipper’s Ender 3 config, holding the load up takes 98 times the torque of accelerating it. On a T8 screw, each kilogram lifted needs 1.25 N·cm divided by the screw’s efficiency. Take that efficiency from the screw maker.

What is holding torque in a stepper motor?

Holding torque is the most torque a motor resists at standstill with rated current in its windings, as Oriental Motor defines it. Duet3D adds that both phases carry that current, and that a load beyond it makes the motor jump steps. A moving motor at its rated peak current gives about 71% of it, and less at lower current.

Oriental Motor warns against sizing a stepper on holding torque alone, because it is measured at zero speed and torque falls as speed rises. So the calculator scales the holding torque by your current and shows the speed where torque starts to fall. Oriental Motor also applies a safety factor on top of the required torque: 2 in its worked example.

Where the inputs come from

  • Motor values. Holding torque, rated current, phase resistance, inductance, step angle and rotor inertia are all on the maker’s datasheet. LDO lists holding torque in kg·cm: multiply by 9.81 for N·cm. Its sheet gives resistance to ±10% and inductance to ±20%, so treat the result as an estimate.
  • Driver current. Klipper’s run_current and Marlin’s X_CURRENT are RMS. RepRapFirmware’s M906 is the peak, so divide it by 1.414. The stepper Vref calculator turns a motor’s rating into the Vref or firmware current to set.
  • Driver resistance. The EMF calculator uses 0.5 Ω for a TMC2209, 0.3 Ω for a TMC2660 and 0.14 Ω for a TMC2160 or TMC5160.
  • Supply. Use the voltage at the drivers. An Ender 3 runs on 24 V.
  • Travel per turn. GT2 belt has a 2 mm pitch, so a 20-tooth pulley moves 40 mm per turn and a 16-tooth pulley 32 mm. A lead screw moves its lead. The steps per mm calculator works it out from the hardware.
  • Mass and acceleration. Weigh everything the motor moves. The default 256 g is the extruder and hotend alone, so a real carriage weighs more. The acceleration calculator shows how far a move travels before it reaches full speed.

Built by 3D Calculators Team· Published · Figures last checked

Sources

  1. Duet3D documentation, Choosing stepper motors (inductance, back EMF due to rotation, holding torque, power supply requirements) (accessed 2026-11-03)
  2. RepRapFirmware.org, EMF Calculator (accessed 2026-11-03)
  3. RepRapFirmware.org, EMF Calculator script js/main.js (calcEmf: low and high slip angle speeds, driver resistances) (accessed 2026-11-03)
  4. Oriental Motor USA, Motor sizing calculations (load torque for belt and ball screw drives, acceleration torque, inertia of linear motion) (accessed 2026-11-03)
  5. Oriental Motor, Motor Sizing Basics Part 3: Acceleration Torque and RMS Torque (accessed 2026-11-03)
  6. Oriental Motor USA, Speed-torque curves for stepper motors (accessed 2026-11-03)
  7. STEPPERONLINE, 17HS19-2004S1 stepper motor drawing and specification (rev. 0, 2025; distributor-hosted copy) (accessed 2026-11-03)
  8. LDO Motors, LDO-42STH48-2504AC drawing, rev. A (copy attached to a Duet3D forum thread) (accessed 2026-11-03)
  9. LDO Motors, 42 mm hybrid stepper series information sheet (LDO-42STH38-1684A and LDO-42STH47-1684A) (accessed 2026-11-03)
  10. SOYO, SY42STH38-1684A specification with pull-out torque curve (hosted by Pololu) (accessed 2026-11-03)
  11. Klipper documentation, Frequently asked questions (Marlin step rate and max_z_velocity) (accessed 2026-11-03)
  12. Klipper example config, Creality Ender 3 (printer-creality-ender3-2018.cfg) (accessed 2026-11-03)
  13. Voron Design, Voron 2.4 reference printer.cfg (Octopus) (accessed 2026-11-03)
  14. Gates, Light Power & Precision Drive Design Manual (GT2 2 mm pitch) (accessed 2026-11-03)
  15. MatterHackers, E3D RapidChange Revo XS Hemera Hotend Kit (technical specifications, mass) (accessed 2026-11-03)
  16. MatterHackers, Creality3D Ender 3 3D printer kit (technical specifications, power input) (accessed 2026-11-03)
  17. BIGTREETECH Wiki, TMC2209 (power voltage VM) (accessed 2026-11-03)
  18. BIGTREETECH Wiki, TMC5160T Pro V1.0 (input voltage) (accessed 2026-11-03)