Will I decorate for Christmas? Not in this lifetime…

In June 2015 we moved into a new house. Our agent mentioned “the selling agent said this is a crazy Christmas light street.” I didn’t think much it because there has been a principle throughout my life:/h3>

Decorating = TimeSpent / ValueGained;

Clearly this is dividing by zero… in a computer this is a compile error every time.

On a day in June while unloading our Uhaul in 90°F weather, a neighbor introduced himself: “Welcome to the neighborhood, my name is Greg, by the way, did anyone tell you about the Christmas lights we do?” That is a verbatim quote. I bought the first house on the block, I wondered what I got myself into.

5 months later I hesitantly hung a few strings of cheap Home Depot Lights – Are you happy now Greg! Within weeks I had a change in heart. Every night I walked my 2-year-old twin girls down the street, and I saw wonder and joy in their faces. Three conclusions came to mind:

1. I need to contribute to this joy and I will go all in.
2. Our street gets heavy traffic in December and I am the first house!
3. I have to be me, and traditional decorating isn’t it.

Like you I am a systems builder, a PLC programmer, I bring industry to life by choice because it is rewarding and awesome. This started a 800 hour journey to build a system that commands lights to music in detail.

My automation career taught me I had a long road ahead to get to startup: new technology, complexity, first time installation. I needed a proof of concept before investing and scaling up. I bought various light types from China, normal in this hobby space and a task in itself, to figure out what worked best. Through my proof of concept I learned the basics of the sequencing software, control hardware, and DMX addressing. By early March I had the following proof of concept up and working:

2016 Vixen preview on mockup v1 (YouTube video – see below)


After proof of concept I placed full orders for the lights needed. In building the full scale show I had to learn many new things:

• Sequencing software, DMX addressing (same concept as a Mobus map)
• Available light formats: voltage, protocol, brightness, form-factor
• Light controllers
• Distance limits for power and the light serial protocol
• Welding (terrible welding via Harbor Freight junk, but learned why fire-proof blankets are needed)
• How to design the lighting to fit the house
• Placement of power and control sources
• Normalizing sound levels in music files (using Audacity)
• Raspberry Pi setup
• Reinforcement of the importance, and gratitude, of standards. As of year 2 I abandoned sourcing lights from China/Alibaba.
• Reinforcement of the importance of using a development methodology

Lucky for me, by the time I started there was a well-established online community of hobbyists and mature open-source software and hardware. The most common light type for this application is an “RGB Pixel” (full color control), which are otherwise used for advertising applications (e.g. building signs). Many animated Christmas light applications use rudimentary on/off control of traditional holiday light strings.

How My Show Works

There are countless ways to do this but I will focus on my system, which is similar to the image below. The Raspberry Pi is the brain, or the “show player”. The Pi runs Falcon Player (“FPP”), an open-source show player.

FPP plays the sound and sequence files for each song, broadcasting light control packets via Ethernet. The protocol is E.131 or “Streaming-ACN”, which is DMX512 over Ethernet. DMX512 was defined in 1986 for theater control and is closely related to RS485 serial. The Pi plays the music and broadcasts the light sequences over hardwired-Ethernet to four light controllers distributed through my house.

Architecture

Light controllers are middlemen, they just provide power to the lights and translate network commands from a show player into the serial electrical signals the RGB pixels use. The controllers are configured with the DMX addresses I’ve assigned to each light string (conceptually similar to hardwired IO or a fieldbus network).

Each RGB pixel has a red, blue, and green LED whose brightness’s can be varied between 0-255 intensity. The brightness level of each LED determines the brightness and color of each pixel. Refresh this fast enough and thousands of LEDs will dance to music.

RGB Pixel Nodes or “Bullets” Up Close

Many people use their PC as the show player – but it turns out a Raspberri Pi RUNS CIRCLES around a PC for this task. The Pi provides superior refresh rates – which enables faster animations and thus more detailed sequencing possibilities (sometimes I program animations as short as a high-hat or snare hit).

I output the audio from the Pi with a USB to 3.5mm jack adapter, to a Yamaha mixer, to an FM transmitter. The USB adapter helped improve the signal to noise ratio. Having FM radio allows cars to tune in and made it easy to use a home audio receiver to power outdoor speakers. I shutoff the outdoor speakers at a reasonable hour by programming a Kasa Home Automation power strip.

The show player includes a scheduling function to start/stop the show. I use Kasa (home automation) programmable power strips (link below) to cut power to my controllers, mixer, FM transmitter, and receiver. I do not hard power cycle the Raspberry Pi because the install files sometimes corrupt.

Sequencing Software

The sequencing software is comparable to PLC programming software. It abstracts the details of the devices (lights in this case) to provide a human-friendly programming environment with a library of effect templates.

Configuration includes:
1. Type and quantity of lights (like PLC IO)
2. Assigning DMX addresses (like a PLC tag database)
3. Defining / instantiating light groups (like PLC user-defined tags, or add-on instructions. Yes, I came up on Rockwell PLCs)

I import a mp3 for each song and the software adds beat markers and a wave form for visual reference. And from here we’re off to the races programming our house!

The following screen shot is 3 seconds of my “Sugar Plums” sequence I sequenced in Vixen. There is a lot going here, but for conceptual sake notice the following:
• Time is left to right
• On the left are my defined light groups, and sub-groups. I can apply effects to entire groups or down to the individual pixel level (I get that detailed at times)
• The native library of effect is in the upper right
• Detailed configuration options for each effect are on the lower right. One of my “chase” effects is shown here – I made a rainbow gradient, with a brightness ramp, set the pulse time, etc.

Key Decisions born from a PLC Programmer

