Holiday Light Show 2023

Check out the first and second iterations of this project.

They say third time's the charm, and while this iteration is far from perfect, it's getting close. I've been extremely busy lately with schoolwork and college applications, but I managed to find the time to make a few tweaks to this project improving it from last year. The most time consuming part of this upgrade by far was the lanterns towards the middle of the display. There are twelve of them, one for each of the days of Christmas, and they light up in order during the song. Since nobody sells light strands with bulbs far enough to do that with, the whole lantern setup is custom made. Each lantern is an aluminum can with holes nailed through it (I outsourced some of this work to my family), and a hand-soldered lightbulb inside, totaling to almost 100 solder joints. It ended up looking pretty good, but maybe not worth all of the effort I put in. I also completely rewrote the synchronization system, addressing a number of issues that caused the lights and the audio to get out of sync. The system now uses a WebSocket server to synchronize the time between the light controller and user devices. It turns out a lot of the syncing issues weren't due to network latency, instead being caused by a strange bug in Apple's audio processing engine that makes it lose track of where in an audio file it is. I came up with a workaround using the Web Audio API, and I'm now satisfied with the accuracy. I'm not sure where this project's future lies, given that I'll be going to college next year and won't have a yard to decorate. I'd consider coming home just to set this up each holiday season or maybe showing my parents how to set it up, but either way this project will always hold a special place in my heart.

Song Credits