I'm having trouble designing a driver for a large (5") 12V common cathode 7 segments display using a 74HC595 shift register and BJT transistors. Below are the schematics for the component (display) I want to drive.

12V common cathode 7-segments display schematics

Wiring diagram from the components shop - HS40101AS
(source: soldafria.com.br)

I have a working driver for a similar 12V common anode display using the shift register and 8 NPN transistors (BC547) (see schematics below). I've even seen folks replacing the transistors by darlington arrays sych as ULN2003 and ULN2803.

Schematics of my working driver for 12V common anode 7 segment display

But I can't seen to find the equivalent circuit for common cathode displays.

My first (failed) attempt at it is shown below.

My failed attempt at a PNP common cathode 7 display driver

The problem seem to be that the 5V signal is not enough to turn off the PNP transistor. I would have to raise the signal to 12V to turn the transistor off, but I don't have that voltage coming from the microcontroller or the shift register.

So, how can I drive common cathode displays? Can anyone point me in the right direction, please?

  • \$\begingroup\$ The LED segments in the first schematic are neither common cathode nor common anode. \$\endgroup\$
    – ijuneja
    Commented Dec 16, 2019 at 10:23

2 Answers 2


You need to put a NPN low-side drive in front of your PNP high-side drive.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Thank you very much for your post "Ignacio Vazquez-Abrams" it was really helpfull \$\endgroup\$
    – user40530
    Commented Apr 18, 2014 at 14:01

I'd redo your power supply scheme to have the positive of the 12 V supply tied to +5 V and therefore the negative end of the 12 V would be at -7 V.

In effect you'd have +5 V, 0 V and -7 V. Then I'd use PNP transistors feeding the anodes of the LED displays (from 5 V) with resistors between collectors and anodes.

  • 1
    \$\begingroup\$ That's helpful, thanks, especially because your suggestion would allow me to use less transistors - one per segment, instead of two. But in this current project of mine, it would be difficult to change the power supply, mainly because only the 5V is regulated, the 12V isn't. Feeding this to the uC would cause me problems. \$\endgroup\$
    – Ricardo
    Commented Oct 4, 2013 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.