Electronic – What to use for the high-side (anode) drivers of a common anode LED matrix

ledmultiplexer

I'd like to multiplex rows of LEDs with a constant current sink driver. Should I just use BJTs to switch current into the rows of anodes, or is it better to use FETs, an array of FETs, or the same packaged into a convenient IC? It's easy to find current sinking ICs but I'm not sure what to search for on the sourcing side.

I would like to build something substantially similar to the Rainbowduino, http://nkcelectronics.com/rainbowduino-led-driver-platform.html . The Rainbowduino lights 24 LEDs at once with 24 current sinks and one current source using a Darlington array as the so-called "Super Source Driver", then it lights the next row of 24 and so on for 8 rows. Very standard. I would like to find a substitute for their unavailable-in-the-USA Darlington array. What do I need search for on digikey/Mouser to find an IC containing an array of current sources?

Best Answer

You can build your own common-anode driver out of discretes like this: alt text
A forward-biased diode at the zener (D2) cathode will let you use 1 zener and a bunch of standard silicon diodes for lower cost and easier availability.

Remember that discrete devices are available in arrays, which will greatly simplify breadboard or perfboard construction. However, this will reduce your available power significantly. If you're doing it on a PCB, it's perfectly fine to do it with discretes (as long as you have room.)

With that circuit R1, D2, and Q1 all dissipate minimal power, so can be SOT-23 and 0805/0603, or low power arrays.