Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use 28BYJ-48 Stepper Motor: Examples, Pinouts, and Specs

Image of 28BYJ-48 Stepper Motor
Cirkit Designer LogoDesign with 28BYJ-48 Stepper Motor in Cirkit Designer

Introduction

The 28BYJ-48 is a small, low-cost stepper motor widely used in robotics, automation, and DIY electronics projects. It is known for its precise control of rotation and ability to move in discrete steps, making it ideal for applications requiring accurate positioning. This motor is often paired with a ULN2003 driver board for easy interfacing with microcontrollers like Arduino.

Explore Projects Built with 28BYJ-48 Stepper Motor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Mega 2560-Controlled Stepper Motors with RFID Access and Traffic Light Indication
Image of Copy of test: A project utilizing 28BYJ-48 Stepper Motor in a practical application
This circuit controls two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, interfaced with an Arduino Mega 2560 microcontroller. It features an RFID-RC522 module for RFID reading, a 16x4 LCD display with I2C interface for user interaction, and a piezo speaker for audio feedback. Additionally, there is a traffic light module controlled by the Arduino, and a 48V to 5V converter to step down voltage for the logic levels. The power supply provides 12V to the motor drivers and is connected to a standard power outlet.
Cirkit Designer LogoOpen Project in Cirkit Designer
RFID-Activated Traffic Light Controller with Auditory Feedback Using Arduino Mega
Image of test: A project utilizing 28BYJ-48 Stepper Motor in a practical application
This circuit is designed to control two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, with an Arduino Mega 2560 as the central microcontroller. It includes an RFID-RC522 module for RFID reading, an LCD display for user interface, and a traffic light and piezo speaker for visual and audio signaling. The circuit is powered by a 12V 5A power supply, which is stepped down to 5V for logic level components, and it interfaces with a power outlet for AC to DC conversion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled 28BYJ-48 Stepper Motor with ULN2003 Driver
Image of Act: A project utilizing 28BYJ-48 Stepper Motor in a practical application
This circuit controls a 28BYJ-48 stepper motor using an Arduino UNO and a ULN2003A breakout board. The Arduino is programmed to drive the stepper motor with a specific number of steps received via its serial interface, allowing for precise rotational movement control. The ULN2003A interfaces between the low-current Arduino output pins and the higher-current requirements of the stepper motor coils.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Controlled Stepper Motor with ULN2003A Driver
Image of Arduino-Controlled 28BYJ-48 Stepper Motor with ULN2003 Driver: A project utilizing 28BYJ-48 Stepper Motor in a practical application
This circuit controls a 28BYJ-48 stepper motor using an Arduino UNO and a ULN2003A driver board. The Arduino sends control signals to the ULN2003A, which then drives the stepper motor based on commands received via the serial interface.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with 28BYJ-48 Stepper Motor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Copy of test: A project utilizing 28BYJ-48 Stepper Motor in a practical application
Arduino Mega 2560-Controlled Stepper Motors with RFID Access and Traffic Light Indication
This circuit controls two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, interfaced with an Arduino Mega 2560 microcontroller. It features an RFID-RC522 module for RFID reading, a 16x4 LCD display with I2C interface for user interaction, and a piezo speaker for audio feedback. Additionally, there is a traffic light module controlled by the Arduino, and a 48V to 5V converter to step down voltage for the logic levels. The power supply provides 12V to the motor drivers and is connected to a standard power outlet.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of test: A project utilizing 28BYJ-48 Stepper Motor in a practical application
RFID-Activated Traffic Light Controller with Auditory Feedback Using Arduino Mega
This circuit is designed to control two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, with an Arduino Mega 2560 as the central microcontroller. It includes an RFID-RC522 module for RFID reading, an LCD display for user interface, and a traffic light and piezo speaker for visual and audio signaling. The circuit is powered by a 12V 5A power supply, which is stepped down to 5V for logic level components, and it interfaces with a power outlet for AC to DC conversion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Act: A project utilizing 28BYJ-48 Stepper Motor in a practical application
Arduino-Controlled 28BYJ-48 Stepper Motor with ULN2003 Driver
This circuit controls a 28BYJ-48 stepper motor using an Arduino UNO and a ULN2003A breakout board. The Arduino is programmed to drive the stepper motor with a specific number of steps received via its serial interface, allowing for precise rotational movement control. The ULN2003A interfaces between the low-current Arduino output pins and the higher-current requirements of the stepper motor coils.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Arduino-Controlled 28BYJ-48 Stepper Motor with ULN2003 Driver: A project utilizing 28BYJ-48 Stepper Motor in a practical application
Arduino UNO Controlled Stepper Motor with ULN2003A Driver
This circuit controls a 28BYJ-48 stepper motor using an Arduino UNO and a ULN2003A driver board. The Arduino sends control signals to the ULN2003A, which then drives the stepper motor based on commands received via the serial interface.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotic arms and grippers
  • Automated curtain systems
  • 3D printers and CNC machines
  • Camera sliders and gimbals
  • Educational and hobbyist projects

