075582814553
Guide to 28BYJ-48 Stepper Motor Working Principle

FREE-SKY (HK) ELECTRONICS CO.,LIMITED / 05-14 17:37

The 28BYJ-48 is a small 5V stepper motor commonly used in Arduino, ESP32, Raspberry Pi, robotics, and DIY automation projects. Unlike a normal DC motor that spins freely, the 28BYJ-48 moves in small controlled steps, which makes it useful for accurate positioning. This article will talk about the 28BYJ-48 stepper motor pinout, specifications, features, working principle, applications, and more.


Catalog

1. Pinout and Functions
2. 28-BYJ48 Stepper Motor Specifications
3. 28-BYJ48 Stepper Motor Features
4. How the 28-BYJ48 Stepper Motor Works
5. 28BYJ-48 Gear Reduction System
6. Unipolar vs Bipolar Operation in 28BYJ-48
7. 28BYJ-48 Step Angle and Rotation Accuracy
8. Half-Step vs Full-Step Modes in 28BYJ-48
9. Wave Drive vs Full-Step Drive in 28BYJ-48
10. Where to Utilize 28-BYJ48 Stepper Motor
11. How to Connect 28-BYJ48 With Arduino
12. 28-BYJ48 With ESP32 and Raspberry Pi
13. 28-BYJ48 Mechanical Dimensions
14. Conclusion
28-BYJ48 Stepper Motor

Pinout and Functions

Pinout and Functions
Pin/Wire Color
Function
Description
Blue
Coil A
Connected to one end of the first motor coil
Pink
Coil B
Connected to one end of the second motor coil
Yellow
Coil C
Connected to one end of the third motor coil
Orange
Coil D
Connected to one end of the fourth motor coil
Red
Common VCC
Common positive supply line shared by all internal coils

28-BYJ48 Stepper Motor Specifications

Parameter
Specification
Model
28BYJ-48 – 5V
Rated Voltage
5V DC
Number of Phases
4
Speed Variation Ratio
1/64
Stride Angle
5.625° / 64
Frequency
100Hz
DC Resistance
50Ω ±7% (25°C)
Idle In-Traction Frequency
>600Hz
Idle Out-Traction Frequency
>1000Hz
In-Traction Torque
>34.3 mN·m (120Hz)
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
600VAC / 1mA / 1s
Insulation Grade
Class A
Temperature Rise
<40K (120Hz)
Noise Level
<35dB (120Hz, no load, 10cm)

28-BYJ48 Stepper Motor Features

Feature
Description
Compact Size
Small and lightweight design suitable for embedded systems and DIY electronics projects
5V Operation
Operates using a low 5V DC supply, making it compatible with Arduino and microcontrollers
High Position Accuracy
Provides precise step-by-step rotational control
Built-in Gear Reduction
Uses an internal 1:64 reduction gearbox for improved torque and positioning
Low Noise Operation
Produces relatively quiet movement during operation
Good Holding Torque
Can maintain shaft position when energized
Easy Driver Compatibility
Commonly used with ULN2003 driver boards
Low Power Consumption
Suitable for battery-powered and low-power applications
Continuous Rotation Capability
Can rotate continuously with proper step control
Beginner-Friendly
Widely used in educational electronics and robotics projects

How the 28-BYJ48 Stepper Motor Works

The 28-BYJ48 is a unipolar stepper motor designed to rotate in small, precise angular movements called steps. Unlike a regular DC motor that spins continuously when power is applied, this motor moves in controlled step-by-step rotation by energizing its internal coils in sequence.

Inside the motor are four electromagnetic coils arranged around a permanent magnet rotor. When electrical current flows through one coil, it creates a magnetic field that attracts the rotor toward that position. The driver circuit then energizes the next coil, causing the rotor to move slightly again. By continuously switching the coil sequence, the rotor rotates in small controlled increments.

The motor commonly uses a ULN2003 driver board because a microcontroller such as an Arduino cannot directly supply enough current to drive the coils safely. The driver receives control signals from the microcontroller and switches the motor coils ON and OFF in the correct order.

The 28-BYJ48 also contains an internal reduction gearbox with a ratio of approximately 1:64. This gear reduction increases output torque while improving positioning accuracy, although it reduces rotational speed. Because of this gearbox, the motor is suitable for applications requiring precise low-speed movement rather than high-speed rotation.

The motor can operate in several stepping modes, including full-step and half-step operation. In full-step mode, two coils may energize together for stronger torque. In half-step mode, the motor alternates between single-coil and dual-coil activation, producing smoother and more precise movement.

A typical coil activation sequence is:

