Stepper Motor Speed Calculator — RPM from Step Rate
Solve the classic stepper speed relation RPM = (steps/sec · 60) / steps/rev for any of its three quantities — rotational speed, step pulse rate, or steps per revolution — with step-by-step math, a live pulse-train schematic, and companion microstepping metrics.
Speed is the step rate divided by resolution
The relation is a straight division: the number of step pulses delivered per minute (steps/sec × 60) divided by the number of pulses it takes to complete one revolution (steps/rev) gives revolutions per minute. Both inputs are linear — double the step rate and you double the RPM; double the steps/rev and you halve the RPM. This is why microstepping is often described as trading speed for smoothness: at a fixed pulse rate, 1/16 microstepping runs the motor 16× slower than full step, but with far less vibration and acoustic noise.
Inductance limits real RPM
The formula gives the electrical RPM — the speed the driver thinks it is commanding. The mechanical RPM the motor actually reaches is lower at high speeds because the winding inductance resists rapid current changes. Each microstep requires the driver to reverse the current through the coil, and the L/R time constant sets how fast that reversal can happen. Above a characteristic speed — typically a few hundred RPM for a 12 V drive and a NEMA 17 motor — the current never reaches its setpoint before the next step arrives, torque falls sharply, and the motor may stall entirely. Running at 24 V or 48 V pushes this ceiling higher, which is why high-speed stepper systems almost always use higher bus voltages.
Driver step rate sets a hard ceiling
Every stepper driver has a maximum input pulse frequency. A typical A4988 handles up to about 20 kHz; a DRV8825 up to ~25 kHz; a modern TMC2209 up to ~100 kHz with clean edges. At that ceiling, RPMmax = (stepratemax × 60) / steps/rev. For a 100 kHz driver with 200 steps/rev, that is 30,000 RPM — far above anything the motor can physically reach, so the driver is not the limiting factor. For a 20 kHz driver with 3200 steps/rev (1/16 microstepping), the ceiling is only 375 RPM, which is well within the mechanical range and often becomes the real limit on speed.
Microstepping changes the mapping
Microstepping is the practice of driving the two coils with sinusoidally varying currents so that the rotor settles at intermediate positions between full steps. A driver set to 1/16 microstepping produces 16 microsteps for each full step, so a 200-step motor becomes 3200 steps/rev. The mechanical resolution improves, the motion is smoother, and resonance is reduced — but the RPM for a given pulse rate drops by the same factor. A well-designed system picks the microstep factor that balances smoothness against the maximum step rate the controller can produce.
How to Use This Calculator
The stepper speed relation links three quantities: RPM, steps/sec, and steps/rev. Pick which one you want the tool to solve, then fill in the other two.
1. Choose what to solve for
Pick RPM, steps/sec, or steps/rev from the toggle. The calculator rearranges RPM = (steps/sec × 60) / steps/rev for whichever variable you choose.
2. Start from a motor preset
Presets cover the most common configurations: a NEMA 17 at full step, 1/8, and 1/16 microstepping; a NEMA 23 at full step; a 0.9° motor at full step; and a 5:1 geared output.
3. Use the microstep helper
If you know your motor's native step angle and your driver's microstep setting, click one of the microstep helper buttons. It computes steps/rev = native × factor and fills the field above automatically.
4. Watch the driver step-rate ceiling
Every driver has a maximum input frequency. If you enter a step rate above 100 kHz, or above the ceiling you know your driver can handle, the calculator will flag it — commanding more pulses than the driver can accept causes missed steps, not higher speed.
5. Read the result and verdict
The result card shows the solved value with the equivalent rev/s, step angle in degrees, and angular velocity in °/s. A colour-coded verdict classifies the speed from very slow (positioning) through moderate (general motion) to extreme (beyond typical stepper range).
6. Switch to Advanced for depth
Advanced mode adds a chart of RPM vs. steps/rev, a sensitivity panel showing the ±1% effect of each input, and companion metrics including pulse period, pulse width, full-step equivalent RPM, and degrees per second.
What This Tool Offers
Built around the classic stepper speed relation RPM = (steps/sec × 60) / steps/rev, the fundamental link between pulse rate, step resolution, and shaft speed.
Three-way solving
Solve for RPM, step rate, or steps per revolution. The calculator rearranges the relation for whichever variable you choose.
Live pulse-train diagram
A step-signal schematic scaled to the current pulse rate, with period and pulse-width brackets, plus a rotating-shaft dial that visualises the commanded RPM.
Speed-region verdict
Each result is classified from very slow (positioning) through moderate (general motion) to extreme (beyond typical stepper range), with a coloured badge.
Microstep helper
One-click buttons that set steps/rev from a native step angle (1.8° or 0.9°) and a driver microstep factor (1, 1/2, 1/4, 1/8, 1/16, 1/32).
Dual comparison charts
RPM vs. step rate for three steps/rev values, plus an advanced RPM vs. steps/rev chart for three step rates.
Reference tables
Typical step angles by motor class, a steps-per-rev lookup grid across common microstep factors, and a full variable reference table.
Reference Tables & Conversions
A speed and step-rate converter, a steps-per-rev lookup grid, and typical parameters by motor class.
Stepper speed & step rate converter
Steps-per-Revolution Lookup by Motor & Microstep Setting
Native step angles and the most common microstep factors. Cells show steps per revolution of the motor shaft.
| Native step angle | Full step | 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 |
|---|
Typical Stepper Motor Classes
Representative parameters. Actual holding torque, rated current, and inductance depend on the specific model.
| Motor class | Step angle | Native steps/rev | Common microstep | Effective steps/rev | Notes |
|---|---|---|---|---|---|
| NEMA 8 (20 mm) | 1.8° | 200 | 1/16 | 3200 | Small 3D-printer extruder motors |
| NEMA 11 (28 mm) | 1.8° | 200 | 1/16 | 3200 | Compact XY stages and camera sliders |
| NEMA 14 (35 mm) | 1.8° | 200 | 1/16 | 3200 | Light-duty CNC and 3D printers |
| NEMA 17 (42 mm) | 1.8° | 200 | 1/16 | 3200 | Most common class: 3D printers, small CNC |
| NEMA 17 high-res | 0.9° | 400 | 1/16 | 6400 | Higher precision at the same frame size |
| NEMA 23 (57 mm) | 1.8° | 200 | 1/8 | 1600 | Larger CNC routers and plasma tables |
| NEMA 34 (86 mm) | 1.8° | 200 | 1/8 | 1600 | Heavy CNC and industrial positioning |
| Geared NEMA 17 5:1 | 1.8° | 200 | 1/16 | 16000 (output) | Higher torque, lower output speed |
Variable Reference
| Symbol | Meaning | Typical range | Units |
|---|---|---|---|
| RPM | Rotational speed of the shaft | 0 – 2000 | rev/min |
| steps/sec | Step pulse rate (also Hz, PPS) | 1 – 100,000 | pulses/s |
| steps/rev | Steps per revolution of the shaft | 48 – 25,600 | pulses/rev |
| step angle | Degrees per step = 360 / steps/rev | 0.014 – 7.5 | ° |
| T | Pulse period = 1 / steps/sec | 10 µs – 1 s | s |
| µstep factor | Driver microstepping | 1 – 64 | — |
| ω | Angular velocity = RPM × 6 | 0 – 12,000 | °/s |
What Does RPM = (steps/sec · 60) / steps/rev Measure?
The stepper speed relation converts a step pulse rate into a shaft speed. It answers a simple question: if the driver is sending 1000 step pulses per second to a motor that needs 200 pulses to complete one revolution, how fast is the shaft turning? The answer is 300 RPM — 1000 pulses per second become 60,000 pulses per minute, and 60,000 divided by 200 is 300 revolutions per minute. Every stepper-based motion controller computes this exact figure when it wants to report the commanded speed.
The formula is exact for open-loop stepper motion: every pulse the driver accepts advances the rotor by one full step (or one microstep, if the driver is configured for microstepping). Unlike a DC motor, where the actual speed depends on load and back-EMF, a stepper's commanded speed is deterministic — the driver moves the motor exactly as many steps as it is told, no more and no less, as long as the motor has enough torque to keep up. When it doesn't, the motor stalls or skips steps, and the formula stops describing the physical shaft speed. This is why the practical maximum RPM of a stepper system is a torque question, not an arithmetic one.
Stepper Speed Formula
The defining relationship is:
Rearranged to solve for the other two quantities:
steps/rev = ( steps/sec × 60 ) / RPM [singular when RPM = 0]
Companion relations that follow directly:
step angle (deg) = 360 / steps/rev
angular velocity (°/s) = RPM × 6
pulse period T = 1 / steps/sec
full-step equivalent RPM = RPM × (native steps / steps/rev)
The pulse period is the time between successive step commands. It is the reciprocal of the step rate, and it must always be longer than the driver's minimum pulse width and setup time — typically a few hundred nanoseconds for modern drivers, but seconds for old slow-relay-based systems.
Stepper Speed Variables
| Symbol | Meaning | Notes |
|---|---|---|
| RPM | Rotational speed | Shaft speed in revolutions per minute; 300 RPM = 5 rev/s |
| steps/sec | Step pulse rate | Frequency of STEP pulses arriving at the driver; also written Hz or PPS |
| steps/rev | Steps per revolution | Native steps/rev × microstep factor × gear ratio (if any) |
| step angle | Degrees per step | 360 / steps/rev; 1.8° at 200 steps/rev |
| T | Pulse period | 1 / steps/sec; must exceed the driver's minimum timing |
| µstep | Microstep factor | 1, 2, 4, 8, 16, 32, 64, 128 — set on the driver |
How Each Variable Affects the Shaft Speed
The relation is linear in the step rate and inversely proportional to steps/rev. Doubling the step rate doubles the RPM. Halving steps/rev doubles the RPM for the same pulse rate. In practice, both inputs are usually set by the system designer: the step rate is chosen by the controller firmware, and steps/rev is chosen by the microstep setting on the driver. The trade-off between the two is the central design decision in stepper motion — more microsteps gives smoother motion and higher positional resolution, but at a fixed maximum pulse rate it also lowers the achievable top speed.
There is a second, less obvious constraint. The electrical time constant of the motor winding is τ = L / R, where L is the winding inductance and R is the winding resistance plus the driver's sense resistance. To drive a step, the current must swing from one polarity to the other through this time constant. If the pulse period T is shorter than a few multiples of τ, the current never reaches its full value, torque falls off, and the motor may not follow the commanded pulses. This is why the RPM given by the formula is an upper bound — the true speed depends on whether the drive can deliver enough current in the available time.
The practical result is that most hobbyist stepper systems run comfortably between 60 and 600 RPM, with the exact ceiling set by the supply voltage, motor inductance, driver capability, and mechanical load. Professional systems running 48 V or 80 V with low-inductance motors can push above 1500 RPM, but the torque available at those speeds is a small fraction of the holding torque. For high-speed applications, servo motors usually win on torque density; steppers dominate where precise open-loop positioning matters more than raw speed.
Stepper Speed Calculation Examples
RPM = (1000 × 60) / 200 = 60000 / 200 = 300 RPM
steps/sec = (300 × 200) / 60 = 60000 / 60 = 1000 steps/sec
steps/rev = (1000 × 60) / 300 = 60000 / 300 = 200 steps/rev
steps/rev = 200 × 16 = 3200
RPM = (8000 × 60) / 3200 = 480000 / 3200 = 150 RPM
steps/sec = (600 × 400) / 60 = 4000 steps/sec (well within a typical driver's range)
RPM_max = (20000 × 60) / 3200 = 1200000 / 3200 = 375 RPM
Frequently Asked Questions
Because the left-hand side is in revolutions per minute, and the step rate is in steps per second. Multiplying the step rate by 60 converts steps per second into steps per minute. Then dividing by steps/rev converts steps per minute into revolutions per minute, which is exactly what RPM means. If you preferred to work in rev/s, the formula would be rev/s = steps/sec / steps/rev, with no factor of 60 — but RPM is the conventional unit in datasheets and motion-controller firmware, so the 60 stays.
It depends on what you hold constant. For a fixed step pulse rate, increasing the microstep factor proportionally increases steps/rev, so the RPM drops by the same factor. For a fixed mechanical RPM, microstepping increases the required step rate by the same factor — for example, running 300 RPM at 1/16 microstepping on a 1.8° motor needs 16,000 steps/sec instead of the 1000 steps/sec required at full step. So microstepping does not change the motor's physical capability, but it does change the pulse-rate budget you need to hit a given speed. This is why designers pick the lowest microstep factor that gives acceptable smoothness for their application.
Three things, in order of importance. First, winding inductance: as the pulse period shortens, the driver has less time to reverse the current in each coil, so the actual current — and therefore torque — falls off. Above a characteristic speed the torque drops to the point where the motor cannot overcome friction and inertia, and it stalls. Second, supply voltage: higher voltage drives current into the winding faster, pushing the ceiling higher. This is why industrial stepper drives run at 48 V or 80 V instead of 12 V. Third, the driver's maximum step rate: an old A4988 tops out around 20 kHz, while a TMC2209 handles 100 kHz; a slow driver becomes the limiting factor long before the motor does at high microstep factors.
Because at high speed the driver cannot push enough current through the winding to generate the torque needed to accelerate the rotor and overcome load. The current that can be developed in the winding over a time interval Δt is roughly I = (V / R) · (1 − e−Δt/τ), where τ = L/R is the winding time constant. As the step rate increases, Δt decreases, and the current per step approaches zero. When the resulting torque is insufficient, the rotor falls out of sync with the magnetic field and either buzzes in place or skips steps. Increasing the supply voltage, choosing a lower-inductance motor, or reducing the microstep factor are the three standard cures.
Multiply the RPM by the distance moved per revolution and divide by 60 to get units per second. For a belt drive with a pulley circumference C mm, linear speed = (RPM / 60) × C mm/s. For a lead screw with a pitch of P mm per revolution, linear speed = (RPM / 60) × P mm/s. For a lead screw with a 4-start 2 mm pitch screw, the effective P is 8 mm per revolution. The steps/rev figure does not directly enter this conversion — it only matters if you want to know how many steps correspond to one millimetre of motion, which is steps/rev divided by millimetres per revolution.
No. Torque falls with speed in a stepper, and the usable torque at high RPM is often a small fraction of the holding torque. For applications that need both speed and torque, servo motors or closed-loop steppers (which detect missed steps and compensate) are often a better choice. For applications dominated by precision, acceleration, or cost, open-loop steppers at moderate speeds remain the practical workhorse of CNC, 3D printing, and automation — and the RPM formula here is the first number you compute when sizing a system.
Every driver datasheet specifies a minimum high-time for the STEP signal and a minimum setup time relative to the DIR signal. Typical values are 1–2 µs for older drivers like the A4988, 100–500 ns for modern ones like the TMC2209, and 50 ns or less for high-speed industrial drivers. The pulse period T = 1 / steps/sec must always exceed the pulse width plus any dead time, so the maximum usable step rate is limited by max_step_rate ≈ 1 / (t_high + t_dead). If you exceed this, the driver simply ignores pulses, so the motor runs slower than commanded — which is often mistaken for a mechanical stall but is really a signalling problem.
Variables
| Symbol | Quantity | Unit |
|---|---|---|
| RPM | Motor speed | revolutions per minute |
| steps_per_sec | Step pulse rate sent to the motor | steps/s |
| steps_per_rev | Number of steps required for one full revolution |
What it means
Stepper motors move in discrete steps. The speed in revolutions per minute (RPM) is determined by the step rate and the number of steps per revolution. This is used to command stepper motors in open‑loop control. Understanding this helps in setting appropriate step rates for desired speeds.
Worked example
Stepper Motor Speed (RPM) – Two Detailed Examples
Real‑World| Parameter | Value |
|---|---|
| steps_per_sec | 200 |
| steps_per_rev | 200 |
| Parameter | Value |
|---|---|
| steps_per_sec | 1000 |
| steps_per_rev | 400 |
Common mistakes
- Stepper motor speed (RPM): RPM = (steps_per_sec × 60) / steps_per_rev.
- steps_per_sec: The pulse frequency to the driver – in Hz.
- steps_per_rev: The number of steps per full rotation – depends on motor and microstepping.
- Units: steps_per_sec in Hz, steps_per_rev dimensionless → RPM.
- Torque drop: As speed increases, torque decreases – refer to torque‑speed curve.
Applications
Stepper motor speed in RPM, RPM = (steps_per_sec × 60)/steps_per_rev, converts the step rate to rotational speed. This is used to set desired motion speeds in stepper‑based systems. Engineers use it to program motion profiles, to control acceleration and deceleration, and to ensure that the motor operates within its torque‑speed limits. By calculating RPM, they can match the motor speed to the application requirements, such as conveyor belt speed or axis feed rate. This formula is essential for selecting and programming stepper motors in automation and robotics.
- Speed setting for stepper motor driven axes
- Programming motion profiles for 3D printers and CNC machines
- Matching motor speed to process requirements
- Acceleration and deceleration ramping calculations
- Educational understanding of stepper motor operation
Related calculators · Kinematics
Recently updated formulas
Suggest an improvement
Found a mistake? Have a better example? Let us know.
You may send up to 3 suggestions per 24 hours.