The new Raspberry Pi B Model B+ is here - Pick one up in the store and check our detailed guide!

December 2, 2011 AT 10:01 am

Creating an LED and Motion Installation

Awesome project using RGB LED strips, with electronics designed by Interactive Matter:

You may know that the whole spring and summer has been a bit quiet over here at Interactive Matter. And again for a reason. I was asked by a friend to build the electronics for a massive LED installation for the  ‘Hsinchu Biomedical Science Park Exhibition Center’.

The result was very impressive: An 10 meter long installation, consisting of 30 moving triangles with controllable RGB LEDs in them, acting as a moving display.

A XMOS controller driving 60 stepper motors,  with about 100 meters of HL1606 digitally controlled LED strips composing a moving LED matrix of  30×102 pixels. The concept and design was done by Taiwanese partners. Interactive Matter only provided the electronics and programming.

The basic idea was simple: The XMOS XC-2 kit has 4 processing cores, three of them having two 12 pin connectors. So each core can support 16 HL1606 LED strips (some control pins and 8 data pins per connector, with two connectors per core). Due to the parallel architecture of the XMOS controllers it was very easy to create some scalable implementation for the HL1606 driver). Implementing the driver was also quite a breeze since adafruit hosts the datasheet there are some good Arduino tutorials for this. The big problem was that the HL1606 only supports 2 grayscale levels, while it was only practical to use just 1 bit control (on or off). So this called for some kind of software controlled PWM. The lenght of the strip and the communication speed controls the update rate of the LED strip. And especially the communication speed varies widely with electric noise, cable length, power supply quality and so on. The solution to this was to implement some pulse density modulation. By this the grey scale modulation the color depth automatically adapts to the image refresh rate on the LEDs. The faster the update of the LED strip in comparison to the update of the RGB data displayed on the LED strip, the higher the perceived color depth. Nice (and necessary).

This is an amazing and beautiful project!

*note that the RGB LED strips in the shop are now controlled with LPD8806 chips, which provide considerably more subtle color control than the HL1606′s.

Related

“D is for Diode” – Circuit Playground Episode 4 is out now! CLICK HERE TO WATCH!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!



2 Comments

  1. Congratulations! So jealous and so in the wrong business.

    I got the LPD8806 LED strips working with an Arduino and 6DOF gyro/accelerometer. Sensor orientation and movement changes the luminance, colour and behaviour of the strip. Haven’t gotten it working with XMOS yet.

  2. Don’t they mean the XC-3 controller? The XC-2 is an ethernet controller, the XC-3 is the LED controller. Still looks amazing, I’d love to see a movie of it in action.

    As the winter sets in, I’ll get back to my hacking….

    John

Sorry, the comment form is closed at this time.