Hacked LED Christmas Lights

[Robert] wanted more out of his GE Color Effects G-35 LED Christmas lights. He reverse engineered and then hacked the protocol the lights use to communicate so that he can control each bulb. A 26-bit frame contains a 6-bit address, an 8-bit brightness value, and a 12-bit color value. The daisy chain topology of the data bus allows for modular bulbs with addresses enumerated during the startup of the string of lights. With this information, a 5 volt capable microcontroller is able to control a whole string of these lights with a refresh rate of up to 24Hz. In this case, [Robert] used an ATtiny13A microcontroller to control the string of lights. You can see a video of them in action after the break.

Also taken apart and analyzed, were the wireless transmitter and receiver that came with the lights, revealing a cheap ISM band receiver and transmitter module pair. Perhaps they will be useful for another project. We look forward to seeing people put these hacked lights to use throughout the year.

[via Make]

Comments

  1. alan says:

    That’s pretty neat. I wonder if you can just keep adding strands of these together without having to adjust the 5v chip circuit.

  2. CGross says:

    Would this be a decent project to do when starting to learn the Arduino? I’m not very good with programming it yet and this looks to be along the lines of what I’d want to accomplish with it right now.

    I don’t know how to address each bulb is the only problem. :/

  3. HackerK says:

    Awesome… I will go see if I can find one and use PIC as the controller… ;)

  4. ewan says:

    how much do these actualy cost?

    i’m hoping one day to find strings of adressable led lights cheap enough to make a led pixel wall.

  5. HackerK says:

    Gosh, they are a bit hard to find in Canada (and not cheap)… So far I can locate the 36 LED version for C$67 after discount.

    But I still thinks it is cool!

  6. Gdogg says:

    Pretty sweet. I’m enjoying myself just reading the thread on how they figure this out.

    http://doityourselfchristmas.com/forums/showthread.php?t=13062

  7. fartface says:

    Massively cheaper than the monster sized ones from sparkfun.

  8. blkhawk says:

    Anybody know of a similar single-addressable RGB Light-chain available in Europe? Google failed me so far and ordering from the US always takes Ages.

  9. Andy says:

    Darc’s effort occurred in parallel with some people over on DIYC (linked above). None of the people involved were aware of each other except the two on DIYC prior to Darc’s post. I think a while bunch of people attacked these strands at the same time. They were a juicy target.

    CPN (cost per node) is reasonably decent, the only better CPN I’ve seen for strands (as opposed to “centralized dimming” approaches using a PCA9635 or similar central dimming IC for multiple RGB nodes) is for Asian imports of WS2801-based nodes from Aliexpress. (Difficult and may get seized by customs).

    However these particular strands have some annoying issues, namely the fact that adjusting the brightness more than one step at a time causes them to glitch. :(

    So it’s good availability with OK cost for individually addressable RGB strands ($60/50 nodes at Costco, $78/50 nodes at Lowes, sold out in many places already), but with some technical limitations.

  10. jcprojects says:

    @CGross – check out the guys article, it explains addressing each bulb pretty well. If I did it, I’d use a Basic Stamp II that I have laying around, but I suppose any microcontroller would work well… Crap, a PLC would even work, never see those used on Hackaday.

    Maybe someone knows, but after reading Darc’s article, do you have to write your own custom protocol or is there a way to use a serial signal? I’d rather not reinvent the wheel.

  11. CGross says:

    @jcprojects I’m way too new to this to really understand what I was reading fully. I knew what it was referring to, but as for programming I got NO idea.

  12. mungewell says:

    What would be awesome is to put these into a gridded box with frosted plastic on the front.

    A large, low res display screen… blinken lights style.

  13. Tumbleweed says:

    A quick web search finds these (normally $99) lights at “The Great Hardware Store” for only $55.

    http://www.thegreathardwarestore.com/Santa-s-Best-Craft-36CT-LED-G35-LargeT-Set-p/128059.htm?click=2744

  14. Tim says:

    Nice work!

    Their implementation sounds extremely similar to the open-source RGB LED platform (Das Blinkenlichten – http://tim.cexx.org/?p=453 ) I released a few years ago, right down to the self-clocking one-wire protocol, start/end conditions, address grouping, etc. Blinkenlichten is GPL’ed and <$1USD/node from readily available parts, but of course, that doesn't count your time to assemble it.

    Looks like they went for a 24- vs. a 16-bit frame, and higher color resolution ;-) (I limited my project to a more modest 729 colors to make it fast/simple enough to implement on a 34-cent PIC10 without glitches, but it is pretty smooth in practice.) Any idea what chip/core they are using in each LED node?

  15. HackerK says:

    @Tumbleweed
    That’s only 36 bulbs… we want 50! :)

    Still can’t find it in Canada.. :(

  16. M4CGYV3R says:

    “If you plan to control the string using a … 3.3-volt microcontroller), be aware of the voltage difference. I haven’t tried driving the data line at 3.3 volts, but I wouldn’t be surprised if it had some problems, especially with the last few lights in the string.”

    Since each ‘bulb’ has a micro in it, taking the data line in as digital and repeating the signal on its output, each bulb would essentially act as a data repeater.

    I would guess they draw the power from the +5V line somehow to retransmit the output, so it would only be 3.3V until the first bulb.

    Theoretically, you could splice several of these strings together. If you’re making your own controller, there’s no reason you can’t address up to 64 lights per string.

  17. localroger says:

    He says the bulbs only honor addresses up to 42.

    As for 3v3, if that’s a problem (which it probably isn’t) just invert the drive signal and use a NPN transistor with pullup resistor to drive the string.

    This is an awesome find for animated displays of a certain type. I’m about to go shopping.

  18. trebu says:

    I’m hoping my local big box store has a pre holiday surplus and massive post holiday discounts. I’m thinking LED wall and Kinect in color.

  19. Andy says:

    Trebu – from the sounds of it, these strands are already sold out at Costco, and at my local Lowes (More expensive – $78 instead of $60 for a 50-count strand) the 50-count globes are gone too. I bought one set but had to return it due to a defect.

    My guess is the 36-count icicle strands will be gone before Lowes discounts them. (The 36-count icicles are the same price as the 50-count G-35s – $78)

    Caleb Craft – The bliptronics strips do indeed have a lower CPN and more flexibility, however it’s basically bare emitters on a strip. These include faceted covers to make them appear like Chrstmas lights.

    I’ve seen individually addressable RGB strands from aliexpress for as low as 50-60 cents/node plus shipping, however that is for unknown quality and the shipping can get nasty.

    jcprojects – The timing of these is such that you would not be able to use a serial port directly. You could, however, feed serial data into a microcontroller which can drive this custom protocol.

    Do note that if you read through the threads, these strands appear to have a pretty nasty limitation – they glitch if you try to change brightness in more than single increment/decrement amounts. This’ll kill your refresh rate if you want to independently fade nodes.

  20. strider_mt2k says:

    I loves me some Holiday light hacks.

  21. st2000 says:

    Can someone describe the “glitch”?

    I can’t imagine it being so bad that you can’t generate a given random setting for all 50 lights within one or two seconds, if not less.

    Regardless, migrating toward a given setting might be a nice effect.

    -thanks

  22. lampshades says:

    This looks like a great project for me and my son. I wonder if you can source the parts in the UK

  23. Life2Death says:

    Menards has these on sale increaseing in amount twards xmas. Got them for $34 (36 bulbs) wont have time to hack them this year, but will put them up for sure!

  24. flynfish says:

    Can these light be made to operate with DMS signals from a lighting console?

    • voodoo says:

      I assume you mean DMX, in which case the answer is yes, but you’ll need something in-line to do the conversion. I have had DMX working on PIC 16F628, but any device with a 9 bit compatible USART should work. There is some example code online that works with MikroElektronika’s MikroC compiler, which I used to put my DMX project together.

  25. Matt says:

    Oh boy, I can’t even spell… Sorry all… Attention those who approve these posts, please delete the previous post. I don’t want to publicly what an idiot I am. I will repost next with proper spelling… Thanks

    Matt

  26. Matt says:

    Hello, I am not a programmer or a real tech savvy type. I do have 6 strands of these GE lights and I’d like to know if there is a dummy guide how to repogram these. Or if someone would be willing to put something together that I could just plug/splice/etc into my lights. Any ideas?

    Thanks for any help.

    Matt

  27. JoeBanks says:

    CostCo has them, occasionally, for around $50. My local store has sold out, but others still have them in stock.

  28. st2000 says:
  29. Amy G says:

    We have three sets of GE Color Effects LED Christmas lights that have been spliced together. They work fine until you unplug them from the power source and the plug them back in. After that, one section won’t light up. In other to make it work again we have to unsplice then resplice them to get the back working. We are using 16-14 gauge insulated disconnect pairs to ‘splice’ them. Any suggestions would be great.
    Thanks, Amy

  30. st2000 says:

    (I’m thinking not many people follow these old threads as this one is from an article HAD published a year ago. It might be better to start a new thread in the HAD forums under something like “help me hardware”.)

    Regardless, when you say “splice” are you actually connecting the power and data lines from one string to the next? I’m not sure that will work. People have said these bulbs come up (power up) w/no addresses. And that the first thing the controller does is to enumerate the bulbs. If the controller thinks there are only 50 bulbs then why would it send out more than 50 enumeration commands?

    These comments are based on this article:

    http://www.deepdarc.com/2010/11/27/hacking-christmas-lights/

    -good luck

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,576 other followers