Some years ago, G.E. released a line of Christmas lights under the the "Color Effects" name. Each bulb could be a different color using a wireless remote with preset animations. In 2015, G.E. changed the names of these lights to "iTwinkle" which has nothing to do with the name of this website. The iTwinkle lights were bluetooth enabled, allowing a smartphone app to change the present animations. In 2016, G.E. stopped producing the iTwinkle line and reverted back to the "Color Effects" lights.
It is possible to hack G.E. Color Effects lights to work with xLights! The trick is removing the control box / power supply at the base of each string, then connecting the string to a custom controller. While there are commercial controllers available that allow GECE lights to work with xLights, it is possible to use a low-cost Arduino to control the GECE strings. Each Arduino can drive up to eight strings of 50-bulb GECE lights. In my particular configuration, I use two Arduinos to control 16 strings.
How It Works
The tune-to sign is a 16-foot box that displays messages in a ticker-tape fashion. It displays random Christmas messages throughout the evening, such as "It's the Most Wonderful Time Of The Year", "Santa Claus is coming to town", etc. When people are controlling the Christmas lights from the Internet (via the www.itwinkle.org website), the marquee will indicate the area and country where the people are from with a message like "Lights are being controlled from Paris, France".
How To Build It
The brain of the tune-to sign is an Arduino with an attached network board. This allows the tune-to sign to retrieve a fresh list of random messages from www.itwinkle.org. Therefore changing the messages that are displayed is as easy as updating a file on the website.
The tune-to sign uses eight strips of WS2812B lights, allowing 8x5 characters to scroll along the strips. The enclosure are two 8-foot sections joined in the middle. To enlarge the individual LED pixels (to form larger letters and words), I created a diffuser from interlocking cardboard strips, similar to a honeycomb. Cardboard was the wrong material, as the moisture from being outside quickly deformed the strips. The front of the marquee is covered with a plastic diffuser used in ceiling lights.
When the tune-to sign is powered on, it first contacts www.itwinkle.org to obtain a list of messages. Then it displays the messages in a random order. Between messages, it checks the www.itwinkle.org website to see if people are controlling the lights. If they are, the marquee obtains their location and displays it. After this, the marquee goes back to displaying random messages again.
The tune-to sign works independently of the light show; it is not controlled by xLights nor Falcon Player. The tune-to sign needs an Internet connection upon power-up, then periodically accesses it between messages. The original inspiration for the tune-to sign started here:
How It Works
The driveway arch uses three 50-bulb strings of G.E. Color Effects lights. One string forms a tall arch over the driveway and the other two strings are runners along the sides of the driveway. The base of each string connects to extension cords to terminate to the GECE light controller inside the house. This same light controller manages the GECE lights on the house, too.
How To Build It
The design is simple, but was a fair amount of work. For the runner strings on each side of the driveway, I pound rebar stakes at regular intervals down the driveway. I attach the strings to the poles with zip ties, allowing the strings to droop a little between poles, forming nice, half-oval curves.
The house-side runner string is easy to terminate to the light controller; it enters the house through a basement window. The opposite-side runner string needed to cross the driveway to get back to the house. To do this, I placed an extension cord in a 1/2" or 3/4" black pipe, then shallowly buried the pipe across the driveway. My driveway is crushed concrete, so this was easy to do.
For the driveway arch, I dug and concreted two PVC pipes on either side of the driveway. I place screw-on caps on these pipes between Christmas season. To build the arch, I used 1/2" black pipe for the arch sides. At the top of the pipes, I bent 3/4" PVC pipe into gradual quarter-circles and attached these to the pipes. Where the PVC pipes meet in the middle of the arch, I used a screw-on PVC junction. This way the arch can be separated into two halves and stored between Christmas seasons. I cut the 50-bulb string in half, then attached to each half of the arch with zip-ties. At the top of the arch, I attached male/female connectors to the cut string ends, allowing the string to be connected during and disconnected after Christmas for arch storage.
The two driveway runners strings and arch string use 16AWG extension cords to connect to the GECE light controller inside the house. These strings connect to data pins on the light controller's Arduino. There is also a network board attached to the Arduino, allowing the it to receive DMX commands to animate the lights.
How It Works
The three small trees that stand next to the "mega tree" use simple strings of lights called Dumb RGB. These strings can be seven different colors, but all of the bulbs change to the same color. These strings have four wires. By applying 12V power to the common wire, then selectively applying ground to the three remaining wires (RGB), the entire string lights up with different colors. Thus the light changing capability is analog, not digital. Selectively applying ground and power to the string is done through relays which is controlled by the Arduino. Relays are needed because the Arduino can only output 5V on its output pins, while the strings require 12V with higher amps. The Arduino also has a network board attached so that it can receive DMX commands over Ethernet. This is fully explained elsewhere in this website.
How To Build It
I bought three cheap artificial trees meant for indoor use. I wrapped two strings of 50-bulb Dumb RGB lights on each tree, allowing the strings to overlap each other. That way, the tree appears animated even though there are only two strings on each. To keep the strings in-place during high wind, I bent the tree branch tips over the string wires, trapping them in-place.
The tree stands were flimsy and fall apart from being outside in the wind, so I used industrial glue to permanently assemble and the stands. The tree branches also attach poorly to the pole, so I dipped each branch end in Plasti Dip before inserting them into the pole. Since the tree top attaches to the top of the tree pole and wobbled in the wind, I used c-clamps to attach a short piece of rebar between the tree top and pole.
Lastly, I bent rebar in the shape of a long "U" to be used for staking down the stand in the ground (three stakes per tree stand). I found this wasn't enough to hold the tree during high wind, so I also tied three nylon strings from the tree poles to wooden stakes in the ground. Between the rebar "U" stakes and the nylon string & wooden stakes, the trees (mostly) stay put during bad weather.
The end of each string terminates to relays inside a waterproof, outdoor Dri Box. There are three relays per string to apply ground to the RGB wires on each string. With three trees, there are 18 relays total. The relays are turned on and off by data pins on an Arduino.
How It Works
The mega tree uses eight strings of WS2811 lights that run up and down a pole, forming 16 "strands" of lights in the shape of a tree/pyramid. Because each bulb on these strings can be a different color, it is possible to show animations on the tree such as squirls, moving patterns, rotating text, etc.
How To Build It
First, I dug a hole and concreted a 1" length of PVC pipe, about 1-1/2 to 2-feet deep. During Christmas, I insert a 10-foot 3/4" black pipe into this conduit. At the top of the pipe is a wooden head with eight coat hangers attached to it. I also shaped a large, round circle made from heated and bent 3/4" PVC pipe; this the base of the tree.
I then run the 50-bulb strings from the base to the top then to the base again, forming 8 triangles around the tree. This makes 16 "strands" of the tree, as each strand is 25 bulbs. I use zip ties to attach the strings to the base.
Each string runs into the tree controller box, an outdoor box called a "Dri Box" that is protects its contents from the weather. All eight strings connect to an Arduino. To keep insects from seeking the warmth of the box, I scatter some moth balls inside and spray the box's base with bug repellent.
The tree also has a traditional star at the top, simple incandescent mini-lights that run on A/C. I run its power cord to the box, getting its power from the A/C extension cable that runs into the box, too.
The power supply for the mega tree is a standard PC power supply. The WS2811 lights require 5V which is perfect for the power supply.
The mega tree is quite easy to erect and dismantle every year, being just a pole with lights hung on it! The full instructions for building this year are included on this website.
How It Works
My house is decorated with G.E. Color Effects Lights. There are 16 strings that line the roof, windows, door, house corners, and base.
How To Build It
The Arduino controller for these lights is in the living room, inside the house. I chose an indoor controller simply because it seemed easier for all 16 strings to terminate inside the house.
From the base of each string, I soldered standard three-prong plugs, the same used for AC appliances. I then used 16-gauge extension cords to reach the strings to the indoor controller. The benefit of this method is that I could use long runs of extension cable to reach all corners of the house with minimal voltage loss. The negative aspect is that hundreds of feet of extension cord is heavy when laying it all out! With the indoor controller, I plug the extension cables into household outlets that are wired directly to the Arduino.
The roofline, door, garage outline, and house base has strings of lights attached to the shingles, gutters, and siding with the clips that came with the lights. Easy enough. To mount lights on the house corners, I purchased cheap, white wood strips, then screwed the clips to the strips, then snapped the lights to the clips. I attached the strips to the corners with outdoor foam tape, sometimes using string to ensure the strips didn't fall down.
Because the corners have only 10 lights per strip and the lights come on 50-bulb strings, I cut-up the strings and used extension cords to extend the string to reach multiple corners. However, I learned that the maximum length of the extended string should not exceed 270 feet, otherwise the light signaling & power is reduced to much, causing the lights not to work properly.
The window lights were tricky. At first, I used suction cups with a dab of oil to affix the Color Effects strings to the window from the inside. But because the bulbs are so heavy (G35's), the strings would fall from the windows from time to time. Then cleaning the oil from the windows after-season was a pain. The solution was mounting the strings to frames made from thin, white molding. The strings have clips that easily screwed into the molding. So now I push the frames into the inside of my windows frames each Christmas; it takes just minutes!
Here are the major steps to build your own animated Christmas lights show. Each step is fully described in this website.
The entire Christmas lights system works around xLights, the program that controls the animations. You upload a picture of your house, then tell xLights what kinds of lights you have and how they are arranged on the house. You create animations on the lights using a simple, drag & drop system that makes animating easy!
After creating your animations with xLights, the program communicates to your lights via standard Ethernet network cables. The language that communicates the bulb color changes is called DMX.
The beauty of this system is that you do not have to buy expensive, DMX-lights or DMX light controllers. Instead, you can purchase off-the-shelf Christmas lights that are "hacked" to work with the DMX language that xLights uses. Currently, these types of lights are explained on this website:
You connect these lights to an Arduino that has a Ethernet board on it. The Arduino uses a special program that receives DMX commands from xLights, then tells lights to turn on and off and which colors to use.
In summary, your computer runs xLights to playback your animations, which are sent over Ethernet cables to the Arduino microcontrollers that your strings are attached to.
If that's all that you want to do, you'll have a Christmas lights show that shows fantastic animations that includes different kinds of lights.
But, you can do even more! You can save your xLights animation as a recording that can be saved to a low-cost, low-power Raspberry Pi microcomputer using a free program called Falcon Player. This is handy because you don't need to leave your computer running all night to control the light show; the Raspberry Pi can take care of that.
Falcon Player also makes it possible to allow Internet control of your lights, if you like. You can setup a webpage so that people clicking buttons can change the animations played on your house. To allow people to see your Christmas lights from the Internet, a second Raspberry Pi is placed into a dummy security camera, making it a low-cost and flexible streaming outdoor webcam.
This website shows you how to "hack" off-the-shelf Christmas lights into an interactive light show!
It uses free software and low-cost hardware to make this possible. The software is called xLights which provides professional light animation. The hardware involves a mixture of Raspberry Pi microcomputers and Arduino microcontrollers.
The result is a universal system for animating your Christmas lights that can easily grow into fancier displays in the future.
While you can use a computer running xLights to run your light show, it is also possible to enhance your system to allow Internet control of your lights! People from all over the world can view your holiday display and change the animations.