I have an ATmega328P running at 16 Mhz on CR2032 with a few sensors and radio for about a week now. It started out at 3+ Volts and is currently measuring at 2.96 Volts. At present, I am not using boost regulators to regulate this. I use the low power sleep mode using the jee lib libraries, sleep for a few seconds then wake up for less than a second, take a few readings, transmit and go back to sleep again.
Of late, I noticed that the sleep duration had shrunk by a few orders of magnitude. It seems to sleep for ~50 or so milli-sec, instead of the 5 sec sleep that it used to work at. If I switch to the 2xAA (2.84 Volts), I still get the full 5 sec sleep cycle.
Is this behavior due to the ATmega328P switching back to use the internal 8 MHz instead of the external 16 MHz? Also not sure how the timing/sleep works fine with 2xAA at 2.84 Volts but not with CR2032 at 2.96 Volts?