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.

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy