How a Controls Engineer Does Christmas Lights

Written By:

So there I was three Christmases ago opening a present from my mother-in-law, and to my surprise, she bought me a Mr. Christmas’s, “The Lights and Sounds of Christmas.” I’ve always put up a lot of lights for Christmas, so the gift made sense. Basically, it’s a box that syncs music to Christmas lights.

That first year I synced some of my Christmas lights to music but found the Mr. Christmas box to be a bit limited since there were only six outputs. So, as a typical controls engineer, I knew I could do this better! Why not treat it as a machine.

So the next year, I took a GE 90-30 programmable logic controller (PLC) that I had lying around and put in a box, wired Mr. Christmas to its inputs, and wrote a small program that took those six outputs and made it 36 outputs. I also put an Ethernet card in it, so I could program from the comfort of my garage!


The original Mr. Christmas setup.

Programmable Controller Version 1

This was my first pass at improving my Mr. Christmas setup and included a GE 90-30 programmable logic controller (PLC).

The additional outputs worked pretty well, but it was still too limited. It lacked enough outputs, was too cramped to wire, and generally just didn’t cut it.

This year, I decided to do it right, and I had accumulated some additional parts that would allow me to do just that. I had a 25 foot, 37-conductor, 16-gauge cable and a 50 foot, 25-conductor, 16-gauge cable as well as a large enclosure that allowed me enough room to easily put Mr. Christmas inside. This was important because when it got cold, the timing circuits in Mr. Christmas would speed up and make for some interesting light displays at warp speed.

I also purchased a larger rack and faster PLC from eBay (faster and bigger is always better right?). Since the new enclosure was custom, I had to improvise for the back panel, so I used oriented strand board (OSB), which is similar to plywood.

I labeled all the wires, which was very helpful for field wiring, and then I used three lights and a thermostat to keep the enclosure to 40 degrees.  I also used interposing relays (these devices amplify the capacity of the I/O module to allow a larger current flow) to power the inflatables, since the outputs couldn’t handle the inrush from the blower motors.

I then added a wireless access point, so I could program everything from my laptop, and I programmed a clock to turn the lights on and off at desired times of the day to help save on my electric bill.  The multi-conductor cables I used reduced the amount of extension cords I needed to power the setup, which was also very helpful and made the display less cluttered.

Programmable Logic Controller (PLC) Version 2

This year's version of Mr. Christmas worked even better with a faster PLC and an outside enclosure to control temperature.

This year, the display was great, and everything worked very well. The only thing I wish I’d done differently was add more lights. To add more next year, I’ll also need more outputs. That means I’ll need spare output slots, so I think I’ll need a Modbus network for remote input/output (if my wife will let me). This is one case where I don’t mind scope creep, but we’ll see what the accountant (my wife) has to say. 🙂

Additional Pictures:


Fusing and Relays


New Input and Output (I/O) Terminations


Lights for Heating and Thermostat Control


New Programmable Logic Controller (PLC) Rack

Tim is a senior controls engineer at Bastian Solutions. He is a graduate of Purdue University and a former US Marine.


  1. My favorite line is “I took a GE 90-30 programmable logic controller (PLC) that I had lying around”. After all, who doesn’t have a GE 90-30 programmable logic controller lying around?

Leave a Reply

Your email address will not be published.