Depending on where you live, you've likely seen a house with crazy flashing Christmas lights that change color and dance to music. Almost every neighborhood or town has "that one house" that goes all out for the holidays each year. In my neighborhood, that house is mine. If you've ever wondered how those displays work and what you need to make your own, this will be a short overview of all the components and how everything works together.

There are three key things that make up a Christmas light show: the lights, the control circuitry, and the sequencing.

The lights are arranged together to form different props like leaping arches, snowflakes, stars, megatrees, and more. You couple those lights with controllers and power supplies to make them work as expected. There is specialized computer software that tells the controllers when to turn on and off the lights according to the music being played. These components are at the heart of every light show and I'll go into detail about each one. While you won't be able to go to Walmart and pick this stuff up, there are many companies and a large, helpful community eager to help.

The Lights

The most common type of lights you see at Christmas are traditional incandescent bulbs or more recently, LEDs. These strings turn on with 120V (in the US) when you plug them into the wall and stay lit until you unplug them. Those are regular Christmas lights. Around 10-15 years ago though, people started connecting them to electronic switches called relays which allow the lights to be turned on and off with a simple microcontroller. This is essentially the same technology found in today's smart wall plugs, but with a more festive approach.

A typical holiday light display using this technology might have had a few dozen of such relays controlling an equal number of light strands. This technology was fine for a few years, but eventually things started to get more elaborate.

The next big jump in technology came around 5 years ago and has transformed holiday lighting ever since.

Turning on and off a single strand of lights was boring and people wanted more colors, more brightness, and fancier effects. LEDs had become very popular and and a new type of light technology started to hit the market called "Pixels". These pixels are essentially an entire strand of modern "smart" RGB light bulbs. Each pixel has a tiny microchip that tells the LED when to turn on and off and what color to light up. They are connected in a strand and can each light up individually to form complex patterns and effects.

There are many types of pixels and many different protocols for communicating with them. The most common type of pixels use a protocol called WS2811. Essentially, the pixels in a strand receive data sequentially, decode the data intended for them, and pass through the data for all of the subsequent pixels down the line. The actual data that is transmitted consists of a red, green, and blue intensity value for each bulb.

These type of lights and their protocols were originally designed for digital signage and for theatrical productions. The same WS2811 protocol is used in modern individually addressable PC RGB lighting strips that you might have in your gaming rig. The only difference is that holiday lights have a waterproof coating, are available in strings up of roughly 10-15ft, and cost considerably less.

These lights are then arranged in props which is where the artistry comes into place. Different shapes can be created using corrugated plastic, pipe, and custom structures to create almost any design imaginable. While the lights are standardized, the props are unique and involve considerable design effort to figure out where to place the pixels. They must also be able to withstand an entire winter season outdoors without falling apart.

Designing the Show

Designing a show is a lot like composing for an orchestra. The lights are arranged in props like trees, arches, stars, snowflakes, and more. Different props can be grouped like instruments in an orchestra as they light up with the music. Choreographing the different elements to music requires special software that knows how to interface with the lighting protocol.

The most common program is xLights which is free and open-source. Shows are designed sequentially along a timeline where each show element has a different track. There are many different effects that can be applied to individual elements or to groups. Each show is unique and the different effects can be endlessly customized.

The software creates a grid of where the lights are located using a reference photo of the venue. From here, complex patterns can be applied to the grid to create the effects. Some effects might only light up a single strand while others might move across the entire house.

Once the show design is finished, the file is exported to a format that includes the color data for each of the lights. A typical show will also have a refresh rate between 20Hz and 40Hz, which means the output file contains the status of every bulb for every frame during the show.

Controllers and Power

All those lights are great, but they need controllers and power supplies. A typical show that you may see will have two types of controllers: the first is a show computer that stores the file from the sequencing software and transmits it to all of the elements. The second type of hardware used to run the show are the controllers that interface directly with the lights. These controllers come in many different shapes and sizes but all do essentially the same thing. They convert the data from the show computer into the WS2811 protocol which directly drives the lights.

