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

How to Use ULN2003PCB: Examples, Pinouts, and Specs

Image of ULN2003PCB
Cirkit Designer LogoDesign with ULN2003PCB in Cirkit Designer

Introduction

The ULN2003PCB is a printed circuit board (PCB) that integrates the ULN2003 Darlington transistor array, manufactured by JJY. The ULN2003 is a high-voltage, high-current driver IC designed to interface low-power control signals with high-power loads. The PCB simplifies the use of the ULN2003 by providing a pre-assembled, ready-to-use module with convenient pin headers for easy connection.

Explore Projects Built with ULN2003PCB

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-Controlled Stepper Motor with ULN2003A Driver
Image of stepper motor: A project utilizing ULN2003PCB in a practical application
This circuit is designed to control a 28BYJ-48 stepper motor using an Arduino UNO microcontroller and a ULN2003A breakout board. The Arduino's digital pins D8 to D11 are connected to the input pins of the ULN2003A, which in turn is connected to the stepper motor's wires, allowing the Arduino to drive the motor. The code provided for the Arduino is currently a template with empty setup and loop functions, indicating that the control logic for the stepper motor has yet to be implemented.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Arduino UNO and ESP-8266 Smart Controller with LCD and RTC
Image of Ogie Diagram: A project utilizing ULN2003PCB in a practical application
This circuit is a power management and control system that uses a 12V power supply and a 18650 Li-ion battery pack to provide a stable 5V output through a step-down buck converter. It includes an Arduino UNO, an ESP-8266 controller, a DS1307 RTC module, and a 20x4 I2C LCD display for monitoring and control purposes. The ULN2003A breakout board is used for driving higher current loads.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Smart Home Automation System with LCD Display and Sensor Integration
Image of CPE_301_FINAL: A project utilizing ULN2003PCB in a practical application
This circuit is a multi-functional system controlled by an Arduino Mega 2560, featuring an LCD display, various LEDs, a stepper motor, a DC motor, and multiple sensors including a DHT11 humidity and temperature sensor and a water level sensor. The system also includes a real-time clock module for timekeeping and several pushbuttons for user interaction. The ULN2003A breakout board is used to drive the stepper motor, while the L293D motor driver controls the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled Dual Stepper Motor and Servo System
Image of nano plus servo: A project utilizing ULN2003PCB in a practical application
This circuit controls two 28BYJ-48 stepper motors and a micro servo using an Arduino Nano. The ULN2003A breakout boards interface the stepper motors with the Arduino, while the micro servo is directly controlled via a PWM signal from the Arduino. Power is supplied through a 2.1mm DC barrel jack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ULN2003PCB

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 stepper motor: A project utilizing ULN2003PCB in a practical application
Arduino-Controlled Stepper Motor with ULN2003A Driver
This circuit is designed to control a 28BYJ-48 stepper motor using an Arduino UNO microcontroller and a ULN2003A breakout board. The Arduino's digital pins D8 to D11 are connected to the input pins of the ULN2003A, which in turn is connected to the stepper motor's wires, allowing the Arduino to drive the motor. The code provided for the Arduino is currently a template with empty setup and loop functions, indicating that the control logic for the stepper motor has yet to be implemented.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Ogie Diagram: A project utilizing ULN2003PCB in a practical application
Battery-Powered Arduino UNO and ESP-8266 Smart Controller with LCD and RTC
This circuit is a power management and control system that uses a 12V power supply and a 18650 Li-ion battery pack to provide a stable 5V output through a step-down buck converter. It includes an Arduino UNO, an ESP-8266 controller, a DS1307 RTC module, and a 20x4 I2C LCD display for monitoring and control purposes. The ULN2003A breakout board is used for driving higher current loads.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of CPE_301_FINAL: A project utilizing ULN2003PCB in a practical application
Arduino Mega 2560 Smart Home Automation System with LCD Display and Sensor Integration
This circuit is a multi-functional system controlled by an Arduino Mega 2560, featuring an LCD display, various LEDs, a stepper motor, a DC motor, and multiple sensors including a DHT11 humidity and temperature sensor and a water level sensor. The system also includes a real-time clock module for timekeeping and several pushbuttons for user interaction. The ULN2003A breakout board is used to drive the stepper motor, while the L293D motor driver controls the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of nano plus servo: A project utilizing ULN2003PCB in a practical application
Arduino Nano Controlled Dual Stepper Motor and Servo System
This circuit controls two 28BYJ-48 stepper motors and a micro servo using an Arduino Nano. The ULN2003A breakout boards interface the stepper motors with the Arduino, while the micro servo is directly controlled via a PWM signal from the Arduino. Power is supplied through a 2.1mm DC barrel jack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Driving stepper motors in robotics and automation systems
  • Controlling relays for home automation or industrial applications
  • Switching high-power LEDs or lamps
  • Driving solenoids in vending machines or locking mechanisms
  • Interfacing microcontrollers (e.g., Arduino, Raspberry Pi) with high-power devices

Technical Specifications

