Skip to Content

Stepper Motor 12V With ULN2003 H Bridge Motor Controller For Arduino

The 28BYJ-48 12V Stepper Motor with ULN2003 Driver Board is a compact and efficient motor control solution widely used in robotics, automation systems, and educational electronics projects. The motor is designed for precise step-by-step rotational movement, making it ideal for applications that require accurate positioning and controlled motion. This motor is commonly paired with the ULN2003 driver board, which simplifies the process of controlling the motor using microcontrollers such as Arduino, Raspberry Pi, and other development boards. The ULN2003 board includes indicator LEDs that show the active motor phases, making it easy to monitor motor operation during development and testing.

Package Includes:

  • 1 × 28BYJ-48 12V Stepper Motor
  • 1 × ULN2003 Stepper Motor Driver Board


19.95 AED 19.95 AED (Tax included)

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

With its internal gear reduction mechanism and precise step angle control, the 28BYJ-48 stepper motor can achieve smooth and stable motion. The plug-and-play connector between the motor and driver board allows quick installation, making this module ideal for beginners and professional developers alike.

Features:

  • Compact and lightweight stepper motor
  • Includes ULN2003 stepper motor driver board
  • Four-phase stepper motor control
  • Built-in LED indicators for motor phase status
  • Standard interface for easy connection to development boards
  • Plug-and-play motor connector for quick setup
  • High torque output with internal gear reduction
  • Suitable for Arduino, Raspberry Pi, and microcontroller projects
  • Stable and precise step control

Principle of Work:

A stepper motor operates by rotating in small discrete steps instead of continuous rotation. Inside the 28BYJ-48 motor, electromagnetic coils are energized in a specific sequence. This sequence generates a rotating magnetic field that causes the motor shaft to move step by step.

The ULN2003 driver board acts as an interface between the microcontroller and the stepper motor. It amplifies the control signals coming from the microcontroller and drives the motor coils with sufficient current. By activating the coils in the correct order through the IN1 to IN4 control pins, the motor rotates in precise increments.

The internal gear reduction system improves torque while reducing the output speed, allowing the motor to deliver controlled and accurate movement.

Pinout of the Driver Module:

ULN2003 Pinout Diagram and Connection with Arduino - ETechnoG

  • IN1: Control signal for motor phase 1
  • IN2: Control signal for motor phase 2
  • IN3: Control signal for motor phase 3
  • IN4: Control signal for motor phase 4
  • VCC: Power supply input
  • GND: Ground connection
  • Motor Connector: Interface for connecting the 28BYJ-48 motor

Applications:

  • Robotics projects
  • Automated positioning systems
  • Camera sliders and pan-tilt mechanisms
  • Small CNC and mechanical automation
  • Educational electronics projects
  • Smart home automation devices
  • Precision movement control systems

Circuit:

The ULN2003 driver board connects directly to the stepper motor using the provided connector cable. The control inputs IN1 to IN4 are connected to digital output pins on a microcontroller such as Arduino. The VCC and GND pins supply power to the driver board. When the microcontroller sends control signals to the driver inputs, the ULN2003 sequentially energizes the motor coils to produce rotation.

Connecting with Arduino 

28BYJ-48 Stepper Motor and ULN2003 Driver Module - parts submit - fritzing  forum

  • Connect IN4 to Arduino pin 8.
  • Connect IN3 to Arduino pin 9.
  • Connect IN2 to Arduino pin 10.
  • Connect IN1 to Arduino pin 11.
  • Connect VCC to 5V or an external supply.
  • Connect GND to Arduino GND.
  • Plug the motor connector into the ULN2003 driver board.

Code:

#include <Stepper.h>

const int stepsPerRevolution = 2048;

Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  myStepper.setSpeed(10);
  Serial.begin(9600);
}

void loop() {
  Serial.println("Clockwise");
  myStepper.step(stepsPerRevolution);
  delay(1000);

  Serial.println("Counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(1000);
}

Technical Details:

  • Motor Model: 28BYJ-48
  • Operating Voltage: 12V
  • Motor Diameter: 28 mm
  • Step Angle: 5.625° × 1/64
  • Reduction Ratio: 1:64
  • Motor Type: 5-wire 4-phase stepper motor
  • Driver IC: ULN2003
  • Driver Inputs: IN1, IN2, IN3, IN4

Resources:

Comparisons:

Compared with DC motors, the 28BYJ-48 stepper motor offers several advantages for controlled motion applications:

  1. Precise Position Control: Moves in accurate steps rather than continuous rotation.
  2. No Feedback Required: Position can be controlled without encoders.
  3. Higher Torque at Low Speed: Gear reduction improves torque output.
  4. Simple Control Interface: Easily controlled using a microcontroller and driver board.
  5. Ideal for Automation: Suitable for robotics and positioning systems.