The controllers receive data from the show computer using a protocol called E1.31. This protocol is a way to stream lighting data over a traditional IP based network. The pixels are grouped into "universes" of 170 lights which all get routed to the same controller. Each light needs to have a red, green, and blue intensity value to determine what color it should be. If you are familiar with DMX for theatrical productions, it's the same idea.

Each controller has an IP address and knows what configuration of lights are connected to its output. When it receives a data packet from the show computer, it makes sure it is addressed to the right universe, decodes the WS2811 data that is in the packet, and outputs the data stream to the pixels.

In terms of controllers, there are two main styles that people will use in a light show. The first is a centralized, very powerful controller with lots of outputs. The second is numerous smaller controllers positioned closer to the elements. Both have their benefits and while centralized controllers are the most popular style now, the smaller decentralized controller style is gaining in popularity.

The controller I have here is a professional-grade board made by Advatek Lighting. This device can control up to 32 individual pixel strings outputs for a total of just over 16,000 pixels. Thanks to its beefy power connectors, it can also supply hundreds of Watts to keep the pixels bright. Rather than using Wi-Fi, which can get crowded if you have lots of devices, this controller has a dedicated Ethernet connection. If you are serious about holiday lighting, this is the type of controller you want. It is also powerful enough to be used in commercial displays like at a theme park.

Taking a tour around this board (photo above), we start with the main power connectors on the left side which power the lights. Pixels use either 5V or 12V, so a standard high-wattage computer power supply can be used or power supplies specifically designed for LED lights. This board can handle both voltages at the same time. Around the top and bottom we have 16 removable plugs for the pixel connectors to plug into.

Most of the common pixel types, like WS2811, use three wires: power, ground, and data. However, some other pixel types have a clock pin as well. At the center of all of this is a microprocessor that handles the connectivity and signal required to interface with the pixels. There are also four driver ICs that boost the signal-level output from the processor to one suitable for driving pixels a long distance from the controller. Finally, on the right hand side, we have external connectivity. This includes legacy DMX outputs as well as Etherne. There are many other controllers from companies like Falcon and HolidayCoro but they all have a similar format.

Running the Show

Once you have all the required components and everything is put together, running the show is fairly simple. On the controller side, you just need to tell it what configuration of pixels are attached to what output port. You can also adjust things like brightness and pixel ordering. Each controller will have its own configuration either via a web interface or through a dedicated program.

The last thing you'll need is a computer to store the sequences and audio data for the show. You can use a laptop, but one of the most common types of show computers due to its cost and accessibility is a Raspberry Pi with the Falcon Pi Player software.

Every night during the show, it loads the sequences we programmed earlier, plays the audio associated with it, and sends the lighting data out to the controllers in the display. This computer also needs to know about the specific controller setup, so that it can send data to the right address. The audio output is usually fed into a portable FM radio transmitter, so that people in their cars can hear the show.

To recap, the lighting effects are first created in software, then that software is exported into a show file which contains the color data for each pixel at every moment of the show. The show file is played from a show computer which outputs the light data using the E1.31 protocol to controllers. The controllers receive packets addressed to them and finally output the resulting WS2811 data to the pixels.

There's a lot of technology behind the scenes to create these displays and it still has lots of room to improve. Pixels are becoming more accessible and easy to setup. Controllers are getting more powerful but at the same time, more user-friendly.

Interested in setting up a display of your own?

It's certainly too late this year to put one up, but there are plenty of resources to teach you everything you need to know. There's a great YouTube series that can teach you the basics to get you started. Depending on how much effort you want to put into the display and how good you are with a soldering iron, you can either make your own show elements or buy some ready-to-run.

The displays can be a bit expensive getting started, but the price is dropping year after year. For example, a strand or strip of 50 pixels will cost around $10 from China and a good controller will cost around $200. Besides that, basic tools like PVC pipe, metal conduit, zip ties, and hook-up wire aren't very expensive.

I've been doing light shows for a few years now, the video at the top of the article is my 2018 show if you'd like to see what the final product looks like. Happy holidays everyone!