Step
Coil Activated
1
Blue
2
Pink
3
Yellow
4
Orange

Repeating this sequence rotates the motor in one direction, while reversing the order changes the rotation direction.

Because the motor moves in fixed steps instead of continuous spinning, it is widely used in positioning systems such as robotics, camera sliders, smart locks, automatic blinds, and small automation projects where accurate motion control is important.

28BYJ-48 Gear Reduction System

The 28BYJ-48 uses an internal gearbox with an approximate 1:64 reduction ratio. This gear reduction lowers the motor’s output speed while increasing torque and positioning accuracy. Because of this system, the motor can move more smoothly and hold its position better during low-speed operation.

The gearbox also helps the motor handle lightweight mechanical loads more effectively compared to a direct-drive micro stepper motor. However, the reduced speed makes it less suitable for high-speed rotation applications.

Unipolar vs Bipolar Operation in 28BYJ-48

Parameter
Unipolar 28BYJ-48
Bipolar Modified 28BYJ-48
Motor Wiring
Uses 5 wires
Modified to 4 wires
Center Tap
Uses common center tap wire
Center tap disconnected
Driver Type
ULN2003 driver board
A4988, DRV8825, or bipolar drivers
Control Method
Easier coil switching
More complex H-bridge control
Torque Output
Lower torque
Higher torque
Power Efficiency
Lower efficiency
Better efficiency
Current Flow
One coil direction only
Current reverses through coils
Speed Capability
Moderate speed
Better high-speed performance
Heat Generation
Lower
Slightly higher under load
Wiring Complexity
Simple and beginner-friendly
More advanced setup
Modification Required
No modification needed
Internal wiring modification required
Common Applications
Arduino projects, educational systems, mini automation
CNC projects, stronger robotics, higher-performance motion control
Cost of Setup
Lower overall cost
Higher driver cost
Ease of Use
Very easy for beginners
Better for advanced users
Overall Performance
Good for light-duty positioning
Better torque and smoother control

28BYJ-48 Step Angle and Rotation Accuracy

The 28BYJ-48 moves in fixed step angles instead of rotating freely like a regular DC motor. Its internal motor has a step angle of 5.625°, and after the gearbox reduction, each output step becomes much smaller. This gives the motor finer control over shaft movement.

This step-based movement allows the motor to reach repeatable positions with good accuracy in light-duty projects. It is useful for applications such as camera sliders, smart locks, sensor scanners, and small robotic mechanisms where controlled movement matters more than speed.

Half-Step vs Full-Step Modes in 28BYJ-48

Half-Step vs Full-Step Modes in 28BYJ-48
Parameter
Half-Step Mode
Full-Step Mode
Stepping Method
Alternates between single-coil and dual-coil activation
Usually energizes two coils at a time
Step Resolution
Higher resolution
Lower resolution
Movement Smoothness
Smoother rotation
Slightly rougher movement
Position Accuracy
Better positioning precision
Moderate positioning precision
Torque Output
Slightly lower average torque
Higher holding torque
Vibration Level
Lower vibration
Higher vibration
Power Consumption
Moderate
Slightly higher
Rotational Speed
Slower due to more steps per revolution
Faster because fewer steps are required
Noise Level
Quieter operation
Slightly louder
Control Complexity
More complex stepping sequence
Simpler stepping sequence
Best Applications
Camera sliders, precision positioning, smooth motion systems
Basic robotics, simple automation, higher torque applications
Motion Performance
More refined movement
Stronger but less smooth movement

Wave Drive vs Full-Step Drive in 28BYJ-48

Parameter
Wave Drive Mode
Full-Step Drive Mode
Coil Activation
One coil energized at a time
Two coils energized simultaneously
Torque Output
Lower torque
Higher torque
Power Consumption
Lower power usage
Higher power usage
Heat Generation
Lower heat
Higher heat
Movement Strength
Weaker holding force
Stronger holding force
Position Stability
Moderate stability
Better positional stability
Rotational Smoothness
Smoother at low load
Slightly stronger but less smooth
Speed Capability
Can achieve slightly higher speed under light load
Stable speed under heavier load
Current Requirement
Lower current demand
Higher current demand
Vibration Level
Lower under light loads
Slightly higher vibration
Efficiency Under Load
Less effective for mechanical loads
Better for driving heavier loads
Common Applications
Low-power projects, lightweight motion systems
Robotics, positioning systems, higher torque applications
Control Complexity
Simple stepping sequence
Simple stepping sequence
Overall Performance
Better for low-power operation
Better for stronger and more stable movement

Where to Utilize 28-BYJ48 Stepper Motor

