Introduction: Building Your Own Ambient Color Lighting Bars
Note that the flickering of the leds is not as noticable in real life as it is in the video. This is due to the PWM of the lights being off from the camera rate.
This is fairly easy to build as long as you have patience. Although there is a lot of soldering, it's easy to do on the strip board. I recommend having some programming experience if you build this.
You will need:
A controller - I used an LED-Wiz. I plan on switching to an arduino later, but this got me up and running quickly and easily. This controller is capable of driving 32 channels at 500ma, since each led requires 3 channels at 20ma (Red, Green and Blue) this gives me support for 10 light bars with 25 led's each (500ma / 20ma = 25 led's).
RGB Leds - I bought a pack of 200 off ebay for about $65. They are poor quality and there's some variance in the color between them but they were cheap and do the job just fine. I chose to go with 10 bars of 19 leds to give me a few spare led's in my pack. The ebay auction I bought had the title "200X Diffused 5mm Common A Manual Control RGB LED 8Kmcd"
Stripboard - I found stripboard at my local electronics supply store for $6.
Some other people have found it online here:
Resistors - See Below
Wire - I used ribbon cable from my local store, it came in a 20 wire width which i tore into strips of 4 wires.This is the same type of cable used in floppy drive and ata33 cables.
Mounting hardware - I used vinyl siding from Home Depot, see step #5
Power Supply - You may be able to use your computer, see step #6
Software - See step 7. A computer is REQUIRED and the ambilight effects will only work with video being played from the computer. Unless you are using a video capture card to watch TV, it is not possible to have the effects from another source.
Calculating the resistor sizes:
The easiest way to figure it out is to use the online calculator here. My led's were listed as being 20ma forward current with green and blue at 3.6v - 3.8v and red at 2.0v - 2.4v.
Open the calculator and click on "Parallel leds" at the top. Entering 5 for supply voltage, 3.6 for voltage drop, 20ma for current and 19 led's gave me a value of 1 watt 3.9 ohm. Notice that the red led is different so it requires a different resistor.
The store I was at did not have nearly enough 1 watt resistors so I decided to just go for 500mW ones instead. The calculator says the resistor dissipates 503mW in my situation so I should be safe and thus far they have been reliable. I do not necessarily recommend this approach.
If you have questions about the build, please post them as comments instead of messaging me. I've received many questions that are similar and if they are posted in the comments it allows others to learn from them as well.
Step 1: Cutting the Stripboard
To start off, I picked up a large piece of stripboard from my local electronics store. I cut this into pieces measuring (in holes) 4x57 as shown in the picture.
I cut it to this size without considering that I'd want to mount the resistor fully on the board, so you may want to make it a little larger like 4x62. If you mount the resistor fully on the board make sure to cut the copper trace beneath the resistor.
I drew lines along it with a sharpie, cut it most of the way through with a dremel, then it snapped fairly cleanly. A quick run with the dremel's sanding bit and they were ready.
Step 2: Insert the LED's
Inserting the LED's is pretty straightforward. I recommend drawing a line on the board the denote which contact is for the anode. The anode on my led's was the longest leg so a black line from a sharpie made it easy to make sure they went in the right away.
The spacing between the holes in the stripboard does not match the spacing on the led's so they could not be flush with the board. I pushed them in pretty firmly and they stayed in place fairly easily.
Step 3: Soldering the LED's Into the Board
The easiest way to solder them is:
1) Go through with a pair of cutters and trim one leg off each
2) Solder this leg to secure the led to the board
3) Cut the remaining legs and solder them
The solder does not want to adhere to the stripboard in between the copper so it's actually fairly difficult to do this wrong. Be patient and try to avoid leaving the soldering iron in one spot for too long or you may damage the LEDs / board.
Step 4: Soldering the Resistors to the Wire and Then to the Stripboard
I found it was easier to solder the wire to the resistor, then solder the resistors in.
Strip the ribbon cable, leaving one of the wires with more shielding for your common anode, since this will run directly into the board instead of through a resistor. Solder the resistors in the correct order and cover with tape or heatshrink. It does not matter which way the resistors go.
Next solder the entire set to the stripboard. I did the anode first, followed by the resistors. The resistors are easier to do if you bend them at an angle first before putting in, then you can fold the leg down onto the stripboard and just solder it in.
Congratulations, you just finished one! I'd recommend testing each one immediately to make sure you haven't soldered any LED's in backwards ;)
Step 5: Mounting
To mount the bars, I took one to home depot and found a piece of vinyl siding shaped like a U_ that it would fit into. I cut it into strips longer then the board, then cut off the extra mounting piece leaving just the U shape. I lay a strip of scotch mounting tape/foam down inside it and pressed the board in, then tucked the cable in between the plastic.
At this point I also ran some white electrical tape around the entire contraption so that the ends are not open. It's not the ideal solution but it works for now. If you are really determined, you could probably cut pieces of siding to fit into the ends as caps.
To mount the entire things on my wall I used the mounting tape again. Just two little small squares on either end were sufficient.
Step 6: Wiring Up the Controller
Common anode goes to the 5v in and the cathodes go to the different ports. I stuck it all in a box and cut a hole in the side.
I'm running the power for my controller off the power supply for my media pc. The power supply is rated for 20A on the 5V line, but this system requires around 12A. The controller is not capable of powering off usb unless you are doing under 500ma total and this is way beyond that.
191 led's * 3 colors * 20ma = 11460ma. 11460 = 11.45A, plus a bit for the controller.
I initially powered this off my 550w power supply in my pc but with this on my 5v line drops to 4.85v from it's normal 4.98v and my usb devices start to act very sketchy. I grabbed a spare 400 watt very cheap no-name power supply which I had sitting around and it died after running this for 15 minutes. I recommend a decent brand which is separate from your computer.
If you want to use an external power supply, you can connect the green wire in the motherboard connector to a ground (any black) to power it on without a pc. You can find more details here or on google.
Step 7: Software
The LED-Wiz controller comes with some decent software for doing animations and testing:
I've found a open source program called BobLight which was designed to do Ambilight effects using a custom controller. I've taken BobLight and modified to work with the LEDWiz under the name ShadLight.
In addition to this, I've also added support for sending it a new "command string" via UDP. This is to allow for a php interface on a different machine to set the colors. I run this program on my media PC at all times and use the web interface (on my fileserver) via my blackberry to remote control it.
ShadLight was my first attempt at C# programming and the php interface was hacked together pretty messily. I do not recommend leaving either of these exposed to the internet, definitely put an .htaccess on the php.
Download everything here
Command setting - This is a comma seperated list of settings for each port. 48 is maximum brightness. LR,LG,LB are the red, green and blue ports for the left side of the ambilight and RR,RG,RB are the right side. See the PBA command in the led-wiz developer documentation for more information. This allows you to set your room to be one color, disable a few lights and still have ambilight working on specific light bars.
PHP Configuration - All you need to change is the hostname at the top of the file. PHP must be compiled with sockets support for it to send UDP packets.
Making your media client work:
Windows Media Player (WMP) Classic (with Boblight): Start WMP Classic, go to view and select options. In the options menu go to playback and select output. In the output screen select under DirectShow Video VMR9 (renderless)**! Now restart WMP Classic and open a video (either DVD, avi, divx or something else). The Momolight system should now work with WMP Classic using the Boblight software!
Windows Media Player (WMP): The only way to get Momolight working with standard WMP is by turning of overlay (for example by turning of Hardware Acceleration with your video device). This also only works together with the Boblight software.
VLAN player (with Boblight): Setting the video output in the video options menu to OpenGL will enable AmbX lighting effects with playback of videoâ€™s (DVD, divx, etc) with the VLAN player.