2400 LEDs - RGB Matrix

Don't ask why, but I have been given the task of creating a 2D matrix of 2400 RGB LEDs :astonished: (60 x 40 leds, 3m x 2m)
As always, arduino is the way forward. However, how the hell can I control all the LEDs individually??
From what I've seen, no ones done anything close to this using Maxim ICs..
Wouldn't there be a noticable delay using MUX boards?

Suggestions would be greatly appreciated.

Cheers

Is that actually 7200 LEDs given that each RGB LED will actually be three LEDs in one part?

Boy, I'm glad I'm not soldering that.

I don't think the Arduino has enough horsepower to PWM all of those LED's in software. If it were me, I'd design (well, get someone with PCB design skills to design) a 4x8 LED (200 x 400 mm) module that can be daisy-chained on SPI. I would then use a 15x5 array of them to get 60x40. Alternatively you could use a 7x5 array of 8x8 boards and then make a set of 5 'half width' boards to get the width from 56 to 60.

Let's see... If you use 8-bit PWM chips on the SPI bus you'll need 7200 bytes (57 kBit) per refresh. At 75 refreshes per second that would be about 4.3 megabit. I think SPI can go to 8 megabit so you should have enough bandwidth.

Good luck!

Suggestions would be greatly appreciated.

Forget it, it's not going to happen.

I assume you want to control the brightness as well.
The best you can hope for is if you split it up into 8 by 8 squares
Here is the basics of what you need to do:-
http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html
However you could take this project:-
http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html
and chain 3 TLC5940's together with one for each colour on the LEDs.
This will give you a basic 8 by 8, (it is actually a 16 by 4 but you can arrange them physically any way you want) repeat this including an arduino for each 8 by 8.

This project uses this technique and took me several months to complete:-

Just look at the wiring for 64 LEDs and see if you are capable of doing that only 36.5 times more.

Having said that this is a massive project and is not as easy as I have made out, things don't scale up easily, there are things like power supply decoupling and layout to consider.

You don't even have enough RAM on an Arduino to store all those color values.

You don't even have enough RAM on an Arduino to store all those color values.

You would with a Mega and this shield:

http://ruggedcircuits.com/html/megaram.html

Nice memory board and perfect for this type need. Of course it takes more than memory to pull off a large sized 2400 LED matrix - but this will help make this and other projects a bit closer to feasible.

Serial limits seems to another limit for anyone wanting to stream to the matrix. Curious if anyone has run serial over the max speed of 115200 on the new mega that nixed the FTDI? I only have the older FTDI style mega so I can't test that.
Consider that 2400 leds need 3 bytes per LED for color - that is 7200 bytes per frame. If you want 10 frames per second that is 72,000 bytes per second or 144,000 for 20 fps. Times roughly 10 bits is 720K to 1.4 million bits per second for 10/20fps. Even if you feed the data quick enough the arduino has to process all that and send it again to the chips.

Another task will be from the arduino - feeding whatever chips you use at a fast enough frame rate and assuring they stay in sync. Deciding what chip(s) to use - another task all together. These chips will have speed limits as well. In fact using other boards that get around all the above mentioned problems - the end chips were the biggest factor in how many you can feed as the number grows - at least using the WS2801 daisy chain model.

This is a pretty heavy duty project and not really something that the arduino platform is made to handle in my opinion. The processing cycles are just too slow to handle everything - you would for sure have to use multiple boards - even with the memory attachment. Even with multiple boards you are going to have tons of work and experimentation needed to get a fully working 2400 led matrix that overcomes all of the above mentioned limits. That is why you don't see too many around :slight_smile:

Has anyone seen a matrix run by an arduino solution of this size? I had to go to a larger board and new platform to create a stream capable 1000 LEDs matrix. Just wondering if anyone has pulled this off using standard arduino boards.

Best of luck.