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.


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

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

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



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.