Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

Stepper Motors

Do you need exact position control with great holding torque? If so, then a stepper motor is the best solution. While nearly every microcontroller (MCU) or Digital Signal Controller (DSC) we offer can drive a stepper motor, some devices are better suited for this than others:

  • 8-bit PIC® and AVR® MCUs are excellent solutions for traditional stepper motor control
  • dsPIC33 DSCs, 32-bit PIC32MK MCUs and Arm® Cortex®-M4F and M7 based SAM MCUs o?er DSP performance and motor control peripherals for advanced closed-loop stepper motor control, sub-microstepping, high-speed rotation and full torque output
  • IGLOO®2 and SmartFusion®2 FPGA-based stepper motor control solutions support up to 2048 microsteps, resulting in a reduction of torque ripple and power loss in the motor

We also offer a complete line of dual full-bridge drivers that are designed to drive bipolar stepper motors and that can be easily interfaced to any microcontroller.

Typical Applications

  • Idle speed control actuator   
  • Exhaust gas recirculation valves
  • Duct airflow vanes
  • Mirror controls
  • Telescopes
  • Antennas
  • Toys

Recommended Products for Stepper Motor Control

Motor Control
(Full/Half Step)
and Sub-
Motor Control
Microcontrollers (MCUs).
Digital Signal Controllers (DSCs) and
Field-Programmable Gate Arrays (FPGAs)
8-bit PIC® and AVR® MCUs 
dsPIC33 DSCs
32-bit PIC32MK and SAM MCUs
SmartFusion® SoC FPGAs
Single-Chip Motor DriversMTS2916A
Gate DriverMIC4468
Stepper Motor Control Block Diagram

Some Basics About Stepper Motors

How a Stepper Motor Works

The rotor of a permanent magnet stepper motor consists of permanent magnets and the stator with two pairs of windings. The rotor is constructed using a single magnet mounted in line with the rotor axis and two pole pieces with many teeth. The teeth are staggered to produce many salient poles. The two phases of the stator alternate between on and off and reverse polarity. The rotor aligns with the stator poles before the next phase of the sequence is energized.

There are four steps in stepper motor commutation:

  • One phase lags the other phase by one step, which is equivalent to one-fourth of an electrical cycle or 90°
  • Poles are formed using a single magnet mounted in line with the rotor axis and the two pole pieces
  • The teeth on the pole pieces are staggered to produce many poles
  • The stator poles of a stepper motor also have many teeth, which are arranged so that the two phases are still 90° out of phase

Stepper Motor Characteristics

  • Easy to position - moves in steps based on pulses supplied to stator windings
  • Direction of rotation is changed by reversing the pulse sequence
  • Speed is controlled by frequency of pulses or pulse rate

Implementing Stepper Motor Control

How It Works

The stepper motor is easy to position and moves in steps based on pulses supplied to the stator windings. The direction of rotation is changed by reversing the pulse sequence, and speed is controlled by the frequency of pulses or pulse rate. The section on microstepping below demonstrates this principle for a stepper motor using full step commutation. As the rotor aligns with one of the stator poles, the second phase is energized. The two phases alternate on and off and reverse polarity. There are four steps. One phase lags the other phase by one step. This is equivalent to one fourth of an electrical cycle or 90°. Stepper motors have a high holding torque, but they cannot run at high speeds.

Microcontroller Features for Stepper Motor Control

Basic I/OTo generate full-step or half-step control signals, digital communication/pulse inputs for speed and feedback input from limit switches for homing and safety
Capture/Compare/Pulse-Width Modulation (CCP)For microstepping (or half stepping)
ComparatorsOvercurrent detection and protection

Microstepping Details

Each stepper motor will have a defined step angle associated for a full step; microstepping allows the shaft to be positioned in between this angle. In the example on the right, you can see that a two-phase stepper motor has a step angle of 90°. If you implement microstepping techniques, you can position the shaft at a fraction of the full step angle by decreasing the stepping angle. Microstepping offers the following advantages:

  • Increases step resolution by dividing a full step into sub-steps
  • Offers smoother transitions between steps
  • Reduces noise and anti-resonance problems
  • Maximizes torque output at both low and high step rates

Gate Driver Configuration


Uni-Polar Stepper Motor Gate Driver



Bi-Polar Stepper Motor Gate Driver

Analog Stepper Motor Control Block Diagram

Multi-Axis Stepper Motor Control Using FPGAs

Build safe and reliable multi-axis deterministic motor control on a single System-on-Chip (SoC) FPGA. FPGAs provide many advantages for motor control applications, including:

  • Compact solution to save board space and reduce product size
  • Design flexibility with modular IP suite
  • SoC integration of system functions to reduce Total Cost of Ownership (TCO)

Motor Control Hardware and Software Solutions

Featured Software Tools


Motor Control Application Algorithm and Application Software

To support the development of motor applications, we provide motor control examples for half-step, full-step and microstep control of stepper motors.


MPLAB® X Integrated Development Environment (IDE)

MPLAB X Integrated Development Environment (IDE) is an expandable, highly configurable software program that incorporates powerful tools to help you discover, configure, develop, debug and qualify embedded designs for Microchip’s microcontrollers and digital signal controllers.


MPLAB Code Configurator (MCC)

MPLAB Code Configurator (MCC) is a free, graphical programming environment that generates seamless, easy-to-understand C code to be inserted into your project.

Featured Hardware Tools

MTS2916A Dual Full-Bridge Stepper Motor Driver Evaluation Board

MTS2916A Dual Full-Bridge Stepper Motor Driver Evaluation Board

dsPICDEM™ MCSM Development Board

dsPICDEM? MCSM Development Board

SmartFusion®2 Dual-Axis Motor Control Starter Kit

SmartFusion2 Motor Control Kit - Dual Axis