I am proud to say that our 2014 Arduino Controlled Christmas Light display was a huge success! This post will serve as a bit of a Behind The Scenes of the project and how I managed to pull off the cool display as shown in this YouTube video.
Frequently Asked Questions (FAQ)
Before I get going, here is a very brief FAQ about the display.
How long did it take you to put that together?
“Given that it was my first year, it took about 400 hours of labor in programming, building custom electronics to control the lights, build the magical signing trees.”
Can I listen to the music while watching the lights?
“Absolutely, there are two small speakers on the lawn as well as an FM Transmitter so you can listen from the comfort of your car.”
How many lights?
“Honestly that’s not my main goal. Sometimes more isn’t always better. What’s important here is the control. But if you have to know, this year I believe we had about 750 x 3 (Red + Green + Blue Lights) on the roof and about 1,750 “Traditional” LEDs and incandescent lights. So maybe around 4,000? I purchased a bunch more too, but ran out of time to configure and set them up.”
How much does it cost to run?
“Electricity is cheap these days right? Actually because they are almost all LED and it is running from an old laptop, it isn’t much more than a desktop computer / monitor. Certainly less than a microwave oven!”
Are you crazy?
“Yes I am crazy aka a geek, but my wife has been asking me to put up Christmas Lights for 15 years now and this was her Christmas present.”
Do you have to listen to that same song every day?
“Yes, we listen to the same songs over and over every night between 5:00 and 10:00. There are currently 8 songs in the play list.”
Why did you do this?
“Quite simply to share my love of electronics with the community and challenge myself in the process. You can call it a Christmas present for everyone to enjoy. I absolutely love watching people enjoy the show. Whenever someone pulls up to watch my wife yells “CAR” (just like street hockey) and I smile every time because I know they are too.”
What do your neighbours think?
“No issues so far, I hope that people respect them (not block them in etc) and I have asked them to let me know of any issues. Some of them brought us baked goods and the ones across the streeet even asked me to keep the lights up all year! They don’t know yet that I am… Muahahahahaha…. Maybe next year I can convince them to get in on the act and control their lights wirelessly too!”
There are four main components to my show, below I will go into a bit of detail on each, and where required I will eventually write an article about the specifics of each one individually.
- Arduino Micro-Controllers
- Relay Boards for Traditional Lights
- Individually Controlled Pixels (WS2812B)
- Traditional Lights and Singing Christmas Trees
Hardware: Arduino Micro-Controllers
These cheap little boards are the heart and sole of what enables the show. They are the interface between the computer and the light controls. Arduino is an opensource microcontroller which is widely available and is used by makers around the world as the building block for many electronics projects. In my scenario, I am using these boards as a serial device which accepts serial commands from the computer and sends those commands either to the Relay Boards or to the Individually Controlled Pixels. In both cases, the boards run the Arduino Sketch found on Vixen Lights 3.x Arduino Pixel Controller (WS2812B).
Hardware: Relay Boards for Traditional Lights
Controlling traditional Christmas incandescent lights as well as LED Christmas Lights turned out to be a critical part of the project. Not only do the hedges, candy canes and mini trees consist of traditional lights, but the “Singing Christmas Trees” are actually made of LED Rope lights that you would find over at Home Depot. All of these elements need to be driven by the computer which means controlling the power being fed into them. While there are many designs online and one could simply purchase premade kits or even buy completely assembled units, I wanted the challenge of designing and building the circuits myself. Later I will build a post on this topic, but for now, I will tell you that it essentially consists of an Arduino TLC 5940 circuit and a design very similar to the SSRez. All of the boards were homemade and I have a Laser Cutter PCB Etching Tutorial to make them. One thing that fell off of the plate for this year due to time contstraints was the ability to dim the lights instead of simply “on/off”. This is actually a difficult problem to solve due to the way the Solid State Relays behave and the fact that you need to identify the zero-crossing point for the AC sine-wave… It is however possible and many have acomplished it. Probably one of the best implementations I have seeen is this Arduino Light Controller.
Hardware: Individually Controlled Pixels (WS2812B)
The roofline as well as the main window are lined with individually controlled pixels. Meaning that there is a series of LEDs which are Red, Green and Blue. This means that I can control the color of each “pixel” individually to build some stunning effects. When I say control color, I’m not just talking the three primary colors either… By adjusting the intensity of each color, you can achieve thousands of colors! Next year, I plan to expand on this and introduce them around the door, left side windows and even into some if not all of the lawn elements. I am envisioning fading the entire house from green to red to blue etc… They offer so much control I get excited thinking about it! For complete details check out my write up Vixen Lights 3.x Arduino Pixel Controller (WS2812B).
Hardware: Traditional Lights and Singing Christmas Trees
I probably don’t need to explain traditional christmas lights as most people put them up every year. What I will mention is the Singing Christmas Trees which so many people enjoyed. They are simply made out of regular plywood, then cut out to the shape of a tree and painted. A hole bunch of holes were drilled and eight sets of rope light were then “zip tied” onto the front and wired into a couple of my custom relay boards for traditional lights. The faces are then maunally animated inside of the software. Not only did it take quite a bit of time to build them, it took even longer to get them working in software.
Of course there is more to make the entire show “shine” here are a few of the other pieces of hardware required.
- Computer / Laptop
- FM Radio Transmitter
- Lots Of Wire
Other Hardware: Computer / Laptop
Abslutely nothing special here just an old laptop running the Windows operating system, some remote control software and Vixen Lights.
Other Hardware: Stereo
A regular old home stereo reciever is connected to the audio output of the laptop to play the music through a couple of cheap speakers we picked up at Value Village for $5.
Other Hardware: FM Radio Transmitter
I originally tried to hack a cheap $5 ebay personal transmitter and while I did have some sucess, I had reports of people not finding the station when “scanning” their car stereos because it was not strong enough. In the end I borrowed a high end transmitter from a friend and ran it at 60 milli watts on a “tuned wire” antenna so I had enough power but wasn’t putting out so much that I would affect neighbours and produce complaints. I have already purchased a USB FM Transmitter for next year which will even allow me to do RDS Text to car stereos with the current song title and a link to a website.
Other Hardware: Lots Of Wire
My oh my! My wife ways “It looks like Christmas threw up on our lawn!” It looks great when it’s dark, but next year I will need to try and spend a bit more time keeping things neat and tidy. I did my best given the time constraints and starting the project so late this year. There is well over 1 kilometer of wire on the front lawn and I cleared out the Carleton Place dollar stores of extension cords…
Hardware is nothing without software… Well make not an issue in a post appocoliptic world, but it definately is an issue when sequencing your Christmas Lights to music anyways! Here are a couple of the critical software components.
- Vixen Lights
- Arduino IDE
- Audio Editing
Software: Vixen Lights
This is probably the most important piece of software when it comes to the display! It handles the control of the show, what lights to turn on when, plays the audio files and even handles the scheduling so the show automagically starts and stops at the appropriate times meaning I don’t have to run home to plug in the lights! The most remarkable thing about Vixen Lights is that it is an open source project meaning people devote their time to developing and supporting it which means it is also FREE! And as I tell the kids, I love F R double E!
I can’t shout out enough how much I appreciate all of the work that goes into it! Thank you to the entire community at the Do It Yourself Christmas Forums!
Software: Arduino IDE
Anyone that has used an Arduino Micro-Controller already knows how important the Arduino IDE (Interactive Development Environment) is. This is another open source project supported by the community and it esentially turns some processing/C like language which for the most part is human readable into magical instructions which are stored and executed inside that little micro chip.
Software: Audio Editing
Pick your poison here, whether it is the Audacity open source solution or a mutli-thousand dollar Adobe Suite of products, you will likely need something to adjust volume levels of songs and touch up or edit them to your liking. This step may be optional but helps pull everything together into a seamless single show which doesn’t have an anoying change in volume from one song to the next like those dang commercials you hear on TV!
The act of sequencing is a painstaking, time consuming process of controlling lights at specific time periods to correspond to the audio track. There is no “magic” button. This is what sets the show appart from the store bought “Mr Christmas” boxes or some randomly generated blinky. It is a form of art, something like a coreographer at a dance studio, but with lights… Make no mistake, I am learning and still have a lot to learn. Maybe someone with more artistic or musical skills in my family might step up to the plate next year…. Cough, Cough… But seriously, this is a huge task which takes so many hours and is much more involved than simply “picking a song list”.