The following decisions proved crucial to pulling this off:

  • Using 12-volt pixels. This yields lower current draws vs. 5-volt pixels, which purists say look better. This dramatically simplified power distribution and nearly eliminated “power injection” wiring that many other hobbyists do.
  • I bought all my lights with 18-awg wire, 22-awg is commong from some vendors. 18-awg lowers the resistance in wires which means less voltage drop. Voltage drop can be annoying! It can cause flickering and color errors, it affects the serial communication line, and is time-intensive to troubleshoot.
  • By August I was burning out with too many problems and not enough time left. I made two crucial pivots:
    1. I switched to a higher quality light controller which substantially reduced my configuration time and lessened voltage drop issues. Falcon Pixel Controller is a reliable and well-supported controller with native functionality to integrate with Falcon Player. I was using a “E682” originally which proved finicky.
    2. Trying to figure out how to route the light strings on my house was getting impractically difficult. Intuition told me “this is too hard”, I was spending a ton of time with Sketch3D trying to figure out where each 50-light string would end on my house. As a Hail Mary I did a 1-hour consulting call with HolidayCoro. Breakthrough! I was playing the game backwards. You don’t install each string as far as it goes, you cut the light strings as needed to fit each house segment. Imagine trying to install a sprinkler system without cutting the 10ft PVC pipes to fit the routes, madness!
  • I decided to use heat shrink solder tubes for splicing (vs. traditional soldering). While I wouldn’t use them on a production floor, they are fast and long lasting on the house.
  • From the very start I maintained a master spreadhseet for my DMX assignments, light controller port assignments, current draw per string, and total current draw per power supply. This is comparable to a master tag map and I/O list for an industrial system. Being organized saved countless hours throughout the project, and has been crucial in my expansions.
  • I used OneNote to maintain to do lists. At times I had hundres of tasks: to buy, to fix, to test, to learn, to install, etc.
  • I tested, then tested, followed by testing, then tested some more. I knew “year 1 startup” would have countless unplanned issues, which it did, and I wouldn’t have time to work out basic quality mistakes in commissioning.

Testing with Daughter (link to YouTube – see video below)

Startup and Finale

I took off the entire week of Thanksgiving for good measure – and needed every hour. I ran into flickering issues, network problems, and I accidentally taught one of my girls a profanity. But by Thanksgiving day – IT WORKED!

The visual is stunning – there is no camera that captures the brightness and fidelity seen in-person. By December I watched families dance in my drive way, people starring in wonder, cars parked in front of my house, and an occasional engineer dying to know how it works.

This video is my favorite sequence – note it is the song my proof of concept was based on. I spent 100 hours sequencing this song – down to timing the swell of each bass drum hit. No, it doesn’t have to take this long, but I was obsessive with experimenting and detail.

2017 Sugar Plums, sequenced in Vixen (link to YouTube – see video below)

Takeaways

Performing project debriefs substantially accelerates the value of experience, for individuals and teams. I make them routine events where I work. I ended up with a three page debrief for my “year 1” light show, and have done one every year since (e.g. what went right, what went wrong, key lessons learned).

My PLC programming and startup background was instrumental. Many of the software and control architecture concepts new enthusiasts struggle with I was able to work through relatively quickly. Maintaining a “Growth Mindset” (see image) got me through countless challenges and mistakes. By August I was ready to quit, I literally told myself problems were part of the journey, practice what I preach.

The community and tools available for this hobby craft are unbelievable. The folks behind Vixen, xLights, Falcon do amazing work. It’s hard to believe how mature these hobbyist tools are.

The key to getting a good look is equidistant spacing of the lights.

My style isn’t for everyone. There are puzzled looks and rapid drive-bys, but I also see faces of wonder. I even saw square dancing once. I still watch the shows all the time. Like an industrial application, I remain fascinated seeing my work coordinate the behavior of individual components to manipulate the physical world as a system. I bet you can relate.

Cost

I didn’t track costs real well, and probably spent 50% more than needed… IF I knew what I was doing the first time. I’m guessing $2,500 for what you see. With probably another $1,000 spent on mistakes between Home Depot runs, trial and error, tools I didn’t have, and proof of concept items I didn’t use.

Future Possibilities

  • I see more dancing each year and want to focus on that
  • One or more large pixel based matrices for advanced animations and pictures
  • High power DJ moving light heads (my current fixation with proof of concept complete in 2017)
  • Learn video editing and capture
  • Maybe some motion control, maybe a PLC?!

Some of My Other Sequences

Summary of Resources/Links

Reference Pictures

The heart of the show:

    1. The North side of my house has the “brains”
    2. There is another smaller cabinet in South side with my other controller
    3. I have gigabit TP-Link switches which isolate show traffic on my home network, the show is all hardwired Ethernet
    4. Yes, Africa and South America are in the wrong location

  1. Audio Mixer. This model is way overkill, I bought it while troubleshooting noise problems
  2. Raspberry Pi in upper right
  3. FM transmitter lower right

Light control unit

    1. Two 12-volt 350W power supply
    2. Falcon F16v3 controller (white board)
    3. Umbilical cords to light strings, carrying: +12-volt, common, and serial channel.

The back of one of my circles.

    1. Outdoor side of each light string unbiblical.
    2. In the background, the roof outline lights are mounted via modular PVC pipes. This provides quick install/takedown, and equidistant spacing of lights, which is key for having an animated show.

Greg rents a construction-grade lift every year. 20 years and running for him.

Written by Chris Schleich
System Builder, Project Manager, and Professional Engineer
https://www.linkedin.com/in/chris-schleich/

Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.

Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.

Chris Schleich
Latest posts by Chris Schleich (see all)
 

Note: The original article was publish here in January of 2019, and Chris updated it quite a bit for this release. Thanks Chris!


Discover more from The Automation Blog

Subscribe to get the latest posts sent to your email.