Musically Synchronized Christmas Lights





Introduction: Musically Synchronized Christmas Lights

During the Christmas season, you are bound to see houses that are decked out with Christmas lights that are synchronized to music. You may be thinking that your house will never be able to have musical Christmas lights because the control systems are so expensive(they average about 700 dollars), or that it takes a long time to write code for each song, but this is not the case. I have just built a musical Christmas light control system for under 10 dollars that works with any song, and it is compatible with all of your original lights. This instructable will go through how to build this control system and use it. The video below gives a verbal description of how the system works, and a demonstration at the end(Visual demonstration starts at minute 5:45).

Step 1: Materials

Most of the materials for this project can be found in old electronic devices such a microwaves with the exception of the arduino and FM transmitter. These are the materials:

  • FM Transmitter (This can be found on Ebay for a relatively cheap price)
  • Arduino (The clone arduino's can be found on ebay for much cheaper than the originals.)
  • PerfBoard
  • 11 Relays(Can be salvaged from microwaves)
  • 11 NPN Transistors(Can be salvaged from microwaves)
  • 11 220 Ohm resistors(Can be salvaged from microwaves)
  • wire(Can be salvaged from microwaves)
  • 2 10k Resistors(Can be salvaged from microwaves)
  • 1 10uF Capacitor(Can be salvaged from microwaves)
  • Low voltage transformer(Can be found in an old alarm clock)
  • 15 1n4001 Diodes(Can be salvaged from microwaves)
  • 2 1000uF Capacitors(Can be salvaged from microwaves)
  • Voltage regulator

Step 2: FM Transmitter

The FM transmitter is what allows people to look at your Christmas lights and hear the music without annoying all your neighbors. I tried to build my own FM transmitter, but it broadcast across all frequencies and had a range of only 3-5 feet. Instead, I purchased a cheap FM transmitter from ebay. I gave it a longer antenna(second picture), added a longer headphone jack, and added an audio out wire for my arduino. This can be accomplished by opening up the transmitter, and soldering the new wires to the corresponding points on the circuit board.

Step 3: Arduino Sound Input

The arduino sound input is what allows the arduino to automatically synchronize the Christmas lights to music. First, take a piece of perfboard, and solder on header pins so it can fit into into the arduino's AO, grd, vcc, and 5volt pins. Next, solder a 10k resistor from the A0 pin to ground, and a 10k resistor to 5 volts. Then, take a 10uF capacitor and solder the negative end to the A0 pin. Finally, solder the audio input to the capacitor, audio ground to ground, and a wire to vin for the power supply.

Step 4: Power Supply

The power supply powers the arduino and relays for the Christmas light controller. To build it, solder all the components to the perfboard according to the above schematic. Use a low voltage 12-14 volt transformer as the power transformer. Finally, solder the 5 volt output to the arduino and the 12 volt output wire to the relay board. Connect it to the common ground.

Step 5: Relay Board

The relay board is what takes the small voltage output signals from the arduino and turns them into 120v output signals that can power Christmas light strands. To build this board, follow the above schematic. The arduino signals flow through a 220 ohm resistor into the base of a transistor. This activates the transistor and lets current flow through the relay. The relay coil has a diode across it in the opposite polarity to protect the transistor from back emf. One of the contacts of each relay is connected to 120v live while the other contact goes to a Christmas light strand. The relay board consists of 11 relays but more or less could be added to accommodate your needs. The relay board is connected to the arduino via a strip of perfboard with header pins attached to it.

Step 6: Attaching Everything Together

Attach all of the circuit boards together in an enclosure of your choice. I used a plastic Tupperware container. First, take the 120v in from the wall, and split it so that you can have power to the power supply and power to the relays to distribute to all the light strands. Next, attach the header pins from the audio in and the relay board to the arduino. The header pins from the relay board go to pins 3-13 on the arduino. After that, attach all the relay output wires to a wire terminal outside of the enclosure. Finally, make sure that everything is connected.

Step 7: Christmas Light Wiring

To wire the Christmas lights, follow the diagram above. Take each relay output wire and run it to the hot wire of each plug. Make sure to cut the connector strip on the plug that connects the two hot plugs, don't cut the connector on the neutral side. Then, connect all the neutral sides of the plug to the neutral of the input plug. Since the neutral connector is uncut, all the plugs' neutrals can effectively be connected in series. This setup allows almost any kind of light to be connected to this control system.

Step 8: Code

To code this control system, I am going to use arduino. The code was borrowed from somebody else on the internet and modified to suit my own needs. You can take the code and modify it to fit your needs. Feel free to share. The code is embedded in code-bender below. The code reads the incoming frequencies, and turns on different relays according to the set frequency value.

Step 9: Testing!

To test the musical Christmas lights, plug in the control box, plug in your ipod, tune your radio to the set channel, and enjoy the show.

*I am not liable for any harm inflicted while trying to complete this project. Only attempt this project if you have a moderate knowledge of electronics and a healthy fear of electricity.



    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest
    • Clocks Contest

      Clocks Contest

    13 Discussions

    Did anybody have any problems with one relay going on and off really fast in between songs?

    3 replies

    I got too that problems, but on my arduino "blinking" all relay's, but separatelly (on monitor it be drawing interesting shematic, showing frecuency betwen 50kHz - 14000kHz!!! Interesting, ditn't?)

    Yes, it did that to me. It is because when there is no sound input, the Arduino thinks that there is a really low frequency sound, so it rapidly turns the low spectrum relay on and off. You can fix this in the code, but I never did because the clicking relay didn't bother me.

    Thanks for your help, I will probably change this before next Christmas. Sorry for the late reply, as I do not check my email much.


    1 year ago

    Did you have any problems with outputs from 12, 11, and 9?

    Thanks for your help, I will probably change it before next christmas. Sorry for the delay in reply, as I do not check my email much.

    Great 'ible. I did a similar thing with some really cheap LED strings I got on boxing day last year. They were 36v through this stupid controller so I chopped it off an used my own 36v power supply. I had a script that ran in processing - it could detect beats etc really well and then talk to an arduino over a USB connection. I tried setting up a pre-programmed show using vixen but it was to much work. ;)

    I have one suggestion that could possibly make your project even better. If you removed the "blocking" delay() function from your code you would be able to have more than one relay on at the same time.

    1 reply

    Thanks, I will have to try that next Christmas.


    2 years ago

    Nicely done. I've been looking at using opto-relays for mine so that I can control dimming with PWM output. No doubt both types of relays could be used at the same time however.

    One could also throw in some interesting triggers for specific sequences of lights, making it all look more programmed to each song vs. random. I.e., multiple bands triggered at once trips a cascade, or when the track is silent, another sequence kicks in to pulse all of the lights etc.

    1 reply

    Is there a way you could use a microphone input where the Aux cord is so I can bump my music louder?

    The video is working for me. Your WiFi could have restrictions that block YouTube, try using a VPN or a different WiFi network.