Throw away the ULN2803 and use individual transistors instead.
(The Darlington configuration is wasting 0.7V that you can't afford.)
Better still, use FETs rather than bipolar transistors.
How many LEDs are you trying to light at once?
If it's all 32, if you tried to get 16mA peak through each one (for an average of 1mA), then you'd have 512mA going through the ULN2803.
The ULN2803 says you will have a 1.5V drop at the current. Subtract the 3V of the LED, and maybe 0.2V across the upper transistor, and you're left with 5 - 0.2 - 3 - 1.5 = 0.3V across the 47R resistor, which is only 6.5mA.
(That means the ULN drop will be < 1.5V because the current s less than expected, you can do a few calculations to find the actual figure)
Even with only one LED on, the ULN will drop about 0.75V at 16 mA, => 1.05V across the resistor => 22mA
So bottom line is, you need to massively reduce the size of the series resistor, AND reduce the voltage drop across the bottom transistor to get any reasonable current through the LEDs.
post edited by qhb - 2019/05/26 17:54:57