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]

One Response to “Hacking Christmas Lights”

  1. matt richardson: Hacking Christmas Lights Says:

    [...] Robert used a logic analyzer to snoop out the protocol and coded an ATTiny13A to take command of the lights. He posted a thorough guide to his findings for us less savvy hackers to start experimenting. [via the Arduino Blog] [...]

Leave a Reply

You must be logged in with your Arduino account to post a comment.