# Shift Register turning on Transistor for LED Cluster

I have a question concerning using 74HC595 with two transistors to power a LED matrix. My goal is to make an 48 x 8 LED matrix using a cluster of 5 LEDS per unit (as opposed to only using one led as shown in Ref 1). I am having trouble making Ref 2 work with the shift registers and I can't figure out why (I suspect that the shift registers are not supplying enough voltage to switch the transistors. I've attached a simplified schematic. Please let me know what I am doing wrong, thanks!

Parts: NPN = 2n4401 w/ 1k resistor

Ref 1) My template for constructing the matrix http://www.instructables.com/id/48x8-SCROLLING-MATRIX-LED-DISPLAY-USING-ARDUINO-CO/?ALLSTEPS

Ref 2) My reference for using two transistors Using an NPN vs a PNP transistor

• That's not a capacitor at the collector of Q1, is it? Capacitors block DC current, so that would keep your circuit from working. – Duncan C Jul 1 '14 at 15:25
• Sry Duncan, that is the positive end of 12v. Not too savvy w/ Fritzing! – Jeeep Jul 1 '14 at 15:30
• BTW, what's the point of having transistors at both the +5 and ground side of your chain of LEDs? Seems like that adds resistance, complexity, and extra switching requirements with no benefit. Just ground the negative end of each diode chain through a resistor. Or am I missing something? – Duncan C Jul 3 '14 at 11:37

Look up the voltage drop accros one of your LEDs at reasonable current, then multiply that by 5. That's the voltage that will be accross the string of LEDs when lit.

I don't know what kind of LEDs you are using, but 5 of them is going to require more voltage than the 5 V logic output of the top shift register. Since the top transistor is a emitter follower, you need about 700 mV more. Then figure 200 mV for Q2 in saturation and 2 V accross the resistor (assuming 20 mA desired LED current). Overall you need about 3 V more than the LED string when on.

For example, let's say these are typical green LEDs with a forward drop of 2.1 V at 20 mA. That means there will be 10.5 V accross just the LEDs. From above, that means you'd need about 13.5 V into the base of Q1 to light the string of LEDs.

The simplest solution is to make the high side switch a PNP and use another transistor to drive that from the logic signal.

• Thank you for your excellent explanation. I've added an additional schematic to confirm I understand your suggestion. Please bear in mind that I have no electrical training and when it comes to transistors a very poor understanding. Thank you for your help! – Jeeep Jul 1 '14 at 19:19
• @user: Yup, your revised circuit should work. – Olin Lathrop Jul 1 '14 at 19:34

For an NPN transistor to turn ON, the voltage at base should be greater than (by 0.7V for silicon transistor) the voltage at emitter. The voltage at base of Q1 should be grater than drop across LEDs + voltage across Q2 (0.2V) + drop across 100$\Omega$ resistance.

So if the drop across your LED is about 1V (a few volts a usually), then 5V is not sufficient for turning the transistor ON. I think that is what happening in your case.

As others have pointed out, the problem is that your top driver is a source follower and therefore cannot output more than about 4.3V (5V minus one $V_{BE}$ drop).

The easiest solution is to hang an 8-channel source driver on your top HC595. Unfortunately, the old ones are now pretty much obsolescent, especially in DIP package, but they can be found.

If you're making a board with SMT parts, another solution is a dual PNP/NPN pre-biased transistor in an SOT-23-6 that will act as 1/8 of a UDN2981- all you need are eight of them, no additional parts required.