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