https://github.com/adafruit/Adalight
(New visitors: if you're just joining us, this is Adalight: http://ladyada.net/make/adalight/ )
So what's new?
- Support for multiple monitors. There have been occasional tweaks and suggestions posted to the forums on achieving this. Here's the official implementation. Handles any number of displays, and each can be a different size/layout if needed.
- Performance improvements. The exact speedup you'll see depends on many factors, but a few systems we've tested show anywhere from 10 to 30 percent better frame rates.
- More nuanced lighting control. LEDs "fade" from frame to frame, rather than an immediate, seizure-inducing flash. Also, a minimum background brightness can be set. Both are configurable, or can be switched off to run like the old code.
- Auto timeout on LEDs. If the Arduino doesn't receive any data from the PC in 15 seconds (configurable), the LEDs will be switched off. This avoids that annoying "stuck pixel" effect when quitting the Adalight sketch in certain situations.
- Automatic port detection. Adalight can scan through all serial ports until it identifies an Arduino running the LEDstream code. Update: due to a conflict between Processing 1.5.1 and the 32u4 board, this doesn't work in all settings, so it's no longer the default mode. If you're using a "classic" Arduino and/or Processing 2.0 alpha, this should work fine, you'll just need to enable that code (very easy, see comments in source).
- 100% gluten-free, and no trans-fats! No animals were harmed in the making of this software. Any time the cat wanted food or to go outside, I'd stop working and take care of it.
Load the "LEDstream" sketch in the Arduino IDE, compile and upload to your board. Then load the "Adalight" sketch in Processing and give it a try...and remember, you can always use the "Export Application" feature in Processing to create a standalone double-clickable program; no need to launch the Processing IDE every time you want to run Adalight.
The old LEDstream and Adalight are both cross-compatible with the newer versions, so reprogramming the Arduino isn't absolutely 100% essential if you can't get to it...they both still speak the same protocol. This is mostly for the LED timeout and auto-detection in the new code.