Developing A Better Way To Control 10,000 LEDs

The SoundPuddle project drives thousands of LEDs based on audio input. The team is working on a replacing the controller for this wire-filled setup with something more robust. They took the mess seen above to the Apogaea Festival and were plagued by loose wires and unreliable communications due to noise and interference. The aim of the new system is to reliably control up to 10,000 LEDs.

The red PCB seen at the center of the rats-nest is a Papilio FPGA board. They still want to use it to drive the installation, but a new hardware interface is necessary. The solution is to design what they call a megawing (wings are to Papilio as shields are to Arduino).  The LEDs will be in RGB strip form, so one of the requirements is to supply enough connectors to drive 16 channels of SPI devices. The wing will also include the 48V power source and connectors for the condenser microphone that serves as an input for the SoundPuddle. There are also two other options for audio input, one via a Bluetooth module (which can double as a control device) and the other via MIDI.

After the break you can see a lighting demo. Be ready with the volume controls as most of the sounds used in the test are quite annoying.

http://www.youtube.com/watch?v=wX3d7aHBEWY

[Thanks Charlie]

14 thoughts on “Developing A Better Way To Control 10,000 LEDs

  1. Here’s a simial project recently controlled 6400 LEDs.

    http://wiki.hackrockcity.org/DomeStar

    They used a PC running processing and 5 low-cost USB to 8 SPI output boards, driving a total of 40 LED strips.

    Here’s the code I wrote which was the starting point for the PC-to-6400-LED interface. It shows up as a normal serial port, so it’s easy to interface with Processing or other software. No special drivers needed.

    http://forums.adafruit.com/viewtopic.php?f=47&t=25854&p=143049#p143049

    Not sure if this helps at all, but it’s a very cheap way to drive a huge number of LEDs at video refresh speeds.

    They got about 240 Hz refresh on 6400 LEDs using only 5 cheap USB-to-8-SPI boards.

  2. It must be quite a problem powering and controlling a lot of LED since we are still waiting for those full-size OLED screens, showing that the big japanese and korean companies can’t easily do it either.

  3. Build your own HDTV mini jumbotron. You only need 2,073,600 RGB LEDs.

    That’s what’s holding up OLED displays in large sizes, laying down 6,220,800 LED elements without a flaw.

    It took a while for color LCD technology to get to the point where failed panels were very rare, ‘course LCD developed in stages from monochrome to passive scan to dual scan to active matrix and all through many steps in increasing resolution.

    For OLED the consumer wants those 6.2 million little colored light emitters right now. The LED screens on some phones are serving the place that smaller laptop screens did for LCD.

    Plasma screens have used a fairly simple method of defect management. Use more than one little electron gun per color element. It’s as easy to do that as it is to make one per, and if a few happen to not work those elements will just be slightly dimmer, or it could be possible to program the controller to drive them a tiny bit hotter. If some fail in use the panel doesn’t get a dead element, which would cause the 3-color pixel to always be off in color.

    1. mini jumbo:

      total current @ full white:
      6,220,800 * 0.030 = 186,624 A, only :)

      then of course you need brightness trimming for every led element (3 per rgb led) to compensate for manufacturing differences – usually handled at the driver board level.

  4. The maxim chips if interconnected can do an RGB display of 32,000 pixels, that is 3 led for each pixel with brightness controls. You will need to use a 4 wire spi 10Mb/sec interface for something that large, refresh rate could display 50fps video.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.