Phipps Electronics

Order within the next 

FREE SHIPPING OVER $199

50,000+ ORDERS

WORLDWIDE SHIPPING

SSL SECURED

Skip to main content
← Back
You are here:
Print

28BYJ‑48 Stepper Motor + ULN2003 Driver Board User’s Guide


User’s Guide

28BYJ‑48 Stepper Motor + ULN2003 Driver Board


1. Product Overview

  • 28BYJ‑48 Stepper Motor
    • Type: Unipolar stepper motor
    • Voltage: 5V DC (common version)
    • Steps per revolution: ~2048 (with internal gear reduction)
    • Wires: 5 (Red, Orange, Yellow, Blue, Pink)
  • ULN2003 Driver Board
    • IC: ULN2003A (Darlington transistor array)
    • Inputs: IN1–IN4 (logic signals from microcontroller to motor driver, other IN5 – IN7 inputs exposed on the other header pins)
    • Outputs: Drive motor coils via white connector
    • Power: VCC (5V), GND

2. Pinout

ULN2003 Driver Board

Pin Function
IN1–IN4 Control inputs from Arduino/ESP32/etc.
VCC +5V supply
GND Ground
Motor Connector White socket for 28BYJ‑48 motor wires

28BYJ‑48 Motor Wire Colors

Wire Color Coil
Red Common (VCC)
Orange Coil A
Yellow Coil B
Pink Coil C
Blue Coil D

3. How It Works

  • The ULN2003 board takes low‑power signals from a microcontroller and safely drives the motor coils.
  • The motor rotates step by step when IN1–IN4 are activated in sequence.
  • By changing the sequence and timing, you control direction and speed.

4. Wiring Guide (Arduino Example)

  1. Connect VCC on ULN2003 → Arduino 5V.
  2. Connect GND on ULN2003 → Arduino GND.
  3. Connect IN1–IN4 → Arduino digital pins (e.g., D8–D11).
  4. Plug the motor’s white connector into the ULN2003 board.

5. Example Arduino Code

#include <Stepper.h>

const int stepsPerRevolution = 2048; // 28BYJ-48 with gear reduction
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  myStepper.setSpeed(10); // RPM
}

void loop() {
  myStepper.step(stepsPerRevolution); // one full rotation clockwise
  delay(1000);
  myStepper.step(-stepsPerRevolution); // one full rotation counterclockwise
  delay(1000);
}

6. Applications

  • Educational kits: Demonstrating stepper motor control.
  • Robotics: Precise positioning for arms or wheels.
  • Automation: Small actuators, dials, or indicators.
  • DIY projects: Rotating displays, camera sliders, or tuning knobs.

7. Best Practices

  • Always use 5V regulated supply for the motor.
  • Avoid driving directly from Arduino pins — always use the ULN2003 board.
  • Stepper motors draw current even when stationary; disconnect power if not in use.
  • For smoother motion, use half‑step or microstepping sequences.

8. Miscellaneous Info

  • Standard ULN2003 boards for the 28BYJ‑48 stepper usually expose IN1–IN4, because the motor only needs 4 control signals.
  • However, the ULN2003 chip itself has 7 Darlington transistor channels. That means it can drive up to 7 separate loads (LEDs, relays, coils, etc.).
  • Some board designs break out all 7 inputs (IN1–IN7) and their corresponding outputs, even though the 28BYJ‑48 motor only uses 4.

How It Relates to Your Motor

  • For the 28BYJ‑48 stepper motor, you only need IN1–IN4. These connect to the motor’s 4 coils via the white connector.
  • The extra inputs (IN5–IN7) are not used for this motor. They’re just exposed in case you want to drive other devices with the same board.

 

Was this article helpful?
Please Share Your Feedback
How Can We Improve This Article?
Table of Contents
Scroll to Top