LED Matrix Project

Thread Starter


Joined Feb 16, 2007
Hi All

I am currently looking at a project to create an artificial starfield in a bedroom (because I can).
I hope to have a matrix of at least 256 leds; rows and columns of 16 say (maybe more)
The plan is to use rows to 'drive' anodes and and columns to 'drive' cathodes.
At the intersection of each row and column I plan to have a White 3mm led with a series resistor.
All simple so far, right?
I have looked on the Net and found example with Micro's driving Darlington arrays for this purpose.
I am thinking ULN2803's for 'driving' the anode and UDN2981's or similar to 'drive' the cathode.

Depending on how many row and columns I eventually go with, I may need to use an IO expander chip of some sort with my PIC to drive the arrays.

Does anybody have any idea's on all of this, also does anybody know of any reasonably priced sources for or alternatives to the UDN2981 (Must be readily available on the net)


John Luciani

Joined Apr 3, 2007
You didn't say what the If current is of your LEDs.

For low current LEDs you could take a look at the TI 16 channel drivers.
These are either I2C or SPI.

I believe that Maxim may make similar devices.

(* jcl *)


Joined Jul 17, 2007
Newark carries the UDN2981A-T for $1.83/each when you're buying in small lots.

Jameco carries them too; surprisingly they're a bit higher at $1.85/ea

If you're going to do a 16x16 array, you could use a couple of 4017 Johnson counters in series to step across the X-axis of the array, and perhaps use a couple of shift registers to crank in bits for the Y-axis. This means you'd only need two outputs for the Y axis (data and clock) and two for the X-axis (clock and reset).
If you use this technique, you'll only be lighting a single column at a time, so you really only need a single current limiting resistor per row. If you're cycling through all of the columns sufficiently quickly, your persistence of vision will make it seem like the LEDs are constantly illuminated.