EN / USD
uln2003, uln2003 pinout, uln2003 datasheet, uln2003 circuit diagram, uln2003 proteus simulation, uln2003 motor driver, uln2003A, uln2003A pinout, uln2003A datasheet
TEP , The Engineering Projects , Boxes

Introduction to ULN2003

Shares 2.5K Views
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Shares: 691
TEP , The Engineering Projects , PCBWAY

Hello everyone! I hope you will be absolutely fine and having fun. Today, I am going to give you a detailed Introduction to ULN2003. We will also discuss the ULN2003 Datasheet, Pinout, Circuit Diagram & Proteus Simulation. If you have ever controlled any motor (i.e. DC Motor, Stepper Motor etc.) with a microcontroller (i.e. PIC, Arduino etc.), then you must have heard about drivers. Why do we need to use drivers? We use drivers (to control motors) because of two reasons.

  • First: Microcontrollers operate at 5V while motors operate at different voltages (5V, 12V, 24V etc.).
  • Second: Motors are Inductive loads thus they produce back emf, which may damage your microcontroller permanently (if not handled correctly).

Because of these two reasons, we have to use the driver in between the microcontroller & motor. There are different types of motor drivers available and ULN2003 is one of them. If we check its datasheet, then we can see that ULN2003 can handle up to 50V & 500mA. As its current rating is not that high, so it's used to control small motors. For heavy motors, we normally use relays in between ULN2003 & motor. In this case, the Microcontroller is sending a signal to ULN2003, which then forwards it to relays (connected at output). Remember, the relay is also an inductive load. So, we can control different types of loads with ULN2003 i.e. motor, relay, solenoid, actuator etc. You should also have a look at Relay Interfacing with Microcontroller using ULN2003A.

Now, let's have a look at what's inside ULN2003 in detail:

ULN2003: Definition

  • ULN2003 is a 16 Pin IC, consisting of 7 Darlington pairs (each pair protected with suppression diode) and thus has the capability to handle a maximum of 7 loads(could be inductive).
  • In simple words, we have 7 drivers in a single ULN2003 chip and thus can control a maximum of 7 loads.
  • Each Darlington pair can handle a maximum 500mA load, while the peak value is 600mA.
  • Similarly, the maximum output voltage of each Darlington pair is 50V.
  • In the below figure, you can see ULN2003 has 16 Pins, where inputs and their respective outputs are placed in front of each other(for ease of circuit designing).
  • Other than I/O Pins, we have Ground Pin where we need to provide 0V & Vcc (Common) Pin.

uln2003, uln2003 pinout, uln2003 datasheet, uln2003 circuit diagram, uln2003 proteus simulation, uln2003 motor driver, uln2003A, uln2003A pinout, uln2003A datasheet

ULN2003 Datasheet

  • Here's the link to download ULN2003 datasheet, must read it once.
  • I have also given the link to a reliable source, from where you can buy ULN2003 IC.
Download ULN2003 Datasheet

