Controllable LEDs Spice Up The Living Room

[youtube=http://www.youtube.com/watch?v=YyjDcAzNJQ0]

[Sprite_tm] brings us another great hack by lighting up the living room. Unsatisfied with just replacing incandescent bulbs with an LED alternative he went with strips of LEDs to illuminate the length of a wall. Starting with a seven-meter strip of the lights, he cut it down to fourteen pieces in order to make the RGB devices individually controllable. [Sprite_tm] whipped up a design for controller boards using RS-485 to communicate with each, and sourcing an ATtiny2313 for the PWM necessary to generate any color. As you can see in the video above, the finished project is brilliant. Oh, and the Lounge Music as a background is nice too.

28 thoughts on “Controllable LEDs Spice Up The Living Room

  1. Now this would be even better if he could somehow link it up with the tv. Imagine the whole room glowing the same colour as the picture on the tv, WOW!

    I’m sure using a philips ambilight tv and hacking into the already in place control would be neat!

  2. Headbonk: It’s not that bad. Yeah, for the little movie I tried pushing as much flashy effects into the thing as possible, but normally I have a static gradient or a really really slow hue effect on, which imo is lots more classy. The LEDs can even do a fairly good impression of ‘warm white’ for when you aren’t into colors at all.

  3. That is awesome, I thought my RGB LED PC fan was cool, this is amazing. I have a bunch of RGB LED’s left over, maybe I’ll build something similar.

    I wonder what the code is behind the color fading effect, I wanted to do something similar for my fan (I took a PC fan and swapped the blue LED’s for RGB’s), wanted to do sort of a “color wheel” rotating the colors around it.

  4. How many of these LED hacks can hack-a-day seriously put out? They are simple and not very interesting to read about. (but at least its not the perpetual motion machine in that other post, Blah!)

  5. MIDI linked power strips are nothing new and are a wonderful way to do this. 1996 Rave in Orlando “Allied Forces” I did the same thing. If you want the tv to change the color of lights I would suggest letting a certain color represent a tonal range (middle C=light blue) and let .wav to MIDI software handle the conversion on the fly from the tv audio output to MIDI output that goes to the power strip and the lights. yeah, I like MIDI and Im old.

  6. Just as I’m working on something very similar myself. Found it was cheaper and much easier to use actual I2C LED drivers than even the tiniest micro. $5 in singles for 16 current-limited PWM channels controlled over ubiquitous I2C is hard to argue with.

  7. @Nick:

    I will be using TLC59116, though also looked at the PC96xx parts SeBsZ mentions and they looked good as well, but IIRC the TLC supports both higher drive voltage and higher max current, and was cheaper.

  8. I soooo would love to do this with my computer monitor (the Ambilight thing). I know that there are commercial units that interface between the video card output and the dvi cable coming from the monitor, but a hacked-together version would be more badass (IMO)

  9. Well, if you can do with a few channels, there’s a much easier way. ;)

    Just use an atmega48 or something (anything with enough channels PWM) and then use some of the MR16 LED driver modules from dealextreme (sku 13553) and run some power leds for decent brightness.

    The ones I got are all a chip with a dimming pin (not connected)

    They’ll power a few in series, depending on your supply voltage. couple that with a hacked USB -> rs232 and you’ve got a very simple, relatively cheap RGBW light.

    I’m building one in the next while. I built one before using my own driver PCB, but the inductors on it squeal, and I’ve since managed to kill the microcontroller (static?)

    I had it take RGBW values in ascii hex, so I could echo them to my serial port, or stream it values through software.

    I can get serial at pretty high speeds off of those adaptors, so it would be fairly easy to sync the light from an external source. (RGB light sensor board?)

  10. I dunno, the I2C stuff is pretty easy to use and means a lot less parts and wiring to integrate (and a lot less cost). My plan is to use an Atmel ARM7 chip for USB, as a CDC device implementing the LTBL protocol used by boblight. Should be a pretty straightforward implementation, parse the simple protocol and then fire the data out on the I2C bus. Should be a useful little board as a cheap USB->I2C device too (though i2c-tiny-usb already does this).

    My plan and goal *is* to do an ambilight clone, but I’m also kinda hoping it’ll be flexible enough to solve many computer+LED problems. Lots of ways already to do the ambilight stuff though, there are a few implementations out there already to look at. I’m pretty sure there’s one at the boblight guy’s blog somewhere, and when I was researching this project I found a couple others as well. Plain RS-232 at 57600 seems fast enough for convincing ambilight, and I’ve already got this working pretty easily with an AVR (though with the bitch-to-use TLC5940), not a hard project at all if you’re using an I2C chip, probably well under 200 lines of code.

  11. @error404: I’ll definitely have to keep that in mind if I need to do something with more than 4 channels. For the serial communication, I just used a $2 USB->RS232 adaptor with the max232 chip ripped off and some proper decoupling added, and I’m running it at 460800 right now, no problems on a Dallas 1 wire -> Serial bridge I made. I think the chip is actually good to about 6Mbit even.

    I bought a bunch of them. $3 total is pretty good to add usb support to any hack microcontroller project, even if I am stuck with treating it as a really fast serial port.

    I should really get around to putting up some instructions for anyone else who’s interested.

  12. @Nick:

    Which adapter did you use? I bought a couple from DX planning to use them like this and while I was able to figure out what I needed to pull off to use it this way, it’s really hard to air wire onto the TSSOP chips directly and there were no usable vias. It’d be nice to have a lead on an easier to modify design.

    Also another thought: If you built a usb-tiny-i2c and just hooked it directly to one of the I2C chips you could do basic control just with i2c-tools and bash. A bit more work with libi2c or writing a kernel driver and you could do it with virtually no hardware or firmware development at all. Though usb-tiny-i2c is pretty slow it’s probably fast enough.

  13. @error404:
    I used their SKU 24512

    I remove the serial adaptor chip, and then clean up the solder to make sure none of the pads are shorted.
    Add some decoupling caps to the unpopulated pads. it won’t work reliably without them (Trust me) 2 caps, 1 for the 3.3v, one for the 5v. I used .47uF because I had them handy.

    the TX is pin 1, so it’s easy to air-wire, and the RX is available at the top of the 5th unpopulated SMT connection from the left in the row of 12 in the little white boxes at the bottom edge(viewed with the USB at the right).

    To give me something solid to anchor to, I removed the 9 pin connector, and cut the traces to isolate 4 of the pads. then I can solder my wires to there, so I’m not accidentally ripping pads or pins off when I connect the module to other stuff.

    I steal 5V for the microcontroller from the USB pins as well.

    The chip is rated for 6Mbps, but since I’m clocking the micro from an 18.432MHz crystal, I stuck to a semi-standard 460800bps. (~0% error)

    I don’t think the crystal is really necessary. I thought it might be the cause of my communication hangs, but it turned out to be the lack of decoupling.

    If you can’t figure it out from what I wrote, I plan on doing a write-up with some pics anyways. It’ll make it super-clear.

  14. Yeah, probably pretty much the same. I know I ran into another sku that was identical, but had more of the control signals properly populated (I think it was green too). I didn’t really care, since I wasn’t planning to use the RS232 junk anyways. Anyhow, It’s probably the same chip.

    BTW, I think there might be a bug in the linux kernel driver(either that or the hardware).
    It seems to hang after about 20 chars if you open /dev/ttyUSB0 while data is coming in. Once it’s up and running it’s fine, but it seems I need to start it on a silent line.

Leave a Reply to Sprite_tmCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.