I’m working on an Arduino project that will likely rely on a 9v for its power. If I can get at least 40 hours of power, I’d be happy with that. Here’s why I think it’s doable:
First, rechargeable 9v lion batteries nowadays have substantially higher capacities than even a few years ago. I see one on Amazon rated for 5400mWh!
Of course, I’ll want to reduce power consumption as much as possible, so I’m thinking an Arduino micro would be the best choice (though I will be attaching a shield to it, which will add to the current draw.
My understanding is that the linear regulator on the Arduino is capable of reducing the 9v down to 5v, but at great expense to efficiency through heat loss. My thinking was to bypass the linear regulator entirely, and rely on a much more efficient buck converter to adjust the voltage down to 5v.
Thinking it might be possible to reduce the core clock as well, and run the Arduino at 3.3v instead of 5.
Anything I should consider that I might have missed? I’m excited for the project, but definitely need to get the power consumption as low as possible so I can run it off a 9v and not be constantly swapping/charging.
Like you said, you can power the 5V rail directly from the buck converter. You can also set the fuses to use the lower frequency internal oscillator. Another good option is that for most of the time, you should keep the atmega in the sleep/low power state, and use an interrupt from a timer to wake the mcu occasionally. You can probably also set up pin change interrupts to wake the mcu as well if say a button is pushed. Additionally, you might be able to disable some of the peripherals if not in use - I haven't looked at AVR microcontrollers in a while so this might not be applicable.
A final option if you really really need it to have low power is to use an external timer ic that turns power on and off to the Arduino. These can have extremely low power draw, and are used on things like door and window sensors to extend their runtime to years by almost eliminating power draw when the mcu isn't running - even the mcu sleep state draws a significant amount of power on large time scales