Dabble or Die

The Great Christmas Tree Experiment

Jerry Jones

The Great Christmas Tree Experiment

Five years of individually addressable LEDs, ESP8266 microcontrollers, ARKit spatial mapping, and trying not to burn down the Christmas tree.

100 ft. of WS2812 individually addressable LEDs. I’m going to have such a rad xmas tree this year.

100 ft of WS2812 LEDs

I’m building some individually addressable xmas tree lights. Now have BiblioPixel driving animation over wifi to an ESP8266. This is fun.

Great Christmas Tree Experiment is working out great. Powered by an Adafruit HUZZAH ESP8266. 450 individually addressable lights.

The HUZZAH ESP8266 board

Tree lights

Tree lights

Tree lights

I spent a lot of time thinking to myself — How do I not burn down the Christmas tree. 🎄🔥
Voltage drop was problematic — using 12v flavor of ws2811 helped.

The Great Christmas Tree Experiment now has an API and SmartThings integration.

Parts list is short. Adafruit Feather ESP8266, 450 WS2811 LEDs, 12v power supply, voltage regulator and level shifter.
At what point has one reached the stage of “too many” when putting lights on a Christmas tree?
There is an apparent Christmas tree shortage this year, so we only have a 7ft Douglas Fir. But I still managed to cram it full of 450 WS2811 LEDs and, new this year, 600 LED mini lights.
Good news. Last year I apparently had the foresight to assign the tree controller a static IP. This year, I plugged it in and it was all ready to go, no new SmartThings configuration required!
The lights are WS2811 individually programmable LEDs, controlled by an Adafruit HUZZAH ESP8266 micro controller. The software is mostly just LED libraries, and some REST APIs I added. It’s fun. :)
Last night my 4 year old read a story to me (that she doesn’t have memorized). Tonight my 2 year old moves to a big girl bed. *sniff* no, seriously, it’s just a Christmas tree pine needle in my eye, that’s all.

Built my girls some custom bunk bed lighting. Repurposed setup like my Xmas tree. HUZZAH ESP8266 from Adafruit hooked up to SmartThings for remote control.

Bunk bed lights — blue on top, green on bottom

Bunk bed lights closeup

The last couple years, I’ve obsessed over some custom individually addressable LEDs for my tree. A fake/prebuilt tree would simplify a lot of my process — but I did not want a plastic tree.

So, I used ARKit this year to map the location of the addressable lights on my Christmas tree. 🎄

This is completely over engineered, and it’s not perfect. But I learned a damn lot about ARKit in this process!

Of course, now that I have a spatial map, I can do all sorts of transitions — like this radial wipe around the tree.

Here was an early mapping prototype (pre-tree). The lit pixel is controlled by the mapping app, via REST API. In practice, this proved to be a HELL of a lot harder on the tree, and I had to tweak my technique for placing the item in the world map.

A friend asked about the first year's tree setup
2016 was my first WS2812 tree — so I just focused on the concept. But I knew all along that such a systematic approach wasn’t going to work for our style/on a real tree.
"I took the DIY approach and took it up a notch" — @JamesBulpin, sharing his automated Christmas tree

Last year I used ARKit to map mine in 3D space! Nerd Christmas trees FTW!

Have been spending a bit of quarantine time tinkering with SceneKit and ARKit. Last I did this was w/ my xmas tree, but that used all code generated geometry primitives. Now I’m working on bringing in models from 3D software, and WOW does the learning curve get rapidly steep. 😳

New house, and over Covid — so kicking off the holidays early! Trying out some new individually addressable LED configurations.

New house LED display

LED configurations

"I didn't realize they could control them individually like pixels and animate!" — @GeekAndDad
Tinkering with individually addressable LEDs has been a gateway drug to ridiculous holiday displays at home.
A friend asked about the different types of lights in the display

The roofline are all C9 style ws2811, the far tree (that’s way too bright right now) is 800 bullet pixels. The skeleton is wrapped and the giant bulbs stuffed with pixels.

Roofline and skeleton wrapped in pixels

On my 5th year, after a house move, I’ve retired my lights on the Christmas tree.

Oh, and while not on in this picture, those big lights are modified, and now have batches of ws2812 pixels inside. 😎🎄

Modified big bulbs with pixels inside

Big bulbs detail

Big bulbs on the house

Full display