Introduction to Unipolar Stepper Motors
Unipolar stepper motors are a type of stepper motor that uses a single power supply and has a simpler control circuitry compared to bipolar stepper motors. They are called “unipolar” because the current flows in only one direction through each winding. The 28BYJ-48 is a prime example of a unipolar stepper motor, featuring five wires and operating at 5 volts.
Advantages of Unipolar Stepper Motors
- Simpler control circuitry
- Lower cost compared to bipolar stepper motors
- Suitable for applications with lower torque requirements
Disadvantages of Unipolar Stepper Motors
- Lower torque output compared to bipolar stepper motors
- Less efficient due to the use of center taps in the windings
28BYJ-48 Stepper Motor Specifications
The 28BYJ-48 stepper motor has the following specifications:
Specification | Value |
---|---|
Rated Voltage | 5V DC |
Number of Phases | 4 |
Stride Angle | 5.625°/64 |
Frequency | 100 Hz |
DC Resistance | 50Ω±7% (25°C) |
Idle In-traction Frequency | > 600 Hz |
Idle Out-traction Frequency | > 1000 Hz |
In-traction Torque | >34.3 mN.m (120 Hz) |
Self-positioning Torque | >34.3 mN.m |
Friction Torque | 600-1200 gf.cm |
Pull-in Torque | 300 gf.cm |
Insulated Resistance | >10 MΩ (500V) |
Insulated Electricity Power | 600 VAC/1 mA/1 s |
Insulation Grade | A |
Rise in Temperature | <40 K (120 Hz) |
Noise | <35 dB (120 Hz, No Load, 10 cm) |
28BYJ-48 Wiring
The 28BYJ-48 stepper motor has five wires:
- Red: Motor power (+5V)
- Orange: Coil 1
- Yellow: Coil 2
- Pink: Coil 3
- Blue: Coil 4
The red wire is the common center tap, which connects to the positive power supply. The other four wires are connected to the individual coils of the motor.
How Unipolar Stepper Motors Work
Unipolar stepper motors work by energizing the coils in a specific sequence to create a rotating magnetic field. This magnetic field interacts with the permanent magnets on the rotor, causing it to rotate in steps. The sequence in which the coils are energized determines the direction of rotation and the number of steps taken.
Step Modes
Unipolar stepper motors can operate in different step modes, which determine the resolution and torque output of the motor. The most common step modes are:
-
Full-step mode: In this mode, only one coil is energized at a time, resulting in the largest step size and the lowest resolution. The 28BYJ-48 has a stride angle of 11.25° in full-step mode, which translates to 32 steps per revolution.
-
Half-step mode: In this mode, the coils are energized in a sequence that alternates between one coil and two coils at a time. This results in a smaller step size and higher resolution compared to full-step mode. The 28BYJ-48 has a stride angle of 5.625° in half-step mode, which translates to 64 steps per revolution.
-
Microstepping: In this mode, the current in the coils is varied gradually to achieve even smaller step sizes and smoother motion. Microstepping can increase the resolution of the motor by further dividing the step size, but it requires more advanced control circuitry.
Torque and Speed Characteristics
The torque and speed characteristics of a stepper motor are important factors to consider when selecting a motor for a specific application. The 28BYJ-48 has a rated frequency of 100 Hz and an in-traction torque of >34.3 mN.m at 120 Hz. This means that the motor can maintain its rated torque up to a speed of 120 steps per second.
As the speed of the motor increases, the torque output decreases. This is due to the inductance of the motor windings, which limits the rate at which the current can change in the coils. The pull-in torque of the 28BYJ-48 is 300 gf.cm, which represents the maximum torque the motor can generate at low speeds without losing steps.

