I'm rather tempted to throw together a simpler version of the Duck Light just so I can try it out in actual theatrical situations. And so I can start working out the software infrastructure. I've run a 2W "Cree" with nothing but ballast resistors and power Darlingtons to PWM it.
I've been reading a whole bunch of spec sheets, and it appears that Texas Instruments has a couple of boost drivers that will take PWM. One thing that is a little unclear is if they will actually PWM through the full range of brightness.
But that's far from the only questions. There's some serious engineering still to go. Thermal issues, noise issues. I don't know, for instance, if you can pack three or four boost converters in a small space, and PWM all of them, and not create electronic, RF, or even acoustic hash.
Oh, and they are of course SMD components. Which is a whole other subject to learn (besides the fact that I actually need to have a PCB made for this; strip board and SMD's do not get along).
I have to keep wondering if I am parameterizing this correctly. Obviously I can't fill the entire wishlist. There will have to be design compromises. But I may be letting myself be constrained by choices I shouldn't be making.
Here's the basic outline;
"A tiny battery-powered LED capable of color selection and animation via direct input or remote control, for use in theatrical props and special lighting effect situations."
This seems to imply the following;
1) 3-5W RGBA. The complexity of the power and thermal management get much, much higher when you get above around 400ma per channel. And the cost of the LEDs also roughly doubles. At this wattage, the LED is as low as $14 at Digikey. It is, however, on the low side of what I think will be effective on stage.
The "A" is a similar trade-off. You don't have to use a four-die LED, but for a lot of theatrical applications having a dedicated amber channel will really improve the effect.
2) Custom PCB. I want it compact, and as cheap as possible, so it doesn't make sense to use Arduino compatibles, shields, adaptor boards and/or breakouts, and all-in-one LED drivers (like the BuckPuck). A PCB brings everything together in the smallest and most economical form-factor.
3) AA batteries. Basically, I'm assuming these are theatrical effects, not static displays. Meaning they are only operated for minutes at a time, the length of an Act at most. Theaters with wireless mics already have an established routine for swapping out AA batteries (rechargeable, or bought in bulk). And their power density is much better than coin cells or 9V "transistor batteries."
Sure, Lithium polymer have even higher density, and smaller sizes (as well as higher voltages), but I think the tradeoff in being able to send it out on stage with known fresh batteries far outweighs the simplicity of onboard recharge.
And that restricts me practically to wanting 3 to 4.5 volts base (and, actually, lower, because of voltage drop over use, and of course rechargeables are lower voltage to begin with).
4) XBee socket. It just seems the simplest way to integrate remote control; the XBee is demonstrated as getting a clean signal at stage distance, and the serial communications are really easy to work with. I've used XBee-and-Processing systems on stage, in actual productions, so I'm willing to put up with the size and cost of the modules.
And using a third-party breakout just multiplies the cost and size. However, I won't rule out having my own add-on board or a breakaway tab.
5) ATtiny or through-hole ATmega with ICSP programming header. The reason here; I just don't have the time right now to learn the USB stack, so as to be able to program via a native USB port.
I also think there's a natural division; assuming I can get this into kit form, most end-users are going to operate through the presets and the Processing ap I mean to write. Those users who want to write custom software into the light, are the kind of users who have an FTDI cable or similar lying around.
I could be totally wrong, though. Which brings up a real question; does it make more sense to do the entire thing as a shield, designed for compatibility with a Micro, Teensy, or Trinket? It is a question of whether adding the cost and footprint of a daughterboard for the CPU is worth having some-one else's well-tested USB bootloaders.
The ultimate trade-off is still; can I make something small enough and cheap enough and easy enough to use? Because you can always wire a Cree straight to a set of batteries with a ballast resistor and a simple switch. All of this added cost and complexity in setting up is just to achieve custom color mixing, the ability to animate, and the ability to add remote control.
Argh. I just discovered buck and boost converters require a minimum voltage difference between supply and output -- 2.5V in several of the ones I was looking at. The forward voltage on RGBs of the single-die kind ranges around 3v. That's pretty inconvenient for wanting a power supply in the 3V range! Maybe my test board should just be tip120's and 2-watt resistors after all...