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

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

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

Introduction

The 28BYJ-48 is a unipolar stepper motor manufactured by xxxxxxx with the part ID 28BYJ-48 driver. This motor is widely used in robotics, automation, and DIY electronics projects due to its affordability, reliability, and precise control capabilities. It features a 5-phase design, enabling accurate rotation and positioning. The motor is typically paired with a ULN2003 driver board, which simplifies interfacing with microcontrollers such as Arduino.

Explore Projects Built with 28BYJ-48

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 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 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 Mega 2560-Based RFID and Stepper Motor Control System with I2C LCD Display
Image of aaa: A project utilizing 28BYJ-48 in a practical application
This circuit features an Arduino Mega 2560 microcontroller interfacing with multiple components including four 28BYJ-48 stepper motors controlled via ULN 2003 drivers, a 16x2 I2C LCD for display, an RFID-RC522 module for RFID reading, and a 4x4 membrane matrix keypad for user input. The setup is designed for applications requiring motor control, user interaction, and RFID-based identification.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Environmental Monitoring System with Dual Stepper Motor Valve Actuation
Image of MVP : A project utilizing 28BYJ-48 in a practical application
This circuit features two 28BYJ-48 stepper motors controlled by ULN2003A breakout boards, interfaced with a NodeMCU V3 ESP8266 microcontroller. The NodeMCU collects environmental data from a DHT11 temperature and humidity sensor and an MQ-135 air quality sensor. The microcontroller uses WiFi for connectivity and controls the stepper motors based on the sensor inputs, likely for regulating environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with 28BYJ-48

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 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 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 aaa: A project utilizing 28BYJ-48 in a practical application
Arduino Mega 2560-Based RFID and Stepper Motor Control System with I2C LCD Display
This circuit features an Arduino Mega 2560 microcontroller interfacing with multiple components including four 28BYJ-48 stepper motors controlled via ULN 2003 drivers, a 16x2 I2C LCD for display, an RFID-RC522 module for RFID reading, and a 4x4 membrane matrix keypad for user input. The setup is designed for applications requiring motor control, user interaction, and RFID-based identification.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MVP : A project utilizing 28BYJ-48 in a practical application
Wi-Fi Controlled Environmental Monitoring System with Dual Stepper Motor Valve Actuation
This circuit features two 28BYJ-48 stepper motors controlled by ULN2003A breakout boards, interfaced with a NodeMCU V3 ESP8266 microcontroller. The NodeMCU collects environmental data from a DHT11 temperature and humidity sensor and an MQ-135 air quality sensor. The microcontroller uses WiFi for connectivity and controls the stepper motors based on the sensor inputs, likely for regulating environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotic arms and grippers
  • Automated curtain systems
  • 3D printers and CNC machines
  • Camera sliders and pan-tilt mechanisms
  • Educational and hobbyist projects

Technical Specifications

Below are the key technical details of the 28BYJ-48 stepper motor:

Parameter Value
Operating Voltage 5V DC
Step Angle 5.625° (64 steps per revolution)
Gear Ratio 1:64
Phases 4
Drive Type Unipolar
Rated Current 240 mA
Coil Resistance ~50 Ω
Holding Torque ~300 gf.cm
Dimensions 28 mm diameter, 20 mm height
Shaft Diameter 5 mm

Pin Configuration (ULN2003 Driver Board)

The 28BYJ-48 is commonly used with the ULN2003 driver board. Below is the pin configuration for the driver board:

Pin Name Description
IN1 Input for Coil A
IN2 Input for Coil B
IN3 Input for Coil C
IN4 Input for Coil D
VCC Power supply (5V)
GND Ground
Motor Pins Connects to the 28BYJ-48 motor (4 pins)

Usage Instructions

Connecting the 28BYJ-48 to an Arduino UNO

To use the 28BYJ-48 stepper motor with an Arduino UNO, follow these steps:

  1. Connect the 4-pin connector of the motor to the ULN2003 driver board.
  2. Connect the ULN2003 board to the Arduino as follows:
    • IN1 → Arduino Pin 8
    • IN2 → Arduino Pin 9
    • IN3 → Arduino Pin 10
    • IN4 → Arduino Pin 11
  3. Connect the VCC and GND pins of the ULN2003 board to the 5V and GND pins of the Arduino, respectively.
  4. Power the Arduino and upload the control code.

Sample Arduino Code

Below is an example code to control the 28BYJ-48 stepper motor using the Arduino Stepper library:

#include <Stepper.h>

// Define the number of steps per revolution for the motor
#define STEPS_PER_REV 2048  // 64 steps * 64 gear ratio

// Initialize the Stepper library with the motor's pin connections
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);

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
}

Important Considerations

  • Power Supply: Ensure the motor is powered with a stable 5V DC supply. Using a higher voltage may damage the motor.
  • Speed and Torque: The motor's torque decreases as speed increases. Adjust the speed to balance performance and torque.
  • Driver Board: Always use the ULN2003 driver board or a compatible driver to avoid damaging the motor or microcontroller.

Troubleshooting and FAQs

Common Issues

  1. Motor Not Rotating

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check the connections between the motor, driver board, and Arduino. Ensure the power supply provides 5V.
  2. Motor Vibrates but Does Not Rotate

    • Cause: Incorrect step sequence or low current.
    • Solution: Verify the control code and ensure the step sequence matches the motor's requirements. Check the power supply.
  3. Motor Overheating

    • Cause: Prolonged operation at high current.
    • Solution: Reduce the operating time or use a heat sink to dissipate heat.
  4. Inconsistent Movement

    • Cause: Loose connections or insufficient power.
    • Solution: Secure all connections and ensure a stable power supply.

FAQs

  • Q: Can I power the motor directly from the Arduino?
    A: It is not recommended, as the Arduino's 5V pin may not provide enough current. Use an external 5V power supply.

  • Q: What is the maximum speed of the 28BYJ-48?
    A: The motor can achieve a maximum speed of approximately 15 RPM, depending on the load and power supply.

  • Q: Can I use the 28BYJ-48 with other microcontrollers?
    A: Yes, the motor can be used with other microcontrollers like Raspberry Pi, ESP32, or STM32, provided you use a compatible driver board.

This concludes the documentation for the 28BYJ-48 stepper motor.