Projects‎ > ‎Modifications‎ > ‎

Tabletop Tree Lights

Living away from home can be tough during the holidays. This difficulty is only increased in a small living space such as our fifth wheel camper where there isn't much room to decorate. To help my wife get more in the spirit of Christmas, I decided to take a cheap garland tree and fill it full of blinking LEDs. Perfect? No. Over the top? Of course. Fun? Definitely!

A Simple Solution

Custom Blinking LED Christmas Tree Modification
The tree shown is a cheap garland wrapped plastic frame from Walmart. It could easily be made, but I didn't feel like taking the time to do so... Besides, I got in on clearance, so I might not have been able to make it as cheaply as I bought it. Plus, what would I do with the left over materials? They'd probably make a nice a dust collector.

On its own, this tree is a wonderful splash of bright color in our drab camper, but it could definitely be improved. I mean, what kind of Christmas tree doesn't have lights on it? Even before electricity was invented, people lit candles on their trees to illuminate them. This seemed like a perfect project to get rid of some older LEDs I had to make room for new stock. It would also be a good use of my ever increasing pile of scrap wire pieces. All it would need is a battery, switch, and some LEDs, but of course that isn't all I did with it. I wanted the LEDs to blink, and I wanted to control the speed. The resulting circuit is far from perfect, but it was a great first attempt at bringing a bit of Christmas cheer to a pair of nomads.

Electrical Design

I really wanted as random of a blinking pattern as possible using only a few components I had lying around. The obvious choice for controlling the speed would be a 555 timer IC in combination with a potentiometer, the challenge was creating a simple randomizing circuit. To start, I went with a 74393 counter IC to split the 555 output into varying speeds. I knew an easy way to create a lot of outputs would be to use some type of decoder, but using standard binary counting would create somewhat logical patterns. To create the seemingly random blinking, I ran the counter outputs into the inputs of a 7447 BCD to 7 segment decoder. This chip combined the abnormal BCD count with the strange outputs needed to drive a seven segment display and has the following input/output relationship.

7447 BCD to Seven Segment Decoder IC

Putting all of these concepts together, I was able to create the following circuit.

Custom Randomized Blinking LED Controller Schematic

The seven decoder outputs were used in combination with two of the counter outputs to form nine LED sinks. Each bank consisted of three parallel strings of two series LEDs for a total of 54 LEDs and 108 pieces of wire to connect them all together. The inside of the tree is a total bird's nest of random wires, but this is all hidden nicely by the garland. 


This build took a bit of time, but only because it got more difficult to glue the LEDs in place and shove more wire into the tree as time progressed. It was actually really easy, just time consuming. I used a rechargeable 7.2V NiMH battery as a power source. The battery and circuit were attached to a couple of the upright frame posts on the tree.

Custom Randomized Blinking LED Christmas Tree Modiciation

         The finished LED system.      With the LEDs on.        With the garland on.

Although this tree works really well, the blinking is not all that random. The patterns are quite unpredictable at first, but considering there are only nine total outputs working off of a four bit counter, it repeats itself after sixteen flashes (the highest number you can count with four bits is 2^4, or 16). This is perfectly fine for my purposes, but if a truly random output is desired, it could easily be done with a microcontroller using a pseudo random number generator. This could put the output combination into the thousands as opposed to the teens. In addition to the MCU, a few output expansion registers could be used to increase the number of LED strings which can be individually controlled. The speed could be controlled by a potentiometer connected to the ADC or a couple of digital button inputs signifying "speed up" or "slow down." Another good addition to the circuit would be a switch to turn the blinking on or off. Currently, only the blinking speed is adjustable.


Here is a video showing a few of the components and the ability to control the blinking speed. Enjoy!