Oh, did I make that joke already?
Internet is back, BTW. It took eight phone calls, an hour of navigating phone "help" menus, three service calls, and over a week...but they finally figured out the modem was dead. You'd think they could ping it and find out, but apparently that particularly modem typically fails in a way that looks like a bad line from both ends. Funny thing is, not even the service techs...two of them, lugging bags of electronic gear from their van...had tools to see if the line actually connected. Only a DSL modem will actually tell you anything, and because of the secure installation procedure it is non-trivial to swap in a test unit.
Only good side to the affair is it gave me the excuse to yank my old desktop and monitor and all the associated cruft and clean up under my work table. It looks much neater and cleaner now, and I can use my scanner without getting a back injury.
Discovered a puzzling problem with the DuckLight board. I noticed it was much brighter running off the 5v regulated supply of a USB port than it was off the 3xAAA battery pack. I thought this might be an amperage issue but a little more experimentation shows it to be voltage related.
Which is odd. The forward voltage of green LEDs is under 4 volts (3.7 seems typical). The voltage drop of the AMC7135 chip is a mere 0.12 volts. A 3x battery pack should thus be quite sufficient.
Oh, but wait. Calculating with the smaller voltage of nickel-metal hydride (the Sanyo Eneloop rechargeables I use almost exclusively) brings the 3x battery pack to a mere 3.6 volts. Which is far enough into the curve to experience a significant loss of luminosity.
And I had already discovered that on 2xAAA (my designed footprint for the first board) only the red LED lit properly; the green was obviously not getting sufficient voltage.
Well, shucks. The rated output on lithium polymer packs is 3.3 to 3.7 volts -- meaning once again that the most common green LED chemistry won't light at full power. Especially not if I try to run a 3.3 volt bus (to allow direct connection of certain sensors and XBee radios).
So what are the options? Switching to alkaline is not actually a help. Alkalines drop very rapidly in voltage from full charge. In addition, their nominal rating is given in no-load -- unlike NiMH's, which give the nominal voltage rating under design load (due basically to lower internal resistance).
Going significantly over and regulating down to 5 volts would make sense for a more complex project. At a draw of 1 watt or more, though, that's a hefty regulator -- and a lot of heat from wasted wattage. A dual NiMH pack, for instance, regulated to 5 volts, would have to burn off over five WATTS. That's at the peak of what a TO-220 package can handle with a bolt-on external heat sink.
Splitting the difference, a 4x battery pack delivers 4.8 volts nominal -- that's pushing up to 1/4 of the wattage into the regulator, which has to burn it off -- and at full charge can get pretty close to 6 volts. Which fortunately is while out of spec still within the range of what the ATtiny can tolerate! It is also twice the footprint of the board in flat pack and basically annoys me as a form factor even in quad.
(And in case you are wondering, all those Cree flashlights get away with it because "white" LEDs have a lower voltage drop than the common green ones.)
And, bah -- four fully charged eneloops are sufficiently above the voltage spec that the ATtiny shuts down. Which means I would need to include an LDO in order to operate the green LED at full efficiency. Or....regulate just the ATtiny, perhaps at 3.3V for sensor and XBee compatibility...well, according to the literature the AMC7135 really likes to be between 4.5v and 6v. Gets way too hot above that. Like most LDOs, the highest efficiency is when the voltage in is very close to the voltage out.
Well, I still have to finish porting my "blink" code to the new board, and see if there is even possibly enough space left over in program memory to do any of the other tricks I want. One issue from the old Piranha board that the Cree makes a lot more of a problem is the stair-stepping at the low end of the intensity scale. With only 255 steps in my pulse generator, the difference between 1/255 and 2/255 is a little too obvious in LED intensity. So I'm reading up on dithering techniques. (I can't simply increase the PWM bit depth, as I'm running at 8 MHz on internal oscillator and the PWM frequency is already close to critically low).
I also need to do a bake test to make sure the system can handle being ran wide open for a significant interval. I've already noted that 3W is at the low end of theatrical viability. Fortunately, a lot of applications can be served without full RBG -- instead hanging a 3W or even 10W single-color LED on the board and running the current regulators in parallel mode.
Another change that's on the horizon. The old RGBs are slipping in the Chinese suppliers to make room for new cheaper RGBW's. So far no affordable RGBA, but I have my eye on a few affordable RGB-Warm White already. Which is why my board is a four-channel. And why the ATtiny84 -- to give enough extra I/O pins for external sensors/controls. Although I still may end up just going into an ATmega eventually. Especially if I chose one with native USB support. Those are nasty little surface-mount jobbies...but at least they aren't BGA!
I'm also seriously contemplating revamping my headers completely and making the duckNode Trinket compatible. There's a LiPo backpack in that format, for instance. And in the obverse, I could make my XBee shield cross-compatible. The downside is I want to achieve everything possible from the ICSP header alone -- plus a stand-off, which the current iteration omits -- so there is no need to solder header pins to the board in order to program it or even to integrate it with radio link or power regulation. Having pins soldered on is one more thing to work around or to have to remove when cramming the final board into a prop, and the whole purpose of this exercise is to produce the most minimal footprint, lowest parts count and cost to bring full PWM control of 4W RGB/RGBW LEDs.
(So many TLAs there, I'm starting to feel like I work at NASA!)