Problem with PIC and ULN2003A

Thread Starter


Joined May 19, 2013

I' ve build a digital clock with 4 7-seg digits wich are driven by a pic 16F84.
What i wanted to do was to replace each segment of the digits with led strips using the ULN2003A chip.But i have problems with the signals of the segments.
I read that i have to use some pull up or pull down resistors but i dont know how.

In the schematic i have removed the resistors R1-R7

Any help?

Thank you in advance!



Joined Jun 29, 2010
What i wanted to do was to replace each segment of the digits with led strips using the ULN2003A chip.
The ULN2003 works like not gate when you will give logic 1 it will ampl. it to logic 0.
but in reverse when logic 0 is given 0 is on output not one.
so,no use of pull up or down uC work on both..
just change the logic in Uc programming in opposite signal and connect the led strip to common anode.


Joined Apr 24, 2011
While your orgional idea is good, you're going to have several problems doing this getting the details correct.

The ULN2003 works by bringing it's output pin to ground (I don't know offhand if it's inverted or non inverted but that is a simple code item). For a LED to light this way it needs the cathode to connect to the UNL.

So the 7-segments need to be common anode. The schematic notes common cathode devices. Oops.

Next, the drive on the schematic is for common cathode, bringing the voltage low. It needs to be the reverse, bringing the voltage high. A PNP transistor is good for this, an NPN not so much. Another oops.

R1-R7 are going to be the correct values, they need to be between the 7-seg and the UNL. Just a wre goes between the PIC and the UNL. R10-R13 should be OK with PNP's too.

So you need different 7-segments, different transistors, and a new wiring schematic.

See if you can draw your own schematic and post it back. Then we can see if it's good.

And welcome to the forums!