28BYJ-48 Stepper Motor + ULN2003 Driver Board Kit
= 4-Phase 5V/12V Stepper Motor for Arduino DIY Projects =
The 28BYJ48 is a small, affordable 4phase unipolar stepper motor with a 5V or 12V rating, commonly paired with the ULN2003 driver board for Arduino projects. Its compact size and reliable performance make it ideal for automation, robotics, and DIY kits.
LowCost Precision Simple 5-wire unipolar design with easy ULN2003 integration
High Gear Reduction Builtin 64:1 gearbox provides increased torque
Motor supply voltage: 5V DC (model 28BYJ485V) or 12V DC (model 28BYJ4812V)
Use the ULN2003 driver board for direct interfacing with Arduino without damaging the microcontroller pins
Check voltage rating - 5V motors may overheat when powered at 12V
= Technical Specifications =
| Parameter | Value |
|---|
| Voltage Options | 5V or 12V DC |
| Phase Resistance | 50Ω (5V) / 200Ω (12V) |
| Step Angle (Full-Step) | 11.25° (32 steps/rev internal) |
| Step Angle (Half-Step) | 5.625° (64 steps/rev internal) |
| Gear Ratio | 64:1 |
| Reduction Ratio | 1/64 |
| Rated Speed | 10 RPM |
= Key Features =
Simple 5Wire Connection Color-coded wires (BLUE, PINK, YELLOW, ORANGE, RED) connect directly to ULN2003 driver board
4Phase Control Compatible with Arduino Stepper library for easy programming
Builtin Gearbox 64:1 ratio provides significant torque multiplication
ULN2003 Driver Board Included Readyto-use with screw terminals for motor connection
== Applications ==
- 3D printers and CNC machines
- Robotics and animatronics
- Automated blinds and A/C units
- Camera positioning systems
- Office automation equipment
- STEM education and Arduino DIY kits
Widely Used - Affordable and effective for precise motion in various DIY projects
Complete Kit - Includes motor, driver board, and connection cable
√ Requires only 4 digital pins on Arduino
√ ULN2003 driver includes builtin clamping diodes for motor backEMF protection
√ 5pin connector socket included on driver board for plugand-play installation
= Connection Guide =
Motor wires to ULN2003 driver:
- BLUE: OUT1 (or coil 1)
- PINK: OUT2 (or coil 2)
- YELLOW: OUT3 (or coil 3)
- ORANGE: OUT4 (or coil 4)
- RED: Common power (to 5V or 12V)
ULN2003 driver to Arduino:
- IN1: Arduino Pin 8 (example)
- IN2: Arduino Pin 9 (example)
- IN3: Arduino Pin 10 (example)
- IN4: Arduino Pin 11 (example)
- +: Connect to 5V/12V power supply
- -: Connect to power supply ground
Connect Arduino GND to driver board GND for stable signal reference
Use a separate power supply for the motor to avoid noise on the Arduino's 5V line
The ULN2003 driver board uses the same 5V or 12V supply as the motor
= Calculation of Steps per Revolution =
The effective step count per full revolution, accounting for the gear ratio, is crucial for accurate positioning.
- Half-Step Mode (Recommended): 64 internal steps × 64:1 gear ratio = 4096 steps per full revolution
- Full-Step Mode: 32 internal steps × 64:1 gear ratio = 2048 steps per full revolution
Use half-step mode for smoother operation at lower speeds
For most projects, use 2048 steps for fullstep mode or 4096 for halfstep mode
The motor's slow speed (10 RPM) is a result of the gear reduction providing high torque
= Troubleshooting =
Motor not rotating:
- Check power supply (5V for 5V motor, 12V for 12V motor)
- Verify pin connections and wire order
- Avoid loose or damaged connector cables
Motor stalls or vibrates:
- Reduce speed (RPM setting)
- Use half-step mode for smoother operation
- Ensure power supply can provide sufficient current (~300mA per motor)
Wrong rotation direction:
- Swap any two coil wires (e.g., BLUE and PINK) at the driver board
- Or change step parameter to negative
Motor gets hot:
- Check voltage matches motor rating
- Reduce duty cycle or allow cooling between runs
- Avoid high-speed operation for extended periods