Picture of XBee Programmable Christmas Lights
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.
gleemonex693 months ago
I have a string of these GE lights and I would love to try this project. What exactly is the shopping list? I.E. the boards needed and so forth.
satz8 months ago

Has anyone tried to make one of these using the wifi xbee?


mrsutherland (author)  satz8 months ago
As far as I understand, the XBee WiFi doesn't come with a programmable interface. I believe you'd need to use a co-processor to be able to control the LED lights.

Alternatively, you could use something like the Digi XBee Gateway - ZigBee to Ethernet/Wi-Fi (product # X2E-Z3C-W1-A). You can run the PC Python code on the gateway and setup a ZigBee network to talk to the XBee controller Christmas lights.

I hope that helps!
ledster1 year ago


This is an awesome project!

So, how many XBee module did you end up using? One XBee for the PC, and how many for the lights?

Do I understand correctly, that each LED can be controlled individually?


mrsutherland (author)  ledster1 year ago

Thanks :-). I'm using one XBee for the PC and one XBee for each strand of 50 lights. For this project, I only had a single strand of lights, so there are two XBees total. You can control each LED in "real-time", or at least within a ten of a second.