With Amblone as a starting point [Christian] modified the code to work with the Arduino Duemilanove which has fewer PWM channels than its bigger brother, the Arduino Mega. No word on where he acquired the RGB LED strips that provide the illumination, but the driver boards are just protoboard with groups of resistors and transistors to switch the diodes on and off. Check out the video after the break to see effects he achieves with this setup.

Post navigation

19 thoughts on “More ambient lighting monitor hacks”

I just had an idea for a purely analog version of this. Tap into a VGA cable, run each color channel through an integrating op-amp, and use the output of the op-amps to drive the LEDs. Sure, it doesn’t have the flexibility or configurability of a microcontroller-based device, but it’d cost about $1 worth of parts and wouldn’t require driver downloads, extra software, or any CPU usage.

Amblone works nice in Windows 7 but without AERO running. Learned that after troubleshooting forever. The problem is that it only works with things being processed at the CPU level. Blu-Ray is a no go or else I would still have my amblone system setup.

hey, this stuff is old as hell. They searchword is magic “Atmowin”.
e.g. http://www.ledstyles.de/ftopic11465.html
I build a diffferent 64 channel light, used 4 tlc5941 and rgb multiplexing. Not completely finished yet, an never-ending project.

Go Milkdrop! You can get that visualization really easily if you download mediamonkey or winamp. The one in the post picture is one of my favorite ones (A Million Miles from Earth is what it’s called if I remember right) Makes the ambient lighting look that much cooler.

@Bernhard Thats very impressive! I see you use addressing which is an obvious choice for this kind of build. Now thats really something to work towards! I just love RGB light projects :D out of curiosity how much for those parts? and where did you find them?

@pigeon: its not my build, mine never completely worked, it is still undocumented.
I used 4 TLCs, in a SPI chain (strangely, the last one always gets hot). I used common cathode rgb superflux leds. The cathodes of 16 go to the TLC current sinks. All R G and B Anodes are sourced by single p?-channel mosfets, for the multiplexing.
I set the tlcs to the desired pwm states for “red”, turn on the red mosfet, and do one pwm cycle via bit-banging 2^10 clocks (The TLCs need external clock for the pwm). I disable red, set intended green pwms, and enable the green mosfet, …
Problem: Data transfer is via USB-TTL 115kbaud, basically all the time, 64x3Bytes take a while to send. Then, there is a lot of currents and noise. So i get errors. And the serial sometimes looses bytes resulting in shift. Error correction decreases the transfer rate, and decrease the refresh rates (I partially reprogrammed Atmowin therefore).
Also, processing of serial input disturbs the TLC clock bit banging, and causes flicker.

I’m still waiting for my DX RGB strip order to ship, it’s been a month. My original Philips Ambilight system is barely holding together.. both main wallwashers are basically dead, although the satellites work still.

I’m glad people are still working on these systems, they really set a cool mood around your PC. (not to mention games)

I like Mohonri’s idea of monitoring the VGA pins. It would be cool to adapt this to TV by monitoring the composite or component video output of a TV, although I don’t know anything about those standards.

Well about the VGA adapter idea, i guess the best way to go would be to try to get the vertical scan signal, and find the time it takes to do the whole screen, then chop that in half and make a colour median or something of the sort. Ill research and post when I have the time. :D

For the analog version, you’d just have to make sure that the time constant on the integrating amplifier is large enough to average at least an entire refresh cycle. So let’s take a 60Hz monitor, and make the time constant 33mS. The voltages on the VGA lines are 0-0.7V, but even with the porch and blanking interval, you’d just have to set the gain accordingly.