Difference between ATMEGA328 and ATMEGA328P Microcontrollers

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 two types of parts off of a capacitor to see how long the parts would last in low power modes.