Technical Specifications

The 28BYJ-48 stepper motor has the following key specifications:

Parameter Value
Operating Voltage 5V DC
Step Angle 5.625° (64 steps per revolution)
Gear Ratio 1:64
Phases 4
Drive Method Unipolar
Rated Current ~240 mA
Torque ~300 g·cm
Dimensions 28 mm diameter, 20 mm height

Pin Configuration (ULN2003 Driver Board)

The 28BYJ-48 is typically used with the ULN2003 driver board, which has the following pin configuration:

Pin Name Description
IN1 Input for coil 1 (connect to microcontroller)
IN2 Input for coil 2 (connect to microcontroller)
IN3 Input for coil 3 (connect to microcontroller)
IN4 Input for coil 4 (connect to microcontroller)
VCC Power supply (5V DC)
GND Ground

Usage Instructions

How to Use the 28BYJ-48 in a Circuit

  1. Connect the Motor to the ULN2003 Driver Board: Plug the 5-pin connector of the motor into the ULN2003 driver board.
  2. Power the Driver Board: Connect the VCC and GND pins of the driver board to a 5V DC power source.
  3. Connect the Driver Board to a Microcontroller:
    • Connect the IN1, IN2, IN3, and IN4 pins of the driver board to four digital output pins on your microcontroller (e.g., Arduino).
  4. Write a Control Program: Use a stepper motor library or write custom code to control the motor's rotation.

Important Considerations

  • Power Supply: Ensure the motor is powered with a stable 5V DC supply. Using a higher voltage may damage the motor.
  • Current Limitation: Avoid exceeding the rated current of ~240 mA to prevent overheating.
  • Step Accuracy: Due to the gear ratio, the motor requires 2048 steps for one full revolution of the output shaft.
  • Speed and Torque: The motor's speed and torque are inversely related. Higher speeds may result in reduced torque.

Example Code for Arduino UNO

Below is an example Arduino sketch to control the 28BYJ-48 stepper motor using the ULN2003 driver board:

#include <Stepper.h>

// Define the number of steps per revolution for the motor
#define STEPS_PER_REV 2048

// Initialize the Stepper library with the motor's steps and control pins
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11); 
// Pins 8, 9, 10, and 11 are connected to IN1, IN2, IN3, and IN4 respectively

void setup() {
  stepper.setSpeed(10); // Set motor speed to 10 RPM
  Serial.begin(9600);  // Initialize serial communication
  Serial.println("28BYJ-48 Stepper Motor Test");
}

void loop() {
  Serial.println("Rotating clockwise...");
  stepper.step(STEPS_PER_REV); // Rotate one full revolution clockwise
  delay(1000); // Wait for 1 second

  Serial.println("Rotating counterclockwise...");
  stepper.step(-STEPS_PER_REV); // Rotate one full revolution counterclockwise
  delay(1000); // Wait for 1 second
}

Notes:

  • Adjust the stepper.setSpeed() value to change the motor's speed.
  • Ensure the motor is not stalled or overloaded, as this can cause overheating.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Rotating:

    • Check the wiring between the motor, driver board, and microcontroller.
    • Ensure the power supply is providing a stable 5V DC.
    • Verify that the control pins in the code match the actual connections.
  2. Motor Vibrates but Does Not Rotate:

    • Ensure the step sequence in the code matches the motor's wiring.
    • Check for loose or incorrect connections.
  3. Motor Overheating:

    • Reduce the operating current by limiting the duty cycle in the code.
    • Avoid running the motor continuously for extended periods.
  4. Inconsistent or Jerky Movement:

    • Verify the stepper motor library is configured correctly.
    • Ensure the power supply can provide sufficient current.

FAQs

Q: Can I power the motor directly from the Arduino?
A: It is not recommended, as the motor requires more current than the Arduino can safely supply. Use an external 5V power source.

Q: How do I increase the motor's torque?
A: Reduce the motor's speed using the setSpeed() function in your code. Lower speeds generally result in higher torque.

Q: Can I use the 28BYJ-48 with a 12V power supply?
A: No, the motor is designed for 5V operation. Using a higher voltage may damage the motor.

Q: How many steps are required for one full revolution?
A: The motor requires 2048 steps for one full revolution of the output shaft due to its 64:1 gear ratio.

By following this documentation, you can effectively use the 28BYJ-48 stepper motor in your projects and troubleshoot common issues.