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
|I/O Pins ||23|
|ADC Channels ||6|
|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|
|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)|
- The DIP package has 6 ADC channels, while the QFP/MLF packages have 8 ADC channels.
Link to ATmega48/88/168/328 datasheet from Atmel's website.
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.