ATmega48/88/168/328

The ATmegaXX8 family of AVR devices includes the ATmega48, ATmega88, ATmega168, and ATmega328. They are similar in that they have identical I/O. They have three timers - two 8-bit and one 16-bit.They differ in the amount of memory available, with flash memory size of from 8kB to 32kB. The devices are widely used in Arduino and Arduino clone boards.

The most popular members of this family are the ATmega168 and the ATmega328. The ATmega168 was used in the midrange Arduino boards, after the ATmega8. The latest Arduino Uno uses the ATmega328. This is far and away the biggest hobbyist use of these devices. The ATmega48 is a little different - it does not support a bootloader section in flash. You can see the comparisons of the ATmega48 vs. ATmega88 vs. ATmega168 vs. ATmega328 below.

Power Supply vs. Maximum Frequency

The calculator below provides a way to find the maximum operating frequency for any valid power supply voltage (2.7 to 5.5). Enter the power supply voltage and click "Calculate Max Frequency" to find the ATmegaXX8's specified maximum clock speed at your Vcc.

Maximum Frequency Calculator for ATmega48/88/168/328

ATmega48/88/168/328 Features
Feature4888168328
Flash 4k8k16k32k
EEPROM 0.5k0.5k1k2k
RAM 0.5k1k1k2k
I/O Pins 23
Interrupts 26
USARTS 1
USI 0
SPI 1
TWI 1
ADC Channels 6[1]
RT Counter (w/osc)0
Timers (8-bit) 2
Timers (16-bit) 1
PWM (8-bit) 4
PWM (16-bit) 2
Price (1's) $2.09$2.51$2.84$3.23
CharacteristicValue
Power Consumption (approximate) 0.6mA/MHz
Maximum I/O Current (per pin) 40mA
Maximum I/O Current (all ports) 100mA(low)/150mA(high)
Maximum I/O Current (total) 200mA (PDIP)
Maximum I/O Current (total)400mA (PDIP/QFP/MLF)
  1. The DIP package has 6 ADC channels, while the QFP/MLF packages have 8 ADC channels.

ATmega48/88/168/328 Datasheet

Link to ATmega48/88/168/328 datasheet from Atmel's website.

ATmega48/88/168/328 Pinout

ATmega328P-PU pinout ATmega328P-AU pinout

ATmega48/88/168/328 "Minimal" Circuit Diagram

The circuit below shows a programming port, reset circuit, and a crystal oscillator. Any or all of these could be left off and the device would function perfectly well. By default the unit runs from the 8MHz internal RC oscillator divided by 8, for a 1MHz system clock.

ATmega644 minimal schematic diagram