XBee Programmable Christmas Lights

 by mrsutherland
Featured
Christmas Tree.JPG
By following these steps, you will be able to control a strand of 50 tri-color Christmas lights wirelessly using a Programmable XBee.

My family has always been into Christmas lights and creating custom decorations, so when I read this blog post on how to hack GE Color Effects Christmas lights, I knew I needed to try it out myself.  I decided to use an XBee Programmable so that I could control the lights wirelessly and try out the new built-in Freescale co-processor.

For this project I'm sending RGBA (Red Green Blue Alpha) values for each LED over a ZigBee network to the FreeScale co-processor built into the XBee Programmable.  The code on the co-processor uses a PWM to send the RGB values on a data line to the LEDs in the strand.  Each LED on the strand has an 8051 microprocessor in it that decodes the signal and sets the LED color and brightness.  Voila, wireless control of 50 tri-color LEDs.  The strands themselves support a refresh rate of up to ~24Hz when setting all 50 LEDs (faster if you are setting fewer LEDs).  Using a compact over the air representation for the LED values (removing the brightness or ALPHA portion), I can get ~10Hz refresh rates in real time over the wireless network.
 
Remove these adsRemove these ads by Signing Up

Step 1: Assemble the parts

ge christmas lights.jpg
In this step we are going to start acquiring the necessary hardware and software.

First you need a strand of GE color effects G-35 Christmas lights.  I'd suggest trying to find a strand with 50 lights in it, but one of the 36 light strands will also work.  If you can find them at Costco, they are usually available for ~$60 as apposed to the full retail price of ~$100.

Next you need to get an XBee Programmable and programmer for the FreeScale co-processor.  I suggest checking out Digi's Getting Started for more information.  You'll also need a second XBee (series 2) connected to your PC to send data to the programmable XBees.  You can download the required software, drivers, and getting started guide here.

The example computer programs are written in Python.  You'll need to download Python 2.7 and then install pySerial.  All of my code and the XBee profiles are located on GitHub at: https://github.com/mrsutherland/lightshow.

You may need a 1kOhm resistor and 10pF ceramic capacitor to reduce noise on the data line for the Christmas lights.  It doesn't appear to always be necessary, but I've had some issues without them.

Finally, you'll need some misc components to wire everything up without using the XBIB board:
* 1 small prototyping board or breadboard
* 1 XBee breakout board from Sparkfun.
* 1 LN1117T - 3.3V linear regulator to provide 3.3V to the XBee from the 5V off the Christmas lights
* 2 10uF radial caps - for the linear regulator
* 1 LED - association LED isn't strictly necessary, but very useful.
* 1 1kOhm resistor for the LED
* optional enclosure
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!