Elaborate Christmas trees and holiday light displays are all the rage, and every year we’re blown away by the complex musical light arrangements people come up with. But, those have become so popular that they’ve started to lose their luster. Christmastime may be about tradition, but that doesn’t mean we don’t want to see something fresh. And Leo Currie’s Christmas Tree Paint project is definitely fresh.
At first glance, it looks like a tasteful, but conventional, Christmas tree. With the custom control app, however, it turns into something amazing. The app lets Currie “paint” over a video of the Christmas tree, and the lights respond by turning on with the assigned color and in the pattern that was painted. It works because every single one of the several hundred WS2811 RGB LEDs is individually-addressable, and has been mapped so that their X/Y coordinates are set relative to the video frame.
That video comes from a Raspberry Pi webcam, and the lights are controlled with an ESP8266 combined with an ESP01 that takes in UDP packets over WiFi containing the LED RGB values. The truly impressive part of the build was mapping all of those LEDs, which was handled by a Python script that turns on each LED and logs its X/Y coordinates. With those coordinates, Currie’s custom app is able utilize them like an LED display. It can handle animated GIFs, but the coolest feature is the “light painting” tool, which can be used to draw lights onto the tree.