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.
Remove these adsRemove these ads by Signing Up
satz10 days ago

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

mrsutherland (author)  satz10 days 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!
ledster9 months 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)  ledster9 months 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.