Doing More with Less
"I'm givin' her all she's got, Captain! If I push it any harder the whole thing will blow!"
Ok, oblique Star Trek reference aside, I managed to squeeze some more power out of the ATtiny84 chip that runs the Voltmeter Clock. Less oblique Star Trek reference, Mr. Sulu (George Takei) was in the Boston area this past week and I got to meet him! He was doing a video shoot for his youtube show and I happened to be in the right place at the right time!

Back to power reduction. Here were the key methods to get below 300uA:
- Getting to interrupt driven code last week was a big step, but with some reorganization, I made the interrupt service routines faster. I don't miss interrupts at the slower clock speed any more and overall, the chip spends more time in powered down mode. This got me under a 1mA.
- Changing the size of pull-up resistors. The ATtiny84 has internally selectable 70K ohm pullup resistors, while I was using 10K pullups in my previous version. I want to make the pullups that tie the encoder switch debounce filters high as large as possible, while still being able to drive the chip inputs.
- I sacrificed an output pin to enable / disable power to the potentiometer on the mode select knob. When the mode select knob isn't being polled, it is now completely disconnected. This and the last step got me to about 600uA.
- The last biggie was turning down the voltage. The chip was running at 5V power previously. The ATtiny84 also comes in a couple different flavors... the original, and also an 84V version and an 84A version that can run at even lower voltages. Turns out, I got lucky when I ordered breadboard parts and I had the 84A on hand. Turning the voltage down to 1.8V dropped the current draw all the way below 300uA.
Doing more with less
With some good data on hand, I can move forward with a little more confidence about board design. Two AA batteries in parallel should provide enough energy to last for more than a year, and Microchip Corp makes a switching regulator (I'm considering the MCP1624) designed specifically to provide a voltage boost to appropriate levels from a battery source.
The last big hurdle is "future proofing" the board layout. I'd love to have an alarm clock version of the clock, and if I can use the same printed circuit board for both products, but with different components, I'll be in much better shape.
Sacrificing an I/O pin earlier to power down the Mode Select Knob in between polling means having to work a teeny bit harder to add an "Alarm On/Off" switch. It's still possible to get clever and I try to read several switch states through one pin. If any EE's out there would like to critique the solution, I'd appreciate it.
- R2 is the "Mode Control" knob, SW1 is the optional "Alarm On/Off" switch
- AtoD conversion to the read the control knob switch / state is made at the "MODE SELECT" pin.
- Q1, Q2, R4, and SW1 may be unpopulated.
- The mode select knob should read between 0 - 1/2 Vcc with the switch open and from 1/2 - 1Vcc with the switch closed, giving distinct voltages for all states. With the unpopulated components, voltage will go from 1/3 - 2/3 Vcc.

What's Next?
The schematic is nearly done, then we'll be getting into board layout. This post has been heavy on the technical details and next week we'll get into more of the marketing tools / techniques we're using to manage our campaign.