Some people hang colorful Christmas lights outside their house and others hang flashing ones on the Christmas tree, but you probably haven’t seen Christmas lights as cool as these on an office wall. Then again, very few Christmas lights are powered by the .NET Micro Framework.
According to Andrej Kyselica’s forum post, who happens to be a Microsoft employee, he wrote a driver for the FEZ .NET Micro Framework embedded controller to individually-control a set of hackable GE-35 LED Christmas lights. Yes, homebrew has made its way into holiday decorations.
With his new-found powers over a string of lightbulbs, he had the bright idea to use them to display presence information for his instant messenger contacts, on Microsoft Lync (Unified Communications) of course, which according to Andrej has a great SDK.
The end result is decoratively festive yet arguably functional. Check out the set up and an overview of the project in the video below.
I always wonder how they control ‘large’ arrays of LED’s like that. Say that there’s 25 lights on that string: your microcontroller has, what, 5 digital i/o pins? How do you hook that up and specifiy that you just want, say, LED #12 to burn?
You can do that with an electronic decoder. It takes a binary number as an input and activates the corresponding output. So with 5 pins, you could control 2^5 = 32 lights.
http://en.wikipedia.org/wiki/Decoder
FEZ Panda (the card used here) has 60 I/O (see here : http://www.tinyclr.com/compare/) so it becomes easy to control 25 lights (I guess there must be 2 I/O per light…)
Hi Winny.. these lights use a serial protocol. Each message has a bulb address, brightness and color so they’re all controlled by a single pin. But you’re right, Panda has a TON of I/Os so you could do this with a more parallel interface but the wiring would be messy. 🙂
If you were building a display a serial protocol like this would run out of bandwidth pretty quickly, but seems pretty solid for a small number of bulbs.
So Andrej, how did you figure out the protocol used? I doubt a bunch of consumer holiday lights came with a data sheet. Or do they?
I’ve always wanted to get into electronics at some point for stuff like this. I’m just still too software-minded to grasp all this hardware stuff.
@fred: I believe he used my blog post as the datasheet. 🙂 http://www.deepdarc.com/2010/11/27/hacking-christmas-lights/
@Fred Darco’s right.. he did the heavy lifting of reverse-engineering the wire protocol of these lights. His post documents that better than I could.
Wow… very nice! I don’t happen to see my name on your board, however!!!
Bill
This guy is a hack (and not the good kind). I’ve run into his smoke and mirror antics before – don’t believe the hype. Notice he never shows the Christmas lights and OCS/Lync in the same shot. Next he’s going to tell you all about some R/C airplane he’s built from scratch…
J/K – nothing but love for Andrej 🙂
-JJW
@jeff — Sour Lies!
@bill — I look recent IM conversations to make the list–we need to talk more often! 😉
@Andrej – you inspired me to totally steal your idea 🙂
Take a look at this:
http://www.microframeworkprojects.com/index.php?title=OCS_/_Lync_Cubicle_Presence_Indicator
Not nearly as cool as yours, but I can get away with it in my office.
Thanks,
Tom
Very cool! You definately have more polish on the project than I did. The display is a nice feature.
i seen something like this before someone synced guitar hero to christmas lights
http://news.cnet.com/8301-17852_3-10414561-71.html
Looks like the video is broken, can you guys fix it?