Controlling the 28BYJ-48 Stepper Motor
To control the 28BYJ-48 stepper motor, you will need a microcontroller or a dedicated stepper motor driver. The most popular choice for hobbyists and DIY projects is the ULN2003 driver board, which is often sold together with the 28BYJ-48 motor.
ULN2003 Driver Board
The ULN2003 is a Darlington transistor array that can drive up to seven loads (in this case, the four coils of the stepper motor) with a maximum current of 500 mA per channel. The driver board also includes diodes for protection against back-EMF (electromotive force) generated by the motor coils.
To connect the 28BYJ-48 to the ULN2003 driver board:
- Connect the red wire to the +5V pin on the driver board.
- Connect the orange, yellow, pink, and blue wires to the IN1, IN2, IN3, and IN4 pins on the driver board, respectively.
- Connect the GND pin on the driver board to the ground of your microcontroller or power supply.
Microcontroller Programming
To control the 28BYJ-48 stepper motor with a microcontroller, you need to send the appropriate signals to the ULN2003 driver board. The sequence of signals will depend on the desired step mode and direction of rotation.
Here’s an example of how to control the 28BYJ-48 in full-step mode using an Arduino:
#include <Stepper.h>
const int stepsPerRevolution = 32;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
myStepper.setSpeed(100);
}
void loop() {
myStepper.step(stepsPerRevolution);
delay(500);
myStepper.step(-stepsPerRevolution);
delay(500);
}
In this example, the Stepper
library is used to control the motor. The stepsPerRevolution
variable is set to 32, which corresponds to the number of steps in full-step mode. The setSpeed()
function sets the speed of the motor in revolutions per minute (RPM). The step()
function is used to rotate the motor by a specific number of steps, with positive values for clockwise rotation and negative values for counterclockwise rotation.
Applications of the 28BYJ-48 Stepper Motor
The 28BYJ-48 stepper motor is suitable for a wide range of applications that require precise positioning and low torque. Some common applications include:
-
3D printers: The 28BYJ-48 can be used to drive the extruder or the bed leveling mechanism in small 3D printers.
-
Robotics: The motor can be used in small robotic arms, grippers, or other mechanisms that require precise angular positioning.
-
Automated systems: The 28BYJ-48 can be used in automated dispensing systems, valve controls, or other small-scale automation projects.
-
Camera mounts: The motor can be used to create panning and tilting mechanisms for small cameras or sensors.
-
Educational projects: Due to its low cost and ease of use, the 28BYJ-48 is popular in educational settings for teaching students about stepper motors and microcontroller programming.
Frequently Asked Questions (FAQ)
-
Q: Can I use the 28BYJ-48 stepper motor without the ULN2003 driver board?
A: While it is possible to control the 28BYJ-48 without the ULN2003 driver board, it is not recommended. The driver board simplifies the control circuitry and provides protection against back-EMF, which can damage your microcontroller or other components. -
Q: How do I increase the torque output of the 28BYJ-48 stepper motor?
A: To increase the torque output of the 28BYJ-48, you can use a higher voltage power supply (up to 12V), but you will need to adjust the current limiting resistors on the ULN2003 driver board accordingly. You can also use a gearbox to increase the torque at the cost of speed. -
Q: Can I use the 28BYJ-48 stepper motor in a battery-powered project?
A: Yes, you can use the 28BYJ-48 in a battery-powered project, but keep in mind that stepper motors can draw a significant amount of current, especially when starting or changing direction. Make sure your battery can supply enough current and consider using a capacitor to smooth out the current draw. -
Q: How do I reduce the noise generated by the 28BYJ-48 stepper motor?
A: To reduce the noise generated by the 28BYJ-48, you can use microstepping, which will result in smoother motion and less vibration. You can also use damping materials, such as rubber or foam, to absorb vibrations and minimize the transmission of noise to the surrounding structure. -
Q: Can I use the 28BYJ-48 stepper motor in a closed-loop control system?
A: The 28BYJ-48 is typically used in open-loop control systems, where the position of the motor is determined by the number of steps sent to it. However, you can use an external sensor, such as an encoder or a potentiometer, to create a closed-loop control system that can detect and correct positioning errors.
Conclusion
The 28BYJ-48 unipolar stepper motor is a versatile and affordable choice for a wide range of projects that require precise positioning and low torque. Its compact size, ease of use, and compatibility with popular microcontrollers make it an attractive option for hobbyists, students, and professionals alike.
By understanding the working principles, control methods, and applications of the 28BYJ-48, you can effectively integrate this stepper motor into your projects and create innovative solutions in the fields of robotics, automation, and beyond.