The Solution: RGB LED strips! Bright, weatherproof, and easily hidden.
Step 1: System Overview and Bill of Materials
All the files are at http://github.com/rmd6502/hall_lights_connectport
Each light has a power supply, XBee, Arduino, XBee Shield, 6- and 8-pin stackable headers for the shield, three or 6 MOSFETs, and 6 or 10 pins worth of screw terminals as 2+4 or 2+8, in addition to the light strip itself. The gates of the MOSFETs are connected to three of the PWM outputs (yes, you can control two lights with a single Arduino, that's in the works). A simple serial protocol lets you set and query the color of the light(s).
For the central control and web server I used a ConnectPort X2. This is a relatively cheap box that has a builtin XBee and ethernet port, and is programmable in Python. The Connectport acts as an XBee coordinator, and automatically catalogs the XBees it finds for the script to present to you in a web page. You'll also want an XBee Explorer so you can program the XBees.
If a web browser is inconvenient at the time, there's also an iPhone app that will control the lights with a nice color picker interface.
You'll need a 10KΩ pulldown resistor for the gate of each MOSFET. This ensures the MOSFETs turn all the way off, and also eliminates flicker between the time the power comes on and the Arduino starts up.
If you go for the custom board you'll also need a fuse, voltage regulator, XBee socket, and assorted bypass capacitors. Since the MOSFETs have pretty low RDS(ON) even at 3.3v, I chose to make the whole system use 3.3v so I didn't need to convert voltage for the XBee.
For convenience, all the non-documentation links go to the appropriate Sparkfun product page. They don't seem to have a 12VDC 6A power supply, I used a surplus one meant for monitors from EBay. You can save some money by shopping DealExtreme, EBay, Digikey/Mouser/Element14, and Radio Shack, but you'll have to wait longer and submit multiple orders.
So the final bill of materials:
- 1 RGB light strip of your choice
- 1 Power supply rated for the full output of the light strip + the Arduino
- 1 Arduino or clone
- 3 or 6 MOSFETs
- 3 or 6 10kΩ resistors
- 1 XBee S2 (not S1; it won't talk to the connectport) - I think the S2B works without needing a firmware update, which needs a Windows machine.
- 1 XBee shield
- 1 XBee Explorer
- 1 Digi Connectport X2
- 2 6-pin stackable arduino headers
- 2 8-pin stackable arduino headers
- 6 or 10 pins worth of screw terminals