Law Residence Christmas Lights

During Christmas 2005, I saw a video on the Internet of a home that had music syncrhonized to their Christmas lights. I loved it and thought, "I can do that" and I set out to do it. My first approach was to buy the Light-O-Rama controllers, but they cost about $200 for 8 channels of control. I counted up the channels that I wanted to have and came up with 89. That would be over $2000, which was over my budget.

So I decided to just build my own. After all, it is just a matter of a computer controlling triacs, right? :-)

I wrote up a howto on how I built the controllers and put it on, which is an awesome website.

All of the hardware and software development for this project was done using free and open source software (FOSS). No Microsoft products were used for this project. I did a presentation for our local Linux user group about the project. The slides for that presentation are available at if you are interested in the details.

Here are some photos of the whole process. I did my first PCB, which was a great learning experience. I used GEDA, a free and open source electronic design suite. I was impressed with GEDA. I outsourced the etching/drilling/silkscreen/solderseal/cutting of the PCB for only $45 quantity 1. Here is a picture of what I got.
Next came the soldering. There are two decoder chips, and the other 17 are "Octal D flip flops" which is just a single byte of memory. 1 is a data latch, and the remaining 16 are data registers of 8 bits each, giving me a total of 128 channels.
I collect 6 bits from the master controller into one cat-5 cable, with one conductor for ground and one wasted, and that cable goes to one subcontroller. So each subcontroller can control 6 channels of lights. I have 15 of these scattered around my yard where needed.
This project brings a whole new meaning to socket programming! Each subcontroller took me about 4 hours to build, which was more than I had planned.
Here is the revised console for this year. Inside is a PIC microcontroller that talks via RS232 back to the master computer in the garage. The microcontroller monitors the Play and Select buttons and displays the LED next to the selected song. It also controls the countdown display.

For those of you who want to reuse my PCB design, here are the files you need to go along with my howto on board.pcb flip.c
Makefile master.gif
master.sch pxlc.c pxlc_if.h mocschem.gif