How To: Hack Christmas Lights for Custom Holiday Lighting Patterns

How To: Hack Christmas Lights for Custom Holiday Lighting Patterns

General Electric isn't known for their Christmas lights, but maybe they should be, because their GE Color Effects are pretty awesome. Especially the LED Color Effects G-35 String sets.  And especially when someone named Darco hacks them.Darco, whose real name is Robert Sun Quattlebaum, reverse-engineered (i.e. hacked) his set of 50 lights to show his own lighting pattern.  And for all of you planning to decorate your house with holiday lighting, this is the only true way to have a unique display.Here's what Darco has to say about his hacked Christmas lights:

Hacking Christmas LightsThis string contains fifty "bulbs".  Each bulb contains a red, green, and blue LED—allowing for any color to be produced.  The biggest drawback is how you control them: there are 14 pre-set "programs" that you can select, and they are all pretty lame.  However, with a little reverse engineering and an Arduino (or any other microcontroller) they can be made into the coolest Christmas lights on the block.  If you buy several strings, you could easily make a large 2D LED array.  The possibilities are endless.  At $59.99USD for a string (A tad over $1 per node), these things are a steal for what you can do with them.I wanted to share my efforts so that other people can give this a try.  At the end of the post I have a link to the code I'm now using to drive my Christmas lights. Feel free to use it for your own hacking endeavors. Please enable JavaScript to watch this video.
So far I've reverse engineered both the radio protocol and the protocol used on the LED data bus.  Of the two, the LED data bus protocol is by far the most interesting.  So, that's where I'll start…

LED Data Bus ProtocolThere are three wires connecting all of the "bulbs" in the string: +5V, Data, and Ground, respectively.  The wire isn't really marked for polarity, but the order I mention is from looking at the wire going into the first bulb from the controller box with the bulb facing up.  I've labeled the wires in the following photo:Each bulb has an address numbering from zero to fourty-nine, with bulb zero being the bulb closest to the control box.The protocol on the data line is simple and self-clocked. Here are the low-level details:Idle bus state: LowStart Bit: High for 10µSeconds0 Bit: Low for 10µSeconds, High for 20µSeconds1 Bit: Low for 20µSeconds, High for 10µSecondsMinimum quiet-time between frames: 30µSecondsEach frame is 26 bits long and has the following format:Start bit6-Bit Bulb Address, MSB first8-Bit Brightness, MSB first4-Bit Blue, MSB first4-Bit Green, MSB first4-Bit Red, MSB firstFrom 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. Bulb address 63 can be thought of as the "broadcast" bulb, except that it only changes the brightness level—the color fields are ignored. Bulb addresses 50-62 are ignored under normal circumstances.Each frame takes 820 µSeconds to transmit. Since there are 50 bulbs, that means that takes a minimum of 41 milliseconds to individually update every bulb. This gives us a maximum refresh rate of slightly more than 24Hz. Not bad.
Bulb EnumerationIt turns out that the data line is not a continuous wire of copper thru the whole string.  Each bulb contains a microcontroller with two data lines: one is an input, and one is an output. When the string first powers up, all bulbs are in the "enumerate" state.  When in this state, the first command received is used to tell the bulb what its address is.  Once the address is set, all subsequent commands are forwarded to the next bulb.  This process continues until all bulbs are enumerated and have an address.Normally, you would want to perform some sort of power-on enumeration which would give each lamp it's own address—but this isn't the only option.  The enumeration step allows you to assign any address to any bulb you want—including giving several bulbs the same address.  By giving several bulbs the same address, you can control several bulbs with a single command. There may possibly be a way to force all bulbs back into the enumeration state without power cycling.  If this turns out to be possible I'll update this page with the details.
To See More...Go to Darco's original post, which has details on bus snooping observations, bugs in the bulbs, notes about voltage, opening the control unit, remote control and software needed.Click through to read Hacking Christmas Lights.


Google Chrome 101: How to Play the Hidden Dinosaur Mini-Game


The iPhone 11 could scan the veins in your face to unlock; it wouldn't be the first company to use vein recognition as a way to unlock a phone New iPhone 11 release date, price, news and
Could your face unlock the new iPhone? | From the Grapevine


About How To Unlock iPhone 3GS and iPhone 3G Procedure. This unlock iPhone tool have advantage compared whit another unlock iPhone 3GS softwares therefore you can use this unofficial software on your iPhone 3GS without jailbraking your Apple device . This unlock iPhone software solution works only on iPhone 3GS and iPhone 3G.
Unlock iphone 3.1 3G, 3GS, 3.0.1, 3.0, and 3.1 firmware versions


News: There's a Simple Solution to Getting Older iPhones Running Fast Again How To: Replace an electric cooling fan News: World's Simplest Electric Train How To: Install foot pegs on a Honda Ruckus scooter How To: Make an Arc Welder with a Car Battery & Pocket Change
How to Improve Battery Life and Reduce Overheating Ubuntu 13


While we'll be using Google's own version of Android on the Pixel line of devices for this guide, if you're using a Samsung or LG device, you should be able to largely follow along at the same speed. Let's take a look at how to set your lock screen wallpaper on Android. Selecting Your Wallpaper through Settings
How to Get the iOS 7 Home & Lock Screen on Your Samsung


How to send SMS from Gmail - 2014 Disclaimer: The JRESHOW receives free products to create these videos from companies, start-ups, and distributers all around the world. These videos created are
How to Send SMS from Gmail for Free? - techwithlove.com


Not so long ago, Apple announced the Apple Watch, and we now have a screen saver of the Apple Watch Clock Face for Macs. The said screen saver works just like any other screen saver on your Mac
Minimalist clock screen savers for Mac - idownloadblog.com

Get Unique Face Filters by Following AR Creators on Instagram


Best Paid Android Apps. numerous visual and setting customizations make Poweramp a heck of a choice if you're willing to shell out for a nice Android music player app. news, music, or talk
10 Best Paid Android Apps | NDTV Gadgets360.com


Call Tones are Boost Mobile's name for ringback tones. Call Tones allow Boost Mobile users to personalize the sound that callers hear. When Call Tones are activated, the caller hears a song instead of the usual ringing sound. As of March 2011, there is a one-time $4.99 charge to activate Call Tones, and Call Tones are priced individually.
Boost Mobile Music Store - Apps on Google Play


Customizing Your Control Center. It's incredibly easy to add shortcut tiles (or quick setting tiles, to steal from Android) into your iPhone's Control Center. Simply head over to the Settings page, choose "Control Center," then "Customize Controls." From there, you can freely choose which tiles you'd like to add in, then just exit once you're done.
Get Fast & Customizable Access to Apps & System Settings from


Xbox One's version of Internet Explorer can be accessed using the left analog stick to control a pointer and the right stick to control scrolling. To get to the address bar, press the View button
Internet Explorer app | Xbox 360

0 comments:

Post a Comment