# How to drive dozens of LEDs with the same current without a constant current LED drive IC?

Let's say I have an array of many indicator LEDs that I need to turn on/off independently; the LED current is about 1 mA. In the past I used constant sink LED driver ICs such as the TLC5916 as shown below. This worked very well. Now it looks like such chips are hit pretty hard by the chip crisis and I am wondering how to do it without such ICs. I am struggling to design around such ICs.

Of course, one could use shift registers such as the 595 and series resistors for each LED, but then the brightness homogeneity is not as good because: the LEDs' Vf is pretty close to the rail voltage, they will be affected by temperature and by how many other LEDs are on/off (the 3.3 V trace is rather long).

Building a discrete constant current sink with transistors is easy, too, but how to match them between dozens of LEDs with discrete parts? Aren't current mirrors pretty mediocre outside of ICs?

Let's say the LED current should be stable to 10% across the channels and across commercial temperature range.

simulate this circuit – Schematic created using CircuitLab

• the 3.3 V trace is rather long Then make it thick to limit the voltage drop. If possible use a star connection to give each LED the same series resistance. Commented Oct 12, 2021 at 14:03
• Aren't current mirrors pretty mediocre outside of ICs? Not if you use emitter / source resistors. Do realize that that will cost some voltage drop. At 3.3 V supply and 3 V LEDs you don't allow for much regulating headroom. I would consider hard switching (on/off) a MOSFET ... the LED current is about 1 mA. Oh, 1 mA only! Are you sure that the LED's brightness variations aren't caused by the LEDs themselves? At 1 mA I would expect too little voltage drop to notice. The LEDs should have a current limiting resistor and that should make the currents equal enough. Commented Oct 12, 2021 at 14:06
• @Bimpelrekkie the main problem with the series resistors is the temperature stability. Let's say Vf at 1 mA is 3.0 V at room temperature and 2.7 V at 70 °C. The current would double across temperature when using a fixed series resistor. This is so noticable that even touching the indicator makes it brighter when the rest of the panel is rather cool. Thank you for the reminder about emitter resistors. Commented Oct 12, 2021 at 14:10
• The TLC5916 also needs a diode drop to regulate well on the current output pins. The mirror in the chip is in triode mode before hitting about 0.6 volts, meaning that the minimum voltage you should supply to the LEDs is 3.6. A friend of mine used the internal current limit on a 5 V shift register to directly drive LEDs, not recommended, but doable. Commented Oct 12, 2021 at 14:10
• @user55924 Thanks for pointing out that minimum dropout. Indeed, I had used it with a 5V rail in the past, giving it enough headroom for proper regulation. Hmm perhaps, a tiny charge pump to 5~V would increase the headroom enough to make series resistors work well enough. Commented Oct 12, 2021 at 14:21