# Stepper motor step frequency and microstepping calculator

> Work out the step pulse frequency for a stepper motor from RPM, steps per revolution and microstepping, with a worked example.

Canonical: https://roboticsengineering.in/stepper-motor-step-frequency-calculator/ | Published: 2026-11-03 | Updated: 2026-11-04

**The pulse rate your controller must produce is steps per revolution times microsteps times turns per second.** Enter your motor and driver settings below.

Full steps per revolutionMicrosteps per stepTarget speed (RPM)

Pulses per revolution: **–**Step frequency: **–** HzAngle per microstep: **–** degrees

Real motors lose torque as speed rises. Check the torque curve and ramp the speed instead of jumping to it.

## How it is calculated

Pulses per revolution = full steps per revolution × microsteps. Step frequency = pulses per revolution × RPM ÷ 60. Angle per microstep = 360 ÷ pulses per revolution.

## A worked example

A 200-step motor at 16 microsteps needs 200 × 16 = 3,200 pulses per revolution. At 60 RPM that is 3,200 × 60 ÷ 60 = 3,200 Hz. Each microstep is 360 ÷ 3,200 = 0.1125 degrees.

## Common mistakes

- Forgetting microstepping when setting the pulse rate.
- Expecting full torque at high speed. Torque falls as the speed rises.
- Starting at the target speed. Accelerate gradually to avoid missed steps.

## Related

[gear train calculator](https://roboticsengineering.in/gear-train-calculator/), [wheel speed calculator](https://roboticsengineering.in/wheel-speed-rpm-calculator/), [servo torque calculator](https://roboticsengineering.in/servo-torque-calculator/).

Last reviewed: November 2026. The calculator runs in your browser and sends nothing anywhere. Results are ideal-case figures; add margin before you order parts.

## Working backwards from a pulse rate

You can rearrange the formula to find speed from a known frequency: RPM = step frequency × 60 ÷ pulses per revolution. A controller sending 10,000 Hz to a driver set to 200 × 16 = 3,200 pulses per revolution gives 10,000 × 60 ÷ 3,200 = 187.5 RPM.

## Two more worked examples

- A 1.8 degree motor has 200 full steps per revolution. Driven in full-step mode at 300 RPM it needs 200 × 300 ÷ 60 = 1,000 Hz.
- A 0.9 degree motor has 400 full steps. At 8 microsteps that is 3,200 pulses per revolution, and at 120 RPM the pulse rate is 3,200 × 120 ÷ 60 = 6,400 Hz. The angle per microstep is 360 ÷ 3,200 = 0.1125 degrees.

Full steps per revolution is 360 divided by the step angle. If the label only gives a step angle, use that to find it.

## Limits to keep in mind

- The driver has a maximum step input frequency in its datasheet. Check that your calculated frequency is below it, and that your microcontroller can generate it without jitter.
- Higher microstepping makes motion smoother but multiplies the pulse rate. It does not give proportional position accuracy, because the real error depends on the motor and load.
- Torque falls as speed rises, and a stepper can skip steps if it is asked to accelerate too fast or carries too much load. Use a ramp from a low starting speed.
- With a gearbox or lead screw, divide by the ratio afterwards to find output speed or linear travel.

## Common mistakes

- Mixing up step angle and steps per revolution.
- Assuming the driver’s microstep setting matches what the code expects. Check the mode pins or jumpers on the driver board.
- Using a software delay loop that cannot produce the required pulse rate.
