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.
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.
Biohacking — Vitamin-C + Gelatin for Accelerated Recovery
Python for Microcontrollers — Maintainable code is more important than clever code, FEATHER contest with Digi-Key + Hackaday, and more! #Python #Adafruit #CircuitPython #PythonHardware @circuitpython @micropython @ThePSF @Adafruit
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
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.
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….