Lots of Lights - "LOL"

Sat, 12 Jan 2019

Lots of Lights - "LOL"

Last year I was asked to produce a lighting display for the main cafe window at the LCB Depot in Leicester to be installed throughout December. After working through a number of ideas, I settled on something that I call Lots of Lights, or "LOL". LOL consists of 20 internet-connected micro-controllers, each connected to a string of 50 bright LED lights. The resulting 1,000 LEDs can be made to play patterns, such as fades and chases, via an associated web application.

The lights were installed in the LCB cafe window to coincide with the Interact'18 exhibition and remained live for around six weeks.

As well as being an interesting work in its own right, the installation allowed me to test my latest artThings lighting technology. The controller I used for each light string contained a small device called a Wemos D1 - something I use quite a bit in my "connected" artworks. The D1 is small and cheap (as low as £1.50 each if you buy from China) and can be combined with a voltage regulator to create a small unit that can power and control the 50 LED "Neopixels" I often use.

While I knew this technology worked in the studio, what I didn't know for sure was how it would perform when used in large numbers and for an extended period. A previous experiment had shown me that not all WiFi routers let 20 devices connect to their WiFi network at the same time. I now use a TP-Link AC750 that can support up to 64 simultaneous devices (32 on each band). But would there be any additional problems?

The initial installation went well. The lights were bright, and the web app controller worked perfectly - scan a QR code, and the controller would pop up on the user's mobile phone and they could trigger patterns. However, after a couple of days, some of the LED strings would reset. Problems like this can be hard to diagnose, and it took many days to get to the root of the problem. It turned out that the Adafruit Neopixel and Adafruit MQTT software libraries I was using did not like working together. After a couple of days, they would cause the microcontroller to run out of memory and crash, leading to a device reset.

I found that by using a different lighting software library - in this case, FastLED rather than Neopixel - this problem went away and the micro-controllers would run for weeks without any issues. Luckily I only had to update the software on the D1s (albeit 20 of them) and not change the hardware. However, it did remind me of the importance of testing your code when installing a project like this. What works in the studio may not work the same way in a live environment.

Pictures of LOL, plus the workshop held on Saturday 12th January can be found at https://www.flickr.com/photos/seancuttlefish/albums/72157705953639835. Please contact me if you want to know more about the project.

Author: Sean Clark