Led matrix : ROW control madness

Hi everyone !

I'm currently building a 30x30 red led matrix; copying the idea from that popular instructable : http://www.instructables.com/id/Super-Pong-Coffee-Table/?ALLSTEPS.
I didn't work with the PIC, so i'm doing it with arduino.

So I control the colums with 4 595, no problem, but what about the rows ?

I crawled the internet for hours :

  • use several 4017 decade counter ? No, because there is always one output one HIGH level; applying H on its RESET pin make the Q0 output work.
  • use 595 ? Why not, but this must be a HUGE waste of time (knowing the row me must scan, send 8 bits to the concerned 595, and this 30 times in order to refresh the screen completely) ?
  • or maybe still use 4 4017 with their Q0 output not wired, but using a 4017 for only 3 ouput pins is a bit frustrating...

Here are the schematics (2nd solution) :

Since the arduino will have to run a lot more complex programs on top of that (games, ...), have you got any (other) idea ?

I've seen lots of posts about led matrix. MAX7219, TLC5940, WS2801 (well that one is rather for RGB leds) ...
The only chips I have are 595. And 74LS373, but I have no idea how that one work.

Thanks a lot for your help :.

The MAX7219 will drive an 8x8 matrix with no input from the Arduino.

You could put one in each 8x8 section of your matrix.

It would be better if you wired it as a 90x10 or even 180x5 array. A refresh rate of 1:30 will be very dim and flickery. Then you can use a couple of I/O and some transistors for each row.

900 divided by 64... And I'll have to do everything from the beginning, I've never worked w/ this chip before.
So 12 595's... Well it'll be a real mess for the wiring. But if it's the only solution...

Thanks for your comments ! =)

If you build it in 8x8 blocks it will keep the wiring tidier.

Even simpler is to get some prebuilt 8x8 matrices and fit them together (it would end up as 32x32)

I don't know what your hourly rate is...but I bet those are cheaper than building them yourself.

You can also get color ones but driving them is a lot more difficult.

Well... The 900 LEDs are already soldered actually huehuehue x)
It's a prototype anyway. I'll just have to cut some connections, and wire the corresponding LEDs to 16 MAX chips.

So generally speaking, I understand it's always better to divide large matrixes into small ones in order to control the whole more quickly.

Thanks !

lunatix17:
Well... The 900 LEDs are already soldered actually huehuehue x)
It's a prototype anyway. I'll just have to cut some connections, and wire the corresponding LEDs to 16 MAX chips.

So generally speaking, I understand it's always better to divide large matrixes into small ones in order to control the whole more quickly.

No, a 30x30 is perfectly workable. eg. If you want 100Hz refresh you need to update at 3kHz. An Arduino can probably do that.

The problem is that it requires constant CPU attention and you want to do other stuff at the same time (a game). You might be able to do it (I haven't done the math for how many CPU cycles it would use) but some MAX2719s will make life much simpler.

No one's saying it wouldn't work, but generally people aren't happy with the LED brightness if it's only on 1/30th of the time.

Even with ULN2803 at the end of each row ?

Thanks for the comments btw ^^