I have some questions regarding running an ATMEGA328P from a 3.7 V battery. These batteries can vary their voltage during discharge from 4.2 V to 3.0 V. So my questions are:

  1. If I power the ATMEGA328P directly from the battery, what would the voltage of the digital I/O pins be? Would it be the voltage at Vcc (i.e. the battery voltage)?
  2. If so, does that mean that the voltage used on a UART (TX, RX) line would be the battery voltage?
  3. How would I go about programming the device? I imagine selecting, for example, the Arduino Pro Mini at 3V3, 8 MHz within the Arduino IDE would not work (?), because Vcc is not 3.3 V but rather the battery voltage. Would I need to switch to a 3.3 V supply for programming?

Thanks in advance!

Asked question