Spark Logic

ATmega328 / ATmega328P / ATmega168 / ATmega8 pinout

Package pin assignments for ATmega328, ATmega328P, ATmega168, ATmega8, with peripheral signals, clock grades and a serial programming guide.

TQFP-32

32 contacts Current package
QFN-28 29 contacts
QFN-32 33 contacts
PDIP-28 28 contacts

Microchip Technology · 32 numbered contacts. See the individual package drawings for footprint dimensions.

32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM. Choose the marked order code for voltage, clock, and temperature.

TQFP-32 pinout

TQFP-32
Top view · Pin 1 at the upper left · Schematic outline Scroll the map to reach all contacts.
Selected pin details

7 · PB6

Bidirectional · GPIO

General-purpose digital I/O. Alternate assignments: TOSC1 (TC2), PCINT6 (EXINT), XTAL1 (CPU).

After reset · GPIO driver is high impedance during reset. Clock, debug, and alternate-function use depend on fuse and peripheral configuration.

DS40002061B · Pinout and peripheral signal descriptions

Electrical limits · Link to this pin

All 32 pins

PinSignalDirectionFunction
1PD3 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: OCB (TC2), INT1 (EXINT), PCINT19 (EXINT).
2PD4 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: XCK (USART0), T (TC0), PCINT20 (EXINT).
3GND ReturnReturn Supply return. Connect every ground pin.
4VCC SupplySupply Digital supply. Connect every VCC pin and place a local 100 nF ceramic bypass close to each VCC-to-ground pair.
5GND ReturnReturn Supply return. Connect every ground pin.
6VCC SupplySupply Digital supply. Connect every VCC pin and place a local 100 nF ceramic bypass close to each VCC-to-ground pair.
7PB6 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: TOSC1 (TC2), PCINT6 (EXINT), XTAL1 (CPU).
8PB7 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: TOSC2 (TC2), PCINT7 (EXINT), XTAL2 (CPU).
9PD5 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: T (TC1), OCB (TC0), PCINT21 (EXINT).
10PD6 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: AIN0 (AC), OCA (TC0), PCINT22 (EXINT).
11PD7 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: AIN1 (AC), PCINT23 (EXINT).
12PB0 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: ICP (TC1), PCINT0 (EXINT), CLK0 (CPU).
13PB1 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: OCA (TC1), PCINT1 (EXINT).
14PB2 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: OCB (TC1), PCINT2 (EXINT), SS (SPI).
15PB3 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: OCA (TC2), PCINT3 (EXINT), MOSI (SPI).
16PB4 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: PCINT4 (EXINT), MISO (SPI).
17PB5 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: PCINT5 (EXINT), SCK (SPI).
18AVCC SupplySupply Analog supply. Connect it to the supply even if analog conversion is unused. Follow the data sheet’s filtering guidance for precision conversion.
19ADC6 Analog inputAnalog input Dedicated analog input to ADC channel 6. Alternate assignments: ADC6 (ADC).
20AREF Analog referenceAnalog reference ADC voltage reference terminal. Check the reference selection before driving this pin from an external voltage.
21GND ReturnReturn Supply return. Connect every ground pin.
22ADC7 Analog inputAnalog input Dedicated analog input to ADC channel 7. Alternate assignments: ADC7 (ADC).
23PC0 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: ADC0 (ADC), PCINT8 (EXINT).
24PC1 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: ADC1 (ADC), PCINT9 (EXINT).
25PC2 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: ADC2 (ADC), PCINT10 (EXINT).
26PC3 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: ADC3 (ADC), PCINT11 (EXINT).
27PC4 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: SDA (TWI), ADC4 (ADC), PCINT12 (EXINT).
28PC5 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: SCL (TWI), ADC5 (ADC), PCINT13 (EXINT).
29PC6 Input / I/OInput / I/O Active-low reset input by default. Use as GPIO only where the reset-disable fuse is supported and configured. Alternate assignments: PCINT14 (EXINT).
30PD0 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: RXD (USART0), PCINT16 (EXINT).
31PD1 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: TXD (USART0), PCINT17 (EXINT).
32PD2 BidirectionalBidirectional General-purpose digital I/O. Alternate assignments: PCINT18 (EXINT), INT0 (EXINT).

Signal assignments

USART0 · Serial

Use TXD and RXD for asynchronous serial. XCK is for synchronous mode. The signal levels follow the microcontroller supply domain. TXD → PD1 · RXD → PD0 · XCK → PD4

TWI / I²C

Connect SDA and SCL to the bus with pull-ups to a voltage supported by all devices. Verify the pull-up value for the bus capacitance and rate. SDA → PC4 · SCL → PC5

Timer/Counter 1

Review each signal assignment and the peripheral enable conditions in the data sheet. T → PD5 · ICP → PB0 · OCA → PB1 · OCB → PB2

