Blog Home

Hacking Christmas Lights

Davide GombaDecember 10th, 2010

We are all waiting for consumer electronics producers to sell hacking-friendly, repairable products.

While we wait we can all enjoy [Darco] Christmas Lights Hack. He reverse engineered the leds protocol and the remote control of the GE Color Effects G-35.

The protocol on the data line is simple and self-clocked. Here are the low-level details:

  • Idle bus state: Low
  • Start Bit: High for 10µSeconds
  • 0 Bit: Low for 10µSeconds, High for 20µSeconds
  • 1 Bit: Low for 20µSeconds, High for 10µSeconds
  • Minimum quiet-time between frames: 30µSeconds

Each frame is 26 bits long and has the following format:

  • Start bit
  • 6-Bit Bulb Address, MSB first
  • 8-Bit Brightness, MSB first
  • 4-Bit Blue, MSB first
  • 4-Bit Green, MSB first
  • 4-Bit Red, MSB first

From this we can see that we have a color depth of 12 bits. Not terribly great, but this should still be plenty for our purposes. What is interesting is the Brightness field. This field acts a bit like a multiplier and enables smooth fade-ins and fade-outs.

Merry Hacking Christmas!

via [Deep Darc] code [Here]