Ping pong ball LED wall display

Remember the 2 meter POV display? Well, that same group of students are at it again. This is the display they built for parties. It is 5 meters wide and 2.5 meters tall, 240 LEDs, controlled by 40 AVR ATmega48s. This is pretty nice. We think next time they should go for RGB.

Multiplexers would slow it down, but I don’t see it slowing it down that much, especially considering how the processors must have to communicate with each other. So I also don’t understand why they did it this way…

I have to say I dont understand the 40 Atmega chips either, there are like 20 pins available on each chip so could have easily used 12 chips rather than 40… Without any multiplexing… All I can think of is that it avoids having driver chips since you can probably draw that much current with no issues from a single chip.

Well… I see, you all wonder, why we used 40 AVRs.
The main reason are the hardware-PWM-channels.
Every LED is 8Bit dimmable. You can see it at the very beginning of the Video, the “falling” stripes are fading in and out.
We also have a very cool “wave-function” (unfortunately not on the video), where the LEDs are faded pretty impressively. (waves travelling over the display) The software for controlling the LEDs is still very young, so there is plenty of room for improvement (using more fading etc.)
Multiplexing would have been too complicated to get it not flickering, so we decided to use 40 AVRs. This also has the advantage, that the picture will never flicker due to interrupts. The AVR manages the data transmission while the hard-PWM is running and won`t get disturbed. If we implemented software-PWM, it could have had disturbances.

The only thing I have at the moment is a thread I started on SFE forums to ask a few questions to get started. It’s been quite a while since I’ve posted goods there though. I plan on making a full write up once I finish the darned thing.

I can imagine just using the 10-bit PWM outputs but it should still be possible to do hardware PWM in combination with a little bit of multiplexing. Setting the common output inside one of the timer interrupts to synchronize with the PWM frequency. With POV, the required current is not linear.