20 min read Hugues Orgitello EN
Stepper motors: drivers, microstepping and motion-control basics
Stepper motor design: NEMA standards, microstepping (1/16, 1/32), driver selection (TMC2209, TMC5160), torque curves, S-curve profiles. AESTECHNO Montpellier.
Stepper motors (SPM) are Rotary Electromechanical Actuators (REA) that convert electrical pulses into discrete angular movements of 1.8° (200 steps/rev) or 0.9° (400 steps/rev), positioning a shaft without an encoder. At AESTECHNO (Montpellier), we design the power stages (TMC2209, DRV8825, A4988), the jerk-limited S-curve firmware and the EMC-compliant PCB, typically built around STM32 or ESP32 MCUs.
Network integration is handled through Modbus RTU, CAN-FD or MQTT depending on the target industrial ecosystem, in line with IEC 61131 and IPC-2221. Control is implemented on Zephyr Project, FreeRTOS or real-time Linux depending on criticality.
Contents
- How a stepper motor works
- Stepper motor drivers
- S-curves and motion profiles
- Stepper vs servo motor: how to choose?
- Industrial applications
- Common pitfalls and field experience
- Selection guide: NEMA 14 / 17 / 23 / 34
- Key takeaways
These actuators are everywhere in digital manufacturing (3D printers, CNC, pick-and-place), instrumentation (syringe pumps, analysers) and robotics. Their sizing follows public international standards: IEC 60034 (rotating electrical machines) and the NEMA dimensional standards (14, 17, 23, 34) that define the front face and mechanical tolerances, as detailed in the NEMA description on Wikipedia. Getting the most out of them requires mastering the full chain: motor selection, matching driver, optimised S-curve profiles, power PCB with controlled stackup and impedance, traces sized per IPC-2152 (current rules), EMC-aware routing within the EN 55011 Class B limits, and differential pairs for high-frequency clock signals.
Key takeaways (TL;DR)
A stepper motor converts electrical pulses into fixed angular steps (1.8° or 0.9°) to position a shaft without an encoder. Modern drivers like the TMC2209, DRV8825 and A4988 handle microstepping up to 1/256, and jerk-limited S-curve profiles eliminate mechanical vibration. Sizing follows the IEC 60034 and NEMA 14/17/23/34 standards. For 2026 industrial embedded systems, we recommend the Trinamic TMC2209 or TMC5160 for quiet operation (StealthChop) and sensorless stall detection (StallGuard).
How a stepper motor works
A stepper motor is a Discrete Electromechanical Actuator (also called a Discrete Rotary Actuator, or DRA) that converts electrical pulses into reproducible angular movements. Each pulse rotates the rotor by a fixed angle called a "step", typically 1.8° (200 steps per revolution) or 0.9° (400 steps per revolution), enabling precise open-loop positioning without a feedback sensor. It complies with the IEC 60034 standards (IEC 60034-1 for rotating electrical machines) and the NEMA ICS 16 dimensional standards (National Electrical Manufacturers Association).
The motor consists of a stator (the fixed part carrying the coil windings) and a rotor (the moving part, often a permanent magnet or soft-iron toothed assembly). When current flows through a pair of stator coils, it creates a magnetic field that pulls the rotor into an equilibrium position. By energising the different phases sequentially (typically 2 or 4), the rotor advances step by step. This sequential operation is handled by a driver circuit that takes STEP and DIR signals from the microcontroller.
The main advantages of a stepper motor are its inherent positioning accuracy, its high holding torque at standstill (the rotor stays locked in position), its brushless construction (and therefore extended service life) and the simplicity of open-loop control.
Unipolar vs bipolar
The distinction between unipolar and bipolar motors comes down to coil wiring and drive method. The choice has a direct impact on torque, driver complexity and overall system performance.
| Criterion | Unipolar | Bipolar |
|---|---|---|
| Wiring | Centre-tapped winding (5 or 6 wires) | Winding without centre tap (4 wires) |
| Driver required | Simple (transistors or ULN2003) | H-bridge (A4988, DRV8825, TMC2209) |
| Motor torque | Lower (only half the winding is used) | Higher (+30 to 40% torque) |
| Energy efficiency | Lower | Better |
| Recommended use | Quick prototyping, simple applications | CNC, robotics, 3D printing, industrial |
At AESTECHNO, we systematically recommend bipolar motors for industrial projects. The added driver cost is more than offset by the gain in torque (+30 to 40%) and efficiency.
Typical currents and voltages (datasheets from Trinamic / Analog Devices, Allegro MicroSystems, Texas Instruments): a typical NEMA 17 with 40 to 200 N·cm of holding torque draws 1.5 to 2 A per phase under 12 to 36 V supply, according to Trinamic's official TMC2209 datasheets. The recommended supply voltage is generally 8 to 20 times higher than the rated coil voltage; it is this high-voltage chopping (with a typical switching frequency of 25 to 50 kHz on the TMC2209) that lets the driver hold rated current at high speed.
How to choose a stepper motor driver?
The driver is the electronic circuit that interfaces between the microcontroller and the stepper motor. It receives low-power logic signals (STEP, DIR, ENABLE) and generates the power-level currents needed to energise the motor coils with the correct sequence and amplitude, while embedding overcurrent and overtemperature protection.
Driver choice is decisive for system performance. An ill-sized driver leads to excessive vibration, acoustic noise, abnormal heating or missed steps. The driver must match the motor's rated current, the supply voltage and the desired microstepping level.
Drive modes: full-step, half-step, microstepping
In full-step, the driver energises one phase at a time: the motor advances 1.8° per pulse. Torque is at its maximum but motion is jerky. In half-step, the driver alternates between one and two active phases, doubling the resolution to 0.9° per step. Microstepping divides each step into substeps (1/4, 1/8, 1/16, up to 1/256) by sinusoidally modulating the current in the coils. Motion becomes extremely smooth and quiet, at the cost of a slight torque reduction at intermediate positions.
Microstepping is now the default for any application that demands smoothness and silence: 3D printers, medical equipment, motorised cameras. Modern drivers like the TMC2209 natively integrate 1/256 microstepping with interpolation. According to Trinamic application notes and Allegro A4988 datasheets, microstepping noticeably reduces mechanical vibration compared with full-step.
Comparison of popular drivers
The table below compares the four most common drivers used in embedded systems and CNC machines. These drivers are configured either through hardware pins or through a serial interface such as SPI or I2C, allowing the embedded firmware to dynamically adjust current, microstepping and protection modes.
| Feature | A4988 | DRV8825 | TMC2209 | TMC5160 |
|---|---|---|---|---|
| Manufacturer | Allegro | Texas Instruments | Trinamic | Trinamic |
| Max voltage | 35 V | 45 V | 29 V | 36 V |
| Max current (RMS) | 2 A | 2.5 A | 2 A | 3 A (external) |
| Max microstepping | 1/16 | 1/32 | 1/256 (interpolation) | 1/256 |
| Config interface | MS1/MS2/MS3 pins | MODE pins | UART | SPI |
| Advanced features | Thermal protection | Overcurrent detection | StealthChop, StallGuard, CoolStep | StealthChop, StallGuard, integrated S-curve ramps |
| Typical use case | Prototyping, hobby CNC | Semi-pro CNC, 3D printer | Quiet 3D printer, medical equipment | Industrial, high-performance robotics |
For professional applications, we recommend the Trinamic family (TMC2209 or TMC5160) for their near-silent operation (StealthChop mode) and sensorless stall detection (StallGuard). As an alternative, the STMicroelectronics L6470 embeds a complete motion controller with programmable trapezoidal profiles over SPI; firmware-side integration fits naturally on Zephyr Project or FreeRTOS, as documented in the Linux kernel PWM subsystem for embedded Linux variants. According to STMicroelectronics application note AN4144, the L6470 supports up to 1/128 microstepping with an integrated power stage.
S-curves and advanced motion profiles
A motion profile is the mathematical law that dictates how a stepper motor accelerates, holds its cruise speed and decelerates. Profile choice has a direct impact on motion smoothness, mechanical vibration, final positioning accuracy and the service life of the driven mechanism. Two profiles dominate: trapezoidal and S-curve.
The trapezoidal profile is the simplest: constant acceleration, velocity plateau, constant deceleration. It is easy to implement but introduces sharp transitions (infinite jerk), which causes vibration and mechanical resonance.
The S-curve profile smooths the transitions by applying a gradual change in acceleration (limited jerk). Acceleration ramps up gradually, reaches a plateau, then ramps down gradually before the velocity plateau. The benefits are significant:
- Reduced vibration: smooth transitions eliminate abrupt mechanical excitation
- Avoided resonances: the gradual ramp crosses the resonance bands faster
- Extended service life: less stress on belts, bearings and couplings
- Improved accuracy: the final position is more stable, with no residual oscillation
Advanced drivers like the TMC5160 embed a hardware S-curve ramp generator. On simpler drivers, the S-curve profile must be implemented in the microcontroller firmware, which requires real-time computation of the intervals between STEP pulses. According to the Trinamic TMC5160 documentation, hardware S-curve ramps significantly reduce CPU load compared with software generation.
At AESTECHNO, we designed a multi-axis stepper drive board with jerk-limited profiles, specifically aimed at very low-vibration applications. The challenge was twofold: tightly synchronising several axes simultaneously, and smoothing the acceleration transitions to avoid any residual mechanical excitation. The architecture combines a real-time firmware S-curve ramp generator with TMC drivers in StealthChop mode to maximise motion smoothness. On a recent project, we measured a very clear reduction of residual vibration when switching to the S-curve. In our practice on lab equipment, we have tested trapezoidal and jerk-limited profiles compared via accelerometer vibration plots. Concrete case: on a medical syringe pump, we observed that a properly tuned S-curve profile suppressed piston oscillations without changing the motor.
Stepper motor vs servo motor: how to choose?
Choosing between a stepper motor and a servo motor is a system architecture decision driven by torque, speed, dynamic accuracy and budget requirements. Each technology shines in different domains, and the wrong choice can lead to significant cost overruns or insufficient performance over the product's lifetime.
| Criterion | Stepper motor | Servo motor |
|---|---|---|
| Control loop | Open (no encoder needed) | Closed (encoder mandatory) |
| Torque | High at low speed, drops off at high speed | Constant across the speed range |
| Max speed | Limited (~1,000-2,000 RPM) | High (> 5,000 RPM) |
| System cost | Low (motor + simple driver) | High (motor + encoder + drive) |
| Software complexity | Low (pulse generation) | High (PID servo loop) |
| Holding torque | Native (magnetic detent) | Requires active servo control |
| Typical applications | 3D printer, CNC, dispensers, textile | Industrial robotics, machine tools, AGVs |
In practice, stepper motors cover most positioning needs at moderate speed. Servo motors take over as soon as dynamics (fast accelerations, high speeds) or constant high-speed torque are required. A hybrid solution exists: the "closed-loop stepper" adds an encoder to a stepper motor to combine simplicity and reliability.
Industrial applications of stepper motors
Stepper motors are everywhere in modern industry, anywhere precise, reproducible and cost-effective positioning is required. Their open-loop operation simplifies system integration and lowers costs, which explains their widespread adoption in sectors ranging from digital manufacturing to medical instrumentation.
CNC machines and laser cutting: the X, Y and Z axes of mills, engravers and laser cutters use NEMA 23 or NEMA 34 motors in microstepping mode to position the tool with a few-micron resolution. The TMC5160 driver is particularly well suited to these applications thanks to its integrated S-curve ramps. For vision/supervision architectures, an NVIDIA Jetson SoC or a Raspberry Pi paired with an STM32 MCU (Cortex-M4) handles multi-axis coordination, with firmware versioned in GitHub or GitLab according to the IEC 62443 standards.
3D printing: each motion axis and the filament extruder are driven by NEMA 17 motors. The TMC2209 in StealthChop mode has reshaped the sector by making printers near-silent, a major asset for office environments and fab labs.
Robotics and pick-and-place: positioning robots use stepper motors to place electronic components, dispense fluids or handle samples. Positioning reproducibility is critical in these applications.
Medical and laboratory: syringe pumps, biological analysers, imaging scanners. Dosing accuracy and silent operation (thanks to advanced microstepping) are regulatory requirements in this sector. Per IEC 60601-1, the applicable electrical safety extends to the actuation module; embedded software follows IEC 62304 (classes A/B/C) and the quality system follows ISO 13485. A Class IIa medical device (MDR 2017/745) typically integrates a stepper motor for dosing, with risk management per ISO 14971.
IoT and remote supervision: on a connected industrial axis, motor status (position, StallGuard errors, driver temperature) is published via MQTT or LoRaWAN to a cloud. According to Trinamic in the TMC-EVALSYS application notes, the diagnostic register of the TMC5160 exposes these fields directly to firmware. A Jetson Nano SoC can run edge AI inference on accelerometer signals to detect mechanical wear.
Practical step calculation. Angular resolution depends on microstepping.
steps_per_rev = 200 * microstepping
// NEMA 17 at 1/16: 200 * 16 = 3200 steps/rev
// linear resolution (GT2 belt, 20-tooth pulley, 2 mm pitch):
// distance_per_step = 40 / 3200 = 12.5 um/step
Textile and packaging: fabric cutting machines, labelling systems and packaging lines use stepper motors to synchronise multiple motion axes at high cadence.
Common pitfalls and field experience
Controlling stepper motors looks simple on paper, but it requires mastering a number of technical pitfalls in practice. At AESTECHNO, we have worked on projects where motor design errors led to costly rework. We have, in particular, designed and validated a multi-axis drive board with jerk-limited profiles for a customer whose application demanded extremely low vibration, a context where every acceleration jolt translates into a visible degradation of the mechanical output. Below are the most frequent issues and our recommendations to avoid them.
Vibration field experience: to characterise the real mechanical behaviour of an axis, we use the wide-bandwidth accelerometer IIS3DWB from STMicroelectronics (bandwidth above 6 kHz). Mounted directly on the driven structure, it lets us visualise the effect of every motion-profile parameter (jerk, max acceleration, cruise speed) on residual vibration. This measurement loop is essential for tuning S-curve profiles before final validation.
Step loss: this is the most feared issue. The motor "skips" steps under excessive load or too rapid acceleration, leading to cumulative position drift. Contrary to the assumption that simply increasing current is enough, we have observed that the main cause is undersized motor torque. Contrary to the conservative approach of systematically oversizing, our experience on a recent lab positioning project leads us to recommend a 50 to 100% margin on the required torque to guarantee reliability.
Resonance: stepper motors have resonance speed bands (typically between 100 and 300 steps/s) where vibration amplifies and can cause step losses. Microstepping mitigates this phenomenon, and S-curve profiles let the system cross these critical bands quickly.
Oversizing: conversely, an over-powerful motor consumes energy unnecessarily, runs hotter and adds weight to the system. In our practice, the most frequent mistakes involve picking a NEMA 23 where a NEMA 17 would suffice, out of an excess of caution.
Insufficient supply: a stepper motor needs a supply voltage well above the rated coil voltage (a factor of 2 to 3 times is recommended). Too low a supply caps speed and torque performance. Power-supply quality and decoupling are critical.
EMC disturbances: stepper motor drivers switch large currents at high frequency, which generates significant electromagnetic emissions. Careful PCB routing, dedicated ground planes and proper filtering are essential to pass electromagnetic compatibility (CE/FCC) testing.
Thermal: a stepper motor draws current even at standstill (holding torque). The thermal dissipation of both the driver and the motor must be considered from the design phase. Trinamic drivers with the CoolStep feature automatically reduce the current when load is low.
Selection guide: choosing the right motor
The choice of stepper motor format (defined by the NEMA standard, which specifies the front-face dimensions) depends on the required torque, the available envelope and the target application. A correctly sized motor offers the best trade-off between performance, consumption and cost over the system's lifetime.
| Format | Front face | Typical torque | Applications |
|---|---|---|---|
| NEMA 14 | 35 x 35 mm | 0.1 to 0.2 N.m | Small robotics, light extruders, cameras |
| NEMA 17 | 42 x 42 mm | 0.2 to 0.6 N.m | 3D printer, light CNC, pick-and-place |
| NEMA 23 | 57 x 57 mm | 0.5 to 3.0 N.m | Semi-pro CNC, laser cutting, automation |
| NEMA 34 | 86 x 86 mm | 3.0 to 12.0 N.m | Industrial CNC, heavy machinery, presses |
The NEMA 17 remains the most versatile and most common format. For industrial projects, a well-written specification capturing the load profiles and the duty cycles allows the motor to be sized accurately and avoids costly mistakes.
For technical decision-makers, the choice of stepper motor directly impacts the quality and reliability of your products. A properly sized and correctly driven motor guarantees consistent positioning accuracy over the system's lifetime, reducing maintenance costs and after-sales returns. At AESTECHNO, we have observed that motor-sizing mistakes at the design stage often lead to costly rework in production. Expert support from the specification stage onwards optimises total cost of ownership: matched-driver selection, robust motor-control firmware development, and EMC compliance validation of the power stages. A well-controlled product design from the outset secures both schedule and budget.
Key takeaways: 5 decisions that shape the quality of a stepper axis
A reliable stepper axis is built from 5 quantified decisions: (1) pick a bipolar motor (+30-40% torque vs unipolar) sized with a 50 to 100% margin on required torque; (2) pick the NEMA format per the NEMA standard (NEMA 17 40-60 N·cm for 3D printing, NEMA 23 50-300 N·cm for semi-pro CNC, NEMA 34 300-1200 N·cm for heavy industry); (3) drive in 1/16 to 1/256 microstepping with a matching driver (A4988 up to 2 A, DRV8825 up to 2.5 A peak, TMC2209 up to 2 A RMS with StealthChop); (4) implement a jerk-limited S-curve profile to eliminate vibration during accelerations; (5) provide a supply voltage 8 to 20 times higher than the coil voltage and validate conducted/radiated emissions per EN 55011 Class B.
The mechanical and electrical compliance of rotating electrical machines is governed by the IEC 60034 series (insulation classes, temperature rise, vibration), the reference to consult for any industrial integration. At AESTECHNO, we measure the actual vibration behaviour of axes with the IIS3DWB accelerometer (bandwidth >6 kHz) before final validation, because the driver datasheet never tells you how the axis behaves once it is loaded.
Motor-control project? AESTECHNO expertise
Are you developing a system with stepper or servo motors? Our experts support you on:
- Driver and motor selection
- Real-time firmware development (S-curves)
- Power and control board design
- EMC certification and machine safety
Why choose AESTECHNO?
- 10+ years of expertise in embedded systems and motor control
- 100% success rate on CE/FCC certifications
- 65 projects delivered since 2022
- French electronic design office based in Montpellier
Article written by Hugues Orgitello, electronic design engineer and founder of AESTECHNO. LinkedIn profile.
Related Articles
- MEMS accelerometers - Motion sensors for embedded systems
- From idea to certified product - Electronic design methodology
- Electronic board design - Complete guide to schematic, routing and industrialisation
- PCB design - The secrets of successful routing
- EMC compliance - Methodology for electronic product validation
FAQ: Stepper Motors
What is the difference between unipolar and bipolar stepper motors?
Unipolar: centre-tapped winding, simple drive (4-5 wires), lower torque, suitable for basic applications. Bipolar: winding without centre tap, requires an H-bridge (more complex driver), higher torque (+30-40%), better efficiency, preferred for robotics/CNC. Choose unipolar for simple prototyping, bipolar for maximum performance.
What is microstepping and why use it?
Microstepping divides each step into substeps (1/2, 1/4, 1/8, 1/16, up to 1/256) by modulating the current in the coils. Advantages: smoother motion, reduced vibration, increased resolution, silent operation. Drawback: slightly reduced torque at intermediate microsteps. Ideal for 3D printers, motorised cameras, medical equipment that demand precision and silence.
Why use S-curves for motion control?
S-curves (S-curve motion profiles) provide gradual acceleration/deceleration vs abrupt trapezoidal profiles. Benefits: reduced vibration, minimised mechanical stress, avoided resonances, longer motor life, improved positioning accuracy. Essential for high-precision applications (pick-and-place, laser engraving) or fragile loads. Advanced drivers (TMC2209, STM32 with software ramps) integrate this functionality.
How to choose between a stepper motor and a servo motor?
Stepper: open loop, position accuracy without encoder, holding torque at standstill, limited speed (<2,000 RPM). Servo: closed loop with encoder, high torque, high speeds (>5,000 RPM), dynamic accuracy. Use stepper for: precise positioning at low cost (3D printers, hobby CNC). Use servo for: high dynamics, high torque (industrial robotics, machine tools).
How to avoid step loss?
Causes: excessive load, too rapid acceleration, resonance, insufficient supply. Solutions: size the motor with a 50-100% margin on required torque, implement gradual acceleration/deceleration ramps, avoid resonance speeds (typically 100-300 Hz) via microstepping or dampers, supply correctly (voltage 2-3x rated coil voltage), add a closed-loop encoder if critical (hybrid "closed-loop stepper" system).