Timer/Counter 2

Review each signal assignment and the peripheral enable conditions in the data sheet. OCA → PB3 · OCB → PD3 · TOSC1 → PB6 · TOSC2 → PB7

Analog-to-digital converter

Select the analog channel and reference in firmware. The reference choice and supply constrain the input range. ADC0 → PC0 · ADC1 → PC1 · ADC2 → PC2 · ADC3 → PC3 · ADC4 → PC4 · ADC5 → PC5 · ADC6 → ADC6 · ADC7 → ADC7

Analog comparator

Review each signal assignment and the peripheral enable conditions in the data sheet. AIN0 → PD6 · AIN1 → PD7

Timer/Counter 0

Review each signal assignment and the peripheral enable conditions in the data sheet. T → PD4 · OCB → PD5 · OCA → PD6

External interrupts

Review each signal assignment and the peripheral enable conditions in the data sheet. INT1 → PD3 · PCINT19 → PD3 · PCINT20 → PD4 · PCINT6 → PB6 · PCINT7 → PB7 · PCINT21 → PD5 · PCINT22 → PD6 · PCINT23 → PD7 · PCINT0 → PB0 · PCINT1 → PB1 · PCINT2 → PB2 · PCINT3 → PB3 · PCINT4 → PB4 · PCINT5 → PB5 · PCINT8 → PC0 · PCINT9 → PC1 · PCINT10 → PC2 · PCINT11 → PC3 · PCINT12 → PC4 · PCINT13 → PC5 · PCINT14 → PC6 · PCINT16 → PD0 · PCINT17 → PD1 · PCINT18 → PD2 · INT0 → PD2

SPI peripheral

Use SCK, MOSI, MISO and a chip-select line. Firmware selects direction and clock phase. Check the separate ISP mapping when programming. SS → PB2 · MOSI → PB3 · MISO → PB4 · SCK → PB5

System clock

Review each signal assignment and the peripheral enable conditions in the data sheet. CLK0 → PB0 · XTAL1 → PB6 · XTAL2 → PB7

Electrical limits

ParameterLimitConditions and source
Program flash32 KiB32 KiB Nonvolatile program memory. DS40002061B · Memory
SRAM2 KiB2 KiB Volatile data and stack storage. DS40002061B · Memory
EEPROM1 KiB1 KiB Nonvolatile data storage. DS40002061B · Memory
Clock and supplyOrder-code dependentOrder-code dependent Use the grade table and the device’s speed-versus-voltage curve. DS40002061B · Electrical Characteristics

Models and documents

Each package lists the documented order codes and variants covered by this map. Select the marked model to see its peripheral assignments and memory. Check the exact order code and datasheet revision before laying out a PCB.

ATmega328
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM. Choose the marked order code for voltage, clock, and temperature.
ATmega328-AU
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega328-AUR
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega328P
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM. Choose the marked order code for voltage, clock, and temperature.
ATmega328P-AU
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega328P-AUR
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega328P-AN
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +105 °C
ATmega328P-ANR
32 KiB flash · 2 KiB SRAM · 1 KiB EEPROM · 1.8–5.5 V · 20 MHz maximum · -40 to +105 °C
ATmega168
16 KiB flash · 1 KiB SRAM · 512 B EEPROM. Choose the marked order code for voltage, clock, and temperature.
ATmega168V-10AU
16 KiB flash · 1 KiB SRAM · 512 B EEPROM · 1.8–5.5 V · 10 MHz maximum · -40 to +85 °C
ATmega168V-10AUR
16 KiB flash · 1 KiB SRAM · 512 B EEPROM · 1.8–5.5 V · 10 MHz maximum · -40 to +85 °C
ATmega168-20AU
16 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega168-20AUR
16 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 20 MHz maximum · -40 to +85 °C
ATmega8
8 KiB flash · 1 KiB SRAM · 512 B EEPROM. Choose the marked order code for voltage, clock, and temperature.
ATmega8L-8AU
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 8 MHz maximum · -40 to +85 °C
ATmega8L-8AUR
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 8 MHz maximum · -40 to +85 °C
ATmega8-16AU
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 4.5–5.5 V · 16 MHz maximum · -40 to +85 °C
ATmega8-16AUR
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 4.5–5.5 V · 16 MHz maximum · -40 to +85 °C
ATmega8L-8AN
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 8 MHz maximum · -40 to +105 °C
ATmega8L-8ANR
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 2.7–5.5 V · 8 MHz maximum · -40 to +105 °C
ATmega8-16AN
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 4.5–5.5 V · 16 MHz maximum · -40 to +105 °C
ATmega8-16ANR
8 KiB flash · 1 KiB SRAM · 512 B EEPROM · 4.5–5.5 V · 16 MHz maximum · -40 to +105 °C