It’s an LED matrix!
Date: July 1, 2009 | CommentSo, I’m going to use Henne’s transceiver for an LED matrix. You coulda probably guessed, if you’d thought about it for a minute or three.
Anyway, I fell back on my – ahem – process: first, draw the circuit in Adobe Illustrator and then build it on a breadboard.
(I have been asked in the past why I use Illustrator and not a regular schematic-drawing application such as Eagle or McCad. My first line of defense is the same as when I’m asked why I use InDesign to make slides rather than use the ubiquitous Microsoft PowerPoint: I use the Adobe Creative Suite on a daily basis and am something of an expert with its components. I can create a schematic [or slideshow] faster with the Adobe product than with anything else. Secondarily, I think I get a much better, graphically pleasing, schematic from Illustrator.)
So, there are some changes in this version of the schematic that aren’t electronically or function-driven: instead of the 10-position DIP switch, I have substituted a 2×10 header. This will save only a few cents (around 50) on the bill of materials, but will save some space on the board as well.
These switches signal to the ATMega8515 the DMX start channel to use. They’re set infrequently (probably only once a holiday season, maybe less) and the user (probably someone as unsophisticated as me) needs only to shunt the correct pairs depending upon the channel. How do you calculate the DMX start address? Just Google “DMX DIP switch calculator”.
Also, I eliminated a couple of superfluous components, including the potentiometer, its associated resistor and the J3, J4 and J5 headers (which are now direct connections to the shift register (74HC164).
The additional set of goodies that makes this an LED matrix circuit are the shift register, serial-in, parallel-out chip (U3 – the 74HC164), which in turn drives the sink chip (U4 – the ULN2803A). The shift-register gets us six extra wires (taking the two serial ouput lines and turning them into eight), while the sink-chip (a Darlington transistor array) allows the current load to increase to 500mA per line.
Otherwise, this is the exact same circuit as the transceiver.
Because I’m overtly ambitious, I’m going to redraw this circuit one more time – in McCad PCB-ST, so that I can make Gerber files and then, onward, to a printed circuit board.
Woo-hoo.

8:29 pm on July 1st, 2009
[...] View original post here: It’s an LED matrix! [...]
11:05 pm on May 5th, 2010
Very cool, thanks for sharing. I was looking over Henne’s website, and your schematic drawing is very helpful. Have you made any progress since you made this board? Did you ever get it printed?
6:52 pm on May 9th, 2010
Benson: I built this as a breadboard but never turned it into a PCB. The software didn’t work and I never learned whether it was a problem in my construction of the circuit or whether there was just a misunderstanding about what the circuit would do. I continue to work on this project and expect to have some stuff posted within the next few weeks.
1:50 pm on June 12th, 2010
Hi, I’m verry interested in the progress you made up to now and if it works by now? Did you find the problem of the programming?
2:06 pm on June 12th, 2010
Nicolas: Though Henne shares many of his programs, this one he didn’t. So there’s only a hex file to download from his site. My programming skillz aren’t good enough to write a new serial driver for the circuit, so I abandoned it. I have been working on a circuit that uses an ATTiny2313; there’s a community around that chip and DMX and I’ve been working with them. I hit a brick wall with one circuit after a few months of experiments, so I’m going in a slightly different direction. And while I know I said last year that I’d share my progress “soon” — I’ll be sharing my progress soon.
…
2:19 am on June 14th, 2010
thanks, I see I might have to reconsider my plans of using henne’s design to drive my RGB LED’s in my new dj booth.
I want to drive 4 lines with each 16 RGB segments in it. (64 pixels or 192dmx channels) I was planning on using 4 of Henne’s Full Matrix to drive it and make animations.
What is the problem with the existing code? Any advice is welcome. thx