Is it possible to sink and source from one output pin using a darlington driver
No. That chip is just a bunch of transistors with their emitters all connected to comm (pin 9). You can't do high-side switching with them.



Figure 1. Image from SE.


The ULN2803 consists of eight Darlington transistors connected to a common pin.
Each output can switch up to 500 mA to common.
The maximum current the common can handle is 2.5 A (but I recommend operating at 1 A max to improve reliability).








simulate this circuit &ndash; Schematic created using CircuitLab

Figure 2.

Arrange your groups of LEDs as shown above. Since you have a 5 V supply that's enough to power two LEDs in each string. The 47 Ω resistor will limit current to about 20 mA on each pair of LEDs so the total for a group of eight will be 80 mA. You need to check how many will be on at one time. Then make sure your power supply can supply enough mA.

If you had a few more outputs your job would be much easier. The simplest way would be to use a relay on one channel.







simulate this circuit

Figure 3.

The sketch above shows two groups of LEDs sharing the low-side Darlington driver. The active group is selected by the high-side relay (which can feed other pairs of groups as well). The problem with this is that you need to group any LEDs that are on at the same time on the same relay circuit because it is only a low-speed multiplexer.

It is possible to do this with high-side transistor switching and achieve high-speed multiplexing. I'll leave that to you to research.

Note that the Darlington common has to be connected to the micro ground.



Current per LED



Figure 4. Absolute maximum ratings for TruOpto 55-1814.

The datasheet, page 1, clearly shows the LED maximum continuous current rating as 30 mA. If the LEDs are pulsed, as in a multiplexing application such as yours, they can take 100 mA for 10 ms max. every 100 ms. If running a faster multiplexer use 100 mA for 10% of the time.