Computer-controlled Music-synchronized Flashing Christmas Tree Lights





Introduction: Computer-controlled Music-synchronized Flashing Christmas Tree Lights

About: I've been posting Instructables since the site's inception, and now build other things at Autodesk. Follow me for food and more!

Use solid-state relays to blink the lights on your Christmas tree in time with music. Also good for Halloween haunted houses.

Step 1: Acquire and Set Up a Christmas Tree

Get a nice large, healthy tree set up in front of your biggest windows. See How to Pick and Decorate a Christmas Tree for more details.

Step 2: Add Lights

String lots of lights onto the tree. Use as many sets as you like, but arrange them such that there are three light regions, each with a separate plug. Run these three plugs down the trunk so they can easily be attached to the light controller. Up to three strings of lights can usually be linked in series, so you can almost certainly cover even big trees.

Step 3: Hook Me Up

Plug light strings into the controller you built for Halloween: Attach computer and sound system. Select high-quality Christmas music and sync the lights with a winamp plugin:

Step 4: Run With It

Fire up the music, and treat your friends, family, and entire neighborhood to a great light now. If you really want to share, hook the music up to your outside speaker system and make the house shake in time to the music.



    • Oil Contest

      Oil Contest
    • Woodworking Contest

      Woodworking Contest
    • Make it Move Contest

      Make it Move Contest

    We have a be nice policy.
    Please be positive and constructive.




    I built a digital color organ beat detector by creating two RC integrators per channel, with the time constant of each integrator set slightly longer than the other. These two "average" signals were fed to a comparator. The audio level charges the longer RC integrator to a more average level than the RCI with the shorter RCI, allowing peaks and changes in the signal to trip the comparator. It works like a champ for any kind of music.

    1 reply

    what time constants did you use on the RC circuits? did you put a lowpass filter in front of them? and i guess you put a diode to half-wave rectify before the RC circuit?

    Can you send me one please because I have Cerebral Palsy so I can't wire please send me one for the holidays? Thank, Mike

    Anybody know how to run this from dos? My laptop has a system that I biult on it 'cause it wouldn't let me load any other system that I had onto it when it crashed, but it runs from dos. If you can get the windows commands, I can translate it into my system.

    what winamp plugin did you use


    If you want to build some really nice DMX based stuff for christmas lights check out the site for neat diy stuff.

    what song was playing in the first third of your video? TGT

    1 reply

    Does anyone know who the band was, or where I can find, the Techno Nutcracker CD? I can't remember the CD title or the band. I know the whole suite was done techno style and Sugar Plum Fairy really kicked, but that's it. Thanks Jon


    i dont have a 25 prong in my laptop

    Hey, i have a few qusetions, first of all where can i eather buy or find instructions on how to build the controler, and when and if i get one is there some kind of program to run it i need to download. Thanks!

    This inspired me to have a go myself. I had already built a parallel port 8 relay board from a kit (K174 from for controlling a heater to keep my homebrew warm. The thought had occurred to me to use it for some kind of christmas lights, but not for a tree.
    Long story short, I bought 5 sets of lights and a light-up star. Wired it all up and got it so I could turn the individual light sets on and off. Kind of fun, but not too impressive. I found a winamp plugin, ready rolled, that was designed to control 8 leds from the parallel port (a la It just worked - everyone agreed it was one of the funniest things they had ever seen when I had it grooving to Love's Theme by Barry White.

    Using a laptop to control lights is a tad silly. an LM3915n chip will do the EXACT same, without needing a laptop, or dirivers, or winamp lugin or anything. and it's easy as heck to wire up. you can route the 3.5mm jack into the chip, and then connect the relays to turn the lights on/off into the output pins of the chip. lots of free tutorials on how to do it via google.

    1 reply

    The plugin does beat detection using finite difference on a window of frequencies in the FFT. The effect didn't look good when it synced the lights only to the audio level. I'm not smart enough to figure out a way to do beat detection without a computer. Post an instructable to show me how!

    there is a driver called genport that allows you to manipulate i/o ports under newer versions of windows.

    However, if all you are doing is writing to the data bits of the parport, i.e. you need less than 8 bits of output, just open the standard parallel port driver and write to it. I use that for an experiment at work. If you need to read, use the control bits, or use irq's it ain't going to work.
    Open the parallel port, windows considers it a file:
    hndFile = CreateFile( "\\\\.\\LPT1", // Open the Parallel port
    Write to the parallel port:

    The Winamp plugin used here only works on Win98. Could someone, who can actually program, help me update it to XP using inpout32.dll ( The source code was written in Visual C++ 5 and is available on the same page as the plugin.