The 28-BYJ48 stepper motor is commonly used in low-speed precision control applications where accurate positioning is more important than high power. Because it operates on 5V and is easy to interface with Arduino, ESP32, Raspberry Pi, and other microcontrollers, it is widely used in educational electronics, DIY automation, and small robotic systems.

Its built-in gear reduction mechanism allows the motor to provide better positioning accuracy and improved holding torque compared to small DC motors. This makes it suitable for projects that require controlled rotational movement instead of continuous high-speed spinning.

Common applications include automatic curtain systems, smart door locks, camera sliders, pan-and-tilt platforms, robotic arms, small conveyor mechanisms, and sensor scanning devices. It is also frequently used in hobby CNC prototypes, 3D printed mechanisms, and demonstration projects for learning stepper motor control.

How to Connect 28-BYJ48 With Arduino

How to Connect 28-BYJ48 With Arduino

The 28-BYJ48 stepper motor is commonly connected to an Arduino using a ULN2003 driver board. The driver board controls the motor coils and provides the required current for stable operation.

Wiring Connections

ULN2003 Driver Pin
Arduino Pin
IN1
D8
IN2
D9
IN3
D10
IN4
D11
GND
GND
VCC
5V

The stepper motor plugs directly into the white connector on the ULN2003 board. A separate 5V adapter is recommended for more reliable motor performance.

Arduino Code Examples for 28-BYJ48

Arduino Code Examples for 28-BYJ48

This program rotates the motor one full revolution clockwise, pauses for one second, then rotates it one full revolution counterclockwise.

28-BYJ48 With ESP32 and Raspberry Pi

The 28-BYJ48 stepper motor can also be controlled using ESP32 and Raspberry Pi boards, making it useful for IoT systems, robotics, automation projects, and smart devices. Since the motor requires more current than a GPIO pin can safely supply, it is normally connected through a ULN2003 driver board. The driver receives control signals from the microcontroller or single-board computer and switches the motor coils in the correct stepping sequence.

ESP32 Compatibility

The ESP32 is fully compatible with the 28-BYJ48 stepper motor and is commonly used in wireless automation projects because it supports both Wi-Fi and Bluetooth connectivity. The GPIO pins of the ESP32 can control the ULN2003 driver inputs directly, allowing precise stepper motor movement for applications such as smart curtains, robotic systems, camera sliders, and IoT positioning devices.

Because the ESP32 operates at 3.3V logic levels, the ULN2003 driver board helps provide proper current switching for the motor coils. Many developers use Arduino IDE libraries such as Stepper or AccelStepper when programming the ESP32 for smoother motor acceleration and speed control.

Raspberry Pi Control Methods

The Raspberry Pi can also control the 28-BYJ48 through its GPIO pins using the ULN2003 driver board. Python libraries such as RPi.GPIO or gpiozero are commonly used to generate the stepping sequence needed for motor rotation. This setup is popular in automation systems, pan-and-tilt cameras, sensor scanning systems, and Linux-based robotics projects.

Unlike Arduino or ESP32 boards, the Raspberry Pi runs a full operating system, which makes it suitable for more advanced applications involving networking, camera processing, web servers, or remote motor control.

GPIO Requirements

The motor typically requires four GPIO output pins to control the four ULN2003 input channels. These GPIO pins send digital HIGH and LOW signals in sequence to rotate the motor shaft step by step. Both ESP32 and Raspberry Pi boards provide enough GPIO pins for this type of control.

It is important not to connect the motor coils directly to GPIO pins because the motor current exceeds safe GPIO limits. The ULN2003 driver protects the controller while providing sufficient current amplification for stable operation.

Voltage Considerations

The standard 28-BYJ48 motor is designed for 5V DC operation. Although ESP32 and Raspberry Pi boards use lower logic voltages, the ULN2003 driver board allows safe interfacing between the controller and the motor.

For stable operation, an external 5V power supply is recommended instead of powering the motor directly from the development board. Insufficient power can cause weak torque, missed steps, vibration, or unstable motor movement. The ground of the external supply should always be connected to the controller ground to ensure proper signal reference.

28-BYJ48 Mechanical Dimensions

28-BYJ48 Mechanical Dimensions

Conclusion

The 28BYJ-48 stepper motor 5V operation, compact size, built-in gearbox, and compatibility with common controller boards make it ideal for beginners and hobby electronics users. However, it is not designed for heavy loads or high-speed movement. For stronger applications such as CNC machines, 3D printers, or larger robotics, motors like NEMA 14 or NEMA 17 are better options. Overall, the 28BYJ-48 is best used for lightweight automation, learning projects, and precise low-speed movement.


Processed in 0.058281 Second , 23 querys.