I have made an 8x10 LED matrix, controlled using a CD4017 decade counter and Arduino. A simplified schematic is shown below:
In the real version, there are 8 Arduino pins, and all 10 outputs of the decade counter are used (I have only shown a 4x4 for simplicity). The way it works is, for every clock pulse from the Arduino, the decade counter moves the output along by 1. This grounds one of the 10 columns of LEDs via the 2N3904 NPN transistors. At the same time, the LEDs that light up are controlled by turning on/off the relevant Arduino pins. By switching between columns quickly, the LEDs appear constantly on to the eye.
My problem is that the LEDs are pretty dim. I attribute this to the fact that the Arduino has to do a decent bit of processing for the display, meaning the LEDs can spend quite a lot of time off. I have tried to minimise this in code, but although it has had an effect, the LEDs are still dim. Also, the Arduino's power delivery using the digital pins is somewhat lackluster. How could I make the LEDs brighter? I was thinking of having an external power supply, and use the Arduino pins to instead control power delivery from this using transistors, but I have had trouble selecting a transistor for this to work. As far as I know, the LEDs are just standard 5mm LEDs, but I can't find any datasheet for them. I purchased them here.
Any help is appreciated.