Lighting up the holidays with computers

This Christmas season, I decided I wanted to play with programmable light strings and see if I could create an interesting light show on the front of my house. I stumbled across xlights, an open source light show sequencing program and got to work.

The Hardware

My light set-up needed a central light controller that would store the light sequences, send the light data to the strings of lights. There were a few different vendors, but the Xlights communities generally recommended Kulp or Falcon. I selected a Kulp K8-B controller because Kulp controllers were standard BeagleBoard computers that ran standard Linux which gave me some flexibility. I ordered the controller kit through the build a controller kit tool on WiredWatts.com and some other lights/cables through other vendors.

I ended up with a basic selection with:

  • Kulp K8-B - The light controller
  • A waterproof enclosure
  • A 350 watt power supply
  • Two icicles pixel strings
  • Two flood lights (I plan to illuminate some trees)
  • Two strings of more efficient, string pixels

The kit came not assembled and contained no instructions on how to put it together. I mostly just put it together with trial and error.

Electrical Power

Power management is important, but I didn’t realize how important it was. I got the lights up on the house and started testing some lights. It was daytime and the lights defaulted to 100% brightness. The lights flashed white, then a few seconds later they didn’t turn on. Weird. I thought it was a software issue until I thought to look at the controller which contains a number of fuses and some status LEDs showing if they are working. And low and behold, I blew a fuse.

Let’s break this down. I’ve got one outdoor outlet that’s rated for 15 amps (1600 watts at 110v). That feeds into a 350 watt power supply at 12v DC (29 amps) that powers the Kulp controller. The controller has eight separate light ports that each have a 5amp fuse. I then connected two strings of lights that each peaked at 5 amps consumption, thus 10 amps total on a 5 amp fuse for 100% brightness and full white. Oops.

At night, the LEDs are so bright that they can easily be run at only 10-15% brightness which helps to cut the power utilization.

It would be really helpful if I were able to measure the current consumption across the entire power supply and on individual ports to identify when I’m getting close to the limits.

Laying the lights out in xLights

For example, I have icicles that wrap around my front porch. Like this:

A screenshot of xLights showing the icicles wrapping around two corners, while also showing the shadow groups straight out.

If I were to create an effect that goes from one side to the other, xLights would have to figure out how to apply the effect to the pixels. If I apply a simple slide effect from one side to another, it’ll look like the following. Notice how the sides of the icicles seem to fill immediately, then the center fills smoothly.

Let’s create a sample effect: Fill. Click Direction: Left.

Then click the green, right-pointing arrow for Position. Then pick a linear ramp in the bottom row of grey buttons and click okay.

Then drag that onto the sequencer

After clicking the render button , I can then see what the effect looks like in the left preview window.

Fixing Rendering issues

xLights doesn’t know what I mean and what I want, so I need to tell it how it should map this shape. Luckily it provides a feature to fix this that is poorly documented, but commonly used to fix this.

A Shadow Model is a copy of a model that you can reposition in different ways to get xLights to render effects the way you expect it to. I created two icicles models to represent the sides of the patio, then extended them out laterally like they’re sticking out instead of wrapping around the sides. The width, height, and number of light drops should match. From a 2D view looking straight on, it looks like this:

Then each of those get marked as a Shadow Model for the left/right icicles.

Then I create a model group for all my patio icicles that contains the shadow group instead of the actual lights.

If I re-apply my effect, I get this:

The Light Show (Sequencing)

Now the hard fun part. Actually coming up with some light shows. I’m not good at this at all. I initially wanted to do something to some songs, but that requires some kind of audio transmitter, like an FM transmitter, speaker, or even online streaming. Also, figuring out what effects should go with different parts of the song, was not easy for me being rhythmically challenged.

Instead, I started simple. A few simple, aesthetically pleasing effects on the lights. For example, my first sequence included just 30 seconds of a meteor effect, plus some subtle lighting of trees in the front yard. One of the Japanese maple trees has beautiful red leaves (until they dropped in the winter), so adding a bit of red light, caused the leaves to pop in color.

A Video

Conclusion

I had fun playing with Xlights and getting a basic light show set-up. The sequencing is complicated and it took me some time to figure out how to build the exact effect that I wanted. Next year, I’m going to expand it and add more lights.

Copyright - All Rights Reserved

Comments

Comments are currently unavailable while I move to this new blog platform. To give feedback, send an email to adam [at] this website url.