
A stepper motor is a type of brushless DC motor that can rotate in discrete steps by changing the magnetic field of its stator coils. Unlike a conventional DC motor, a stepper motor does not need a position sensor or a feedback loop to control its motion. Instead, it relies on an external controller that sends a sequence of pulses to switch the current direction in the coils and move the rotor to a desired position.
There are two main types of stepper motors: unipolar and bipolar. The difference between them lies in the number of wires and the way the coils are connected.
A unipolar stepper motor has two windings per phase, each with a center tap that is connected to a common power supply. The current can flow in either direction through each half of the winding, creating four possible states for each phase. A unipolar stepper motor can be driven by a simple transistor circuit that switches the current on and off in each half of the winding.
A bipolar stepper motor has one winding per phase, without a center tap. The current must be reversed in the whole winding to change the polarity of the magnetic field. A bipolar stepper motor requires a more complex driver circuit that can reverse the current direction in each winding, usually using an H-bridge arrangement.
In this article, we will focus on bipolar stepper motors, their advantages and disadvantages, their basic operation and control modes, and their interfacing with microcontrollers.
What is a Bipolar Stepper Motor?
A bipolar stepper motor is defined as a stepper motor with one winding per phase and no center tap. A typical bipolar stepper motor has four wires, corresponding to the two ends of each winding.
The advantage of a bipolar stepper motor is that it can produce more torque than a unipolar stepper motor of the same size because it uses the full winding rather than half of it. The disadvantage is that it requires a more complicated driver circuit that can reverse the current direction in each winding.
The following diagram shows the internal structure of a bipolar stepper motor:

The rotor consists of a permanent magnet with north (N) and south (S) poles, while the stator has four electromagnets (A, B, C, D) arranged in pairs (AB and CD). Each pair forms one phase of the motor.
When current flows through one of the windings, it creates a magnetic field that attracts or repels the rotor poles, depending on the polarity of the current. By switching the current direction in each winding in a specific sequence, the rotor can be made to rotate in steps.
How to Control a Bipolar Stepper Motor?
To control a bipolar stepper motor, we need to provide two signals for each phase: one to control the current direction (direction signal) and one to control the current magnitude (step signal). The direction signal determines whether the current flows from A to B or from B to A in phase AB, and from C to D or from D to C in phase CD. The step signal determines when to switch the current on or off in each winding.
There are different ways to generate these signals, depending on the desired speed, torque, resolution, and power consumption of the motor. These are called control modes, and they include:
- Full-step mode
- Half-step mode
- Micro-step mode
Full-Step Mode
In full-step mode, both windings of each phase are energized at the same time, creating maximum torque. The rotor aligns itself with the magnetic field of the stator poles, resulting in one full step per pulse.
The following table shows an example of a full-step mode sequence for clockwise rotation:
| Step | Phase AB | Phase CD | | —- | | 1 | + | – | | 2 | – | – | | 3 | – | + | | 4 | + | + |
The direction of the current is indicated by the sign (+ or -), and the absence of current is indicated by a blank. The step signal is assumed to be high when the current is present and low when the current is absent.
The following diagram illustrates the full-step mode sequence:
The advantage of the full-step mode is that it provides maximum torque and simple control. The disadvantage is that it has low resolution and can cause vibration and noise.
The resolution of a stepper motor is the smallest angle that it can rotate in one step. In full-step mode, the resolution is equal to the step angle of the motor, which is usually 1.8° or 0.9°. This means that a motor with a 1.8° step angle can rotate in 200 steps per revolution, while a motor with a 0.9° step angle can rotate in 400 steps per revolution.
To increase the resolution and smoothness of the motion, we can use half-step mode or micro-step mode.
Half-Step Mode
In half-step mode, only one winding of each phase is energized at a time, except for the intermediate steps, where both windings are energized. The rotor aligns itself halfway between the stator poles, resulting in half a step per pulse.
The following table shows an example of a half-step mode sequence for clockwise rotation:
| Step | Phase AB | Phase CD | | —- | | 1 | + | | | 2 | + | – | | 3 | | – | | 4 | – | – | | 5 | – | | | 6 | – | + | | 7 | | + | | 8 | + | + |
The advantage of the half-step mode is that it doubles the resolution and reduces the vibration and noise. The disadvantage is that it reduces the torque and increases the power consumption.
The resolution of a stepper motor in half-step mode is half of the step angle of the motor. For example, a motor with a 1.8° step angle can rotate in 400 steps per revolution, while a motor with a 0.9° step angle can rotate in 800 steps per revolution.
To further increase the resolution and smoothness of the motion, we can use micro-step mode.
Micro-Step Mode
In micro-step mode, both windings of each phase are energized with varying current levels, creating intermediate positions between the full and half steps. The rotor moves in small increments, resulting in a fraction of a step per pulse.
The following table shows an example of a micro-step mode sequence for clockwise rotation, with 8 micro-steps per full step:
| Step | Phase AB Current | Phase CD Current | | —- | | 1 | 100% | 0% | | 2 | 92% | -38% | | 3 | 71% | -71% | | 4 | 38% | -92% | | 5 | 0% | -100% | | 6 | -38% | -92% | | 7 | -71% | -71% | | 8 | -92% | -38% | | 9 | -100% | 0% | | 10 | -92% | 38% | | 11 | -71% | 71% | | 12 | -38% | 92% | | 13 | 0% | 100% | | 14 | 38% | 92% | | 15 | 71% | 71% | | 16 | 92% | 38% |
The following diagram illustrates the micro-step mode sequence:

The advantage of micro-step mode is that it increases the resolution and smoothness of the motion, as well as reduces the resonance and noise. The disadvantage is that it requires a more sophisticated driver circuit that can control the current levels in each winding and that it reduces the torque and accuracy.
The resolution of a stepper motor in micro-step mode depends on the number of micro-steps per full step. For example, a motor with a 1.8° step angle can rotate in up to 6400 steps per revolution, if the driver can provide 32 micro-steps per full step.
Conclusion
A bipolar stepper motor is a type of stepper motor with one winding per phase and no center tap. It requires a driver circuit that can reverse the current direction in each winding, usually using an H-bridge arrangement. A bipolar stepper motor can produce more torque than a unipolar stepper motor of the same size, but it also consumes more power and has more complex wiring.
A bipolar stepper motor can be controlled in different modes, such as full-step, half-step, and micro-step, depending on the desired speed, torque, resolution, and smoothness of the motion. Each mode has its own advantages and disadvantages and requires a different sequence of signals to switch the current in each winding.
Bipolar stepper motors are widely used in applications that require precise positioning and speed control, such as printers, scanners, CNC machines, robots, and cameras. They are also suitable for applications that require high torque at low speeds, such as pumps, valves, and actuators.