Hacking Christmas Lights
We are all waiting for consumer electronics producers to sell hacking-friendly, repairable products.
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!