Key Technical Details

  • Manufacturer: JJY
  • Part ID: ULN2003PCB
  • Input Voltage: 3.3V to 5V (logic level inputs)
  • Output Voltage: Up to 50V (load side)
  • Output Current: Up to 500mA per channel (maximum total current: 2.5A)
  • Number of Channels: 7 (independent Darlington transistor drivers)
  • PCB Dimensions: Approximately 40mm x 20mm
  • Connector Type: 10-pin header for inputs and outputs
  • Integrated Features: Flyback diodes for inductive load protection

Pin Configuration and Descriptions

The ULN2003PCB has a 10-pin header for easy interfacing. The pin configuration is as follows:

Pin Name Description
1 IN1 Input signal for Channel 1 (logic level: 3.3V or 5V)
2 IN2 Input signal for Channel 2
3 IN3 Input signal for Channel 3
4 IN4 Input signal for Channel 4
5 IN5 Input signal for Channel 5
6 IN6 Input signal for Channel 6
7 IN7 Input signal for Channel 7
8 GND Ground connection for the module
9 VCC Power supply for the logic circuit (3.3V or 5V)
10 COM (Common) Common cathode for the internal flyback diodes (connect to load power supply)

Output Terminals

The PCB also includes a 7-pin output terminal block for connecting the load. Each output corresponds to one of the input channels (OUT1 to OUT7).

Output Pin Description
OUT1 Output for Channel 1
OUT2 Output for Channel 2
OUT3 Output for Channel 3
OUT4 Output for Channel 4
OUT5 Output for Channel 5
OUT6 Output for Channel 6
OUT7 Output for Channel 7

Usage Instructions

How to Use the ULN2003PCB in a Circuit

  1. Power the Module:

    • Connect the VCC pin to a 3.3V or 5V power source (depending on your control signal voltage).
    • Connect the GND pin to the ground of your power supply.
  2. Connect the Inputs:

    • Use the IN1 to IN7 pins to provide control signals from a microcontroller or other logic circuit.
    • A HIGH signal (3.3V or 5V) on an input pin will activate the corresponding output channel.
  3. Connect the Outputs:

    • Attach your load (e.g., motor, relay, lamp) to the corresponding output pin (OUT1 to OUT7).
    • Ensure the load's power supply is connected to the COM pin to enable flyback diode protection.
  4. Verify Connections:

    • Double-check all connections to ensure proper wiring and avoid short circuits.
  5. Test the Circuit:

    • Power on the system and send control signals to the input pins to activate the desired output channels.

Important Considerations and Best Practices

  • Flyback Diode Protection: The ULN2003 includes built-in flyback diodes to protect against voltage spikes from inductive loads. Always connect the COM pin to the positive terminal of the load's power supply.
  • Current Limitations: Do not exceed 500mA per channel or 2.5A total current across all channels. Use external transistors or relays for higher current loads.
  • Heat Dissipation: For high-current applications, ensure adequate ventilation or heat sinking to prevent overheating.
  • Logic Level Compatibility: Ensure the input signals match the logic level of the module (3.3V or 5V).

Example: Using ULN2003PCB with Arduino UNO

Below is an example of how to control a 5V relay using the ULN2003PCB and an Arduino UNO:

// Example: Controlling a relay with ULN2003PCB and Arduino UNO

// Define the input pin connected to ULN2003PCB
const int relayControlPin = 7; // Connect to IN1 on ULN2003PCB

void setup() {
  pinMode(relayControlPin, OUTPUT); // Set the pin as an output
}

void loop() {
  digitalWrite(relayControlPin, HIGH); // Turn on the relay
  delay(1000); // Wait for 1 second
  digitalWrite(relayControlPin, LOW);  // Turn off the relay
  delay(1000); // Wait for 1 second
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Output on Load Side:

    • Cause: Incorrect wiring or missing power connections.
    • Solution: Verify that the VCC, GND, and COM pins are properly connected. Ensure the input signal is HIGH (3.3V or 5V).
  2. Overheating of the Module:

    • Cause: Exceeding the current rating of the ULN2003.
    • Solution: Reduce the load current or use external relays/transistors for high-power devices.
  3. Inductive Load Not Working Properly:

    • Cause: Flyback diode protection not enabled.
    • Solution: Ensure the COM pin is connected to the positive terminal of the load's power supply.
  4. Microcontroller Resetting or Malfunctioning:

    • Cause: Voltage spikes or noise from the load.
    • Solution: Use decoupling capacitors near the microcontroller and ensure proper grounding.

FAQs

  • Q: Can I use the ULN2003PCB with a 12V motor?
    A: Yes, as long as the motor's current does not exceed 500mA per channel. Connect the motor's power supply to the COM pin.

  • Q: Is the ULN2003PCB compatible with 3.3V logic?
    A: Yes, the module works with both 3.3V and 5V logic levels.

  • Q: Can I control multiple loads simultaneously?
    A: Yes, you can control up to 7 loads, provided the total current does not exceed 2.5A.

  • Q: Do I need external diodes for inductive loads?
    A: No, the ULN2003 includes built-in flyback diodes for this purpose.

This concludes the documentation for the ULN2003PCB.