ULN2003 Pinout

  • ULN2003 has 16 pins in total:
    • 7 Input pins (Pin # 1 to Pin # 7)
    • 7 Output pins (Pin # 10 to Pin # 16)
    • 1 Ground pin (Pin # 8)
    • 1 COM pin (Pin # 9)
  • ULN2003 Pinout is shown in the below figure:
uln2003, uln2003 pinout, uln2003 datasheet, uln2003 circuit diagram, uln2003 proteus simulation, uln2003 motor driver, uln2003A, uln2003A pinout, uln2003A datasheet

ULN2003 Pin Description

  • The functions associated with each pin of ULN2003 along with pin names are shown in the table given below.
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A

ULN2003 Darlington Pair

  • ULN2003 consists of 7 identical Darlington pairs.
  • A single Darlington pair consists of two bipolar transistors its maximum operating values are 50V & 500mA (peak 600mA).
  • These two transistors of the Darlington pair have a common emitter, while their collectors are open.
  • Here's the circuit diagram of a single Darlington pair, shown in the below figure:
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A

ULN2003A Free-Wheeling Diodes

  • ULN2003A has free-wheeling diodes, which protect from back emf.
  • So, if we are using an inductive load (i.e. relays), then we don't need to add extra diodes if we are controlling it with ULN2003A.
  • Logic Diagram of ULN2003A is shown in the below figure:
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A

ULN2003 Features

There are a lot of key features associated with the relay driver ULN2003. A few of them are given below:

  • 500mA of the rated collector.
  • The high output voltage of around 50V.
  • Relay driver applications.
  • Output clamp diodes.
  • Compatible input with popular logic types.
  • Some of the key features are also given in the table below for a better understanding of the working conditions of ULN2003.
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A

ULN2003 Applications

The relay circuit driver ULN2003 has a wide range of applications in real life. Some of the major applications associated with ULN2003A are given below.

  • Logic buffers.
  • Line drivers.
  • Relay drivers (for driving different loads).
  • Lamp drivers.
  • LED display drivers (display devices).
  • Motor (stepper and DC brushed motor) drivers.

ULN2003 Proteus Simulation

  • I have designed a simulation in Proteus ISIS for LED control using ULN2003.
  • The screenshot of the simulation is shown in the figure below.
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A
  • As you can see in the above figure that I have connected Logic State at all inputs of ULN2003A and have connected Leds at outputs.
  • So, now when I make the Logic State HIGH then the respective LED will also go ON.
  • The running form of the above simulation is shown in the figure below.
Introduction to ULN2003, ULN2003 Introduction, getting started with uln2003, introduction to uln2003A, uln2003A introduction, how to use uln2003, how to use uln2003A, Introduction to relay driver IC uln2003, introduction to relay driver IC uln2003A
  • If you change the state of the logic state from 0 to 1, the corresponding LED will be turned ON as shown in the above figure.
  • You can download the Proteus simulation here by clicking on the button below.
  • Just download the .rar file, extract it and enjoy the simulation.

ULN2003 Simulation in Proteus

  • Here's the video in which I have shown how to use ULN2003A in Proteus:

So that is all from the tutorial Introduction to ULN2003. I hope you enjoyed this tutorial. If you face any sort of problem regarding anything, you can ask me anytime in the comments without even feeling any kind of hesitation. I will try my level to entertain you and to solve your issues in a better way, if possible. Our entire team is 24/7 here to entertain you and to solve your issues in one way or the other. I will explore different ICs in my later tutorials and will surely share them with all of you as well. So, till then, Take Care :)

TEP , The Engineering Projects , Tags
Comments

Write a Comment

WordPress Google Twitter Facebook User
Robot
Comments Comments on ‘’ Introduction to ULN2003 ‘’ (15)
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
It's great article. Would You make a library and post the opposite about it? Darlington array in pnp, such us M63840P or M54562P. OK...? Thanks ^_^
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hi. I am working with ULN2003 and facing some problem. I am going to share with you and need your answers. The purpose is the run two 12v stepper motors and two Dc motors of 12V through parallel port. Here, two different circuits are built for two different applications, because these are two different projects. The pin #8 and parallel port ground are shorted with ground and supply power is 12v. While pin#9 is connected to 12v power supply. And the output is connected to input from pin#1 and so on. All the connections are properly done. I did not have used ULN before but I know that it acts as voltage buffer and current amplifier. I have written following reading below. logic 0 at the input= Output of ULN is 2.2v logic 1 at the input= Output of ULN is 0v After 1 day: logic 0 at the input= Output of ULN is 0v logic 1 at the input=Output of ULN is 0v I don’t know why ULN creating problems for me. I have changed 6 ULN but still not see any operation. If anybody has worked with ULN please help me. Thank you for your patience and reading such a long question. Thanks,
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hello! I'm I am working on my university final year project and trying to control motor with arduino Uno step by step. Then I use a ULN2003 between them to amplify the current in the motor as I know ULN also use as current amplifier. So before using ULN in my project, I use it in small circuit that I build to test it. The circuit has a switch and LED. But ULN did not work as I was expecting. The voltage between A and B is -0.5V when switch is off and 4.4V when switch is on. But LED did not get on. I need to know why? What is the problem here? Waiting for your valuable answer. Thank you in advance.
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hi. Jack is here. I build a circuit have three outputs that switch the channel of ULN Darlington array to drive RGB LED module (one output to each colour). It is working perfectly. But my purpose is to add another module. And I have a question about it. What I have to do? Should I tie all output to two of the ULN channel input and after that tie the outputs to 2 separate modules? Or I have to add something between 2003 inputs? Thanks
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hey everyone. I am facing a problem in my school project. I used transistors to drive 5 lead stepper motor with ULN2003. But I have confusion. Isn’t ULN capable to drive the stepper without using transistors? It can output current of 500mA per drive and stepper motor requires only 40mA per phase. Then why I have to use other transistors? Please explain what is the purpose of using transistor here along with ULN? Thank you Fiza
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hi. I have your read your article. Impressive. Let’s come to the question. You have mentioned that ULN2003 has 7 open collector Darlington pairs with common emitters. What you mean by common emitter? I don’t understand this point. Kindly explain it for me. Does it mean that all of the emitters are connected together have common ground (pin #8). Thanks
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hello everyone. Really appreciate your efforts. I need to know that how to use pin #9? I have another question, what is the difference b/w driving relay of 12V or using a simple transistor instead? Thank you very much.
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hey. I am working on darlington pair IC according to the manufacturer guidance. It must provide 500mA output at single node but as I have tested it is only generating 4mA. I have tested much time but every time the current down instead of amplifying. Why I am facing this problem? Guide please. Thank you
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hello. Great article. I have a question related to my project. Should I use a drive to control a little bigger pm55l-048? And should I have to use ULN2003 to push 19V. Thanks
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
Hi. I read your article and found it very helpful. Keep writing. You r doing great. I want to ask you that please mention how to test ULN? Thank you
Comment
Reaction 40
Reaction 700
Reaction 60
Reaction 25
Reaction 60
This may be too late for your project but I hope it helps others maybe. If you look at the Darlington pair inside the chip, as shown above, you can see that the Darlington pair collectors aren't connected or have a load (the diodes are just to stop back EMF from inductive loads and are only for protection), what is known as an open-collector output. As a result, this output can only sink current, not feed it out. So, if you are wanting to put a load onto it, the load must go from +Vcc to the output. I suspect you have put the stepper motor coils from the outputs to ground instead as this would explain why you are having to use another diode. The extra transistor would be the way to go if you needed more current than the ULN2003 can handle but you would then use a suitable pull-up resistor from the output to +Vcc and then feed the output into the bigger extra driver transistor. Hope that helps.