64x8 LED Display

Hello folks,

I know 8x8 matrices have been done ad nauseum, but I wanted one of my very own to display messages on (from computer / internet, etc), so here is a project I’m intending to build…

It is basically 8 8x8 matrices connected in a row, to make a message scroller (can display ~8 characters at a time). I wish it had more matrices in it, but that starts to get more expensive than I’m willing to put out. The reason this isn’t in exhibition is because it hasn’t been made yet, and I have a couple questions that hopefully someone can help me with.

I’ve attached the schematic of the system I drew (truncated, it only shows 2 matrices instead of the full 8, but it shows off the idea). It uses a 4017 decade counter for the row select, and then a series of 74hc595 shift registers for the column handling. It also uses a UDN2982 transistor array for the led current driving.

Here’s the component-by-component design though I kept in mind:

  • The 4017 selects the row to `draw’ to.
  • The UDN2982 sources up to 350 mA per pin to the matrix rows.
  • The LEDs in the matrix will be current-limited to about 5 mA (max), meaning that if the the full row of 64 leds were on at once, 320 mA (64 * 5 mA) would be needed. (< 350 mA, so we’re ok)
  • The ground columns of the matrices then go pretty much straight into the 74HC595s. These can handle the 5 mA sink per pin (when the LED is on).
  • The 74HC595’s can also handle up to 75 mA of current, which is greater than the 40 mA (8 * 5 mA) that will be needed when a whole matrix row is on.
  • The UDN2982’s will be operating with a maximum of 1.6 W (320 mA * 5 V), which at room temperature is doable in the 18-DIP package (not the SOIC though…)
  • The 74HC595’s will be operating with a maximum of 200 mW, which is much less than their 500 mW maximum rating
  • The resistors are 1/2 W, more than enough for the LED current limiting.
  • The voltage regulator on the Arduino can handle up to 800 mA, so we’re good there.

Now my main question is, does the logic above make sense? As far as I can tell, it should work without incident, but being an engineer (mechanical, not electrical, so this stuff is new territory for me), I know that things rarely go as desired on their first run-through. Also does the schematic and method make sense?

I did create my own 8x8 matrix a few weeks ago for a separate project, and it was setup similar to one of the `column sets’ here, however I drove the rows using a 74hc595 instead of a 4017; used individual transistors instead of the UDN2982, and didn’t limit the current quite so much, so I think the columns 74hc595 was operating out of spec. It was also only 8x8 instead of 64x8, so I want to do this one properly.

The software end is no problem, I’ve been programming for a long time and essentially already have the code I need.

Thanks for any help you can give me, and your time for looking at this beast!

(the schematic is a pdf and can temporarily be downloaded here: http://testing.tuxis.org/tmp/Message%20Scroll.pdf)