Skip to main content

ULN2003 Motor Driver IC

ULN2003 IC is one of the most commonly used Motor driver IC generally used when we need to drive high current loads using digital logic circuits like Op-maps, Timers, Gates, Arduino, PIC, ARM etc. For example a motor that requires 9V and 300mA to run cannot be powered by an Arduino I/O hence we use this IC to source enough current and voltage for the load. 


ULN2003 Pinout Configuration

Pin Number

Pin Name


1 to 7

Input 1 to Input 7

Seven Input pins of Darlington pair, each pin is connected to the base of the transistor and can be triggered by using +5V



Ground Reference Voltage 0V



Used as test pin or Voltage suppresser pin (optional to use)

10 to 16

Output 1 to Output 7

Respective outputs of seven input pins. Each output pin will be connected to ground only when its respective input pin is high(+5V)


ULN2003 Features

  • Contains 7 high-voltage and high current Darlington pairs
  • Each pair is rated for 50V and 500mA
  • Input pins can be triggered by +5V
  • All seven Output pins can be connected to gather to drive loads up to (7×500mA) ~3.5A.
  • Can be directly controlled by logic devices like Digital Gates, Arduino, PIC etc
  • Available in 16-pin DIP, TSSOP, SOIC packages

Note: Complete Technical Details can be found at the ULN2003 datasheet given at the end of this page.


ULN2003 Equivalent ICs

TPIC2701, ULN2001, ULN2002, ULN2004, L293D, Motor Driver Shield


Where to use a ULN2003

This IC is commonly used to drive Relay modules, Motors, high current LEDs and even Stepper Motors. So if you have anything that anything more than 5V 80mA to work, then this IC would be the right choice for you.


How to use a ULN2003 IC

The ULN2003 is a 16-pin IC. It has seven Darlington Pairs inside, where each can drive loads up to 50V and 500mA. For these seven Darlington Pairs we have seven Input and Output Pins. Adding to that we can a ground and Common pin. The ground pin, as usual is grounded and the usage of Common pin is optional. It might be surprising to note that this IC does not have any Vcc (power) pin; this is because the power required for the transistors to work will be drawn from the input pin itself. The below circuit is a simple circuit that can be used to test the working of ULN2003 IC.

ULN2003 Motor Driver Circuit Diagram

In the circuit consider the LED to be the loads and the logic pins (blue colour) as the pins connected to the Digital circuit or Microcontroller like Arduino. Notice that the Positive pin of the LED is connected to the positive load voltage and the negative pin is connected to the output pin of the IC. This is because when the input pin of the IC gets high the respective output pin will get connected to ground. So when the negative terminal of the LED is grounded it completes the circuit and thus glows. The loads connected to the output pin can be maximum of 50C and 500mA each. However you can run higher current loads buy combining two or more output pins to gather. For example if you combine three pins you can drive up to (3*500mA) ~1.5A.

The COM pin is connected to ground through a switch, this connection is optional. It can be used a test switch, meaning when this pin is grounded all the output pins will be grounded.



  • Used to drive high current loads using Digital Circuits
  • Can be used to drive Stepper motors
  • High current LED’s can be driven
  • Relay Driver module (can drive 7 relays)
  • Logic Buffers in digital electronics
  • Used as Touch sensor for Arduino


2D Model of ULN2003 (DIP)

ULN2003 Dimensions

ULN2003 Pins Dimensions

Component Datasheet

Related Post

Join 20K+subscribers

We will never spam you.

* indicates required

Be a part of our ever growing community.