The P in ATmega328P stands for picoPower.
Ultimately ATMega328 and ATMega328P devices are pin and functionally compatible devices.
The P suffix parts offer some optimized register settings to run lower power in idle modes.
The ATMega328 series of parts have been made widely popular by the Arduino Uno platform.
Here is an Application Note where they ran the picoPower parts off of a capacitor to see how long the parts would last in low power modes.
Further Details from Datasheet
The specific register settings the ATMega328P versions have that the non-P version do not are Brown Out Detector Sleep (BODS) and BOD Sleep Enable (BODSE) within the MCU Control Register.
Applicable sections from Datasheet
1 Like