Skip to main content
PartAndStock
Blog

What Is the ATmega328P? Arduino's MCU: Specs and Uses

October 11, 2026 6 min read
Quick answer

The ATmega328P is the 8-bit AVR microcontroller at the heart of the Arduino Uno and Nano. With 32 KB flash, 2 KB SRAM, 1 KB EEPROM, 23 GPIO (6 with ADC) and UART/SPI/I2C peripherals, it runs from 1.8–5.5 V up to 16 MHz. It is one of the most common hobby-to-product MCUs for reading sensors, driving motors and communication.

The ATmega328P is the 8-bit AVR microcontroller at the heart of the Arduino Uno and Nano. With strong peripherals, huge community support and easy programming, it is one of the most common MCUs from hobby to product. For the concept, see what is a microcontroller (MCU).

What is the ATmega328P used for?

Reading sensors, driving motors/relays, communication (UART/SPI/I2C) and general embedded control. It is programmed with the Arduino IDE and runs with very few external parts (a crystal + caps, or the internal oscillator).

Highlights

ParameterValue
Core8-bit AVR
Flash / SRAM / EEPROM32 KB / 2 KB / 1 KB
GPIO23 (23 digital, 6 with 10-bit ADC)
Clockup to 16 MHz (5 V), internal 8 MHz RC
Supply1.8 – 5.5 V
PeripheralsUART, SPI, I2C (TWI), Timers, PWM, WDT
PackagePDIP-28, TQFP-32, QFN-32

Pinout (functional — PDIP-28)

Grouped as ports: PB0-PB7, PC0-PC6 (PC6 = RESET), PD0-PD7 (PD0/PD1 = UART RX/TX). Power: VCC, GND, AVCC (ADC reference), AREF. Crystal: XTAL1/XTAL2 (PB6/PB7). See the datasheet for the full pin map.

Limitations

  • 8-bit and low RAM (2 KB); for heavy processing use a 32-bit part (e.g. the STM32F103C8).
  • No wireless; for WiFi/BT use the ESP32/ESP8266.

Equivalents and alternatives

  • ATmega168 / ATmega88: relatives with smaller flash.
  • ATtiny85: an 8-pin AVR for small projects.
  • ATmega2560: the many-pin MCU of the Arduino Mega.
  • STM32F103C8: a more powerful 32-bit alternative.

Find it in our catalog

Use the ATmega328P search.

Frequently Asked Questions

What is the ATmega328P?+
The ATmega328P is the 8-bit AVR microcontroller used by the Arduino Uno and Nano. With 32 KB flash, 2 KB SRAM and rich peripherals it is one of the most common hobby-to-product MCUs.
What voltage/clock does the ATmega328P run at?+
It runs from 1.8–5.5 V; up to 16 MHz at 5 V. It also has an internal 8 MHz RC oscillator (so it can run without an external crystal).
How many pins/GPIO does the ATmega328P have?+
In the PDIP-28 package it provides 23 GPIO, 6 of which are 10-bit ADC inputs. The UART, SPI and I2C peripherals are shared across the ports.
ATmega328P vs STM32?+
The ATmega328P is 8-bit and simpler; the STM32F103C8 is 32-bit, faster and has more RAM/peripherals. For heavy processing the STM32 is preferred.
What is an equivalent to the ATmega328P?+
The smaller ATmega168/88; the ATtiny85 for small projects; the ATmega2560 for many pins; and the STM32F103C8 as a powerful alternative.