The ATmega328P is an 8-bit AVR RISC-based microcontroller by Microchip (formerly Atmel). It is the processor inside the Arduino UNO and Nano boards. Features 32KB flash, 2KB SRAM, 1KB EEPROM, and a rich set of peripherals including SPI, I2C, UART, and PWM.
| Pin | Name | Function | Type |
|---|---|---|---|
| 1 | PC6 / RESET | Reset, active low | I/O |
| 2 | PD0 / RXD | UART receive | BUS |
| 3 | PD1 / TXD | UART transmit | BUS |
| 4 | PD2 / INT0 | External interrupt 0 | I/O |
| 5 | PD3 / INT1 | External interrupt 1, PWM | I/O |
| 6 | PD4 | General digital I/O | I/O |
| 7 | VCC | Supply voltage | PWR |
| 8 | GND | Ground | GND |
| 9 | PB6 / XTAL1 | Crystal oscillator input | I/O |
| 10 | PB7 / XTAL2 | Crystal oscillator output | I/O |
| 14 | PB0 / ICP1 | Input capture | I/O |
| 15 | PB1 / OC1A | PWM Timer1A | I/O |
| 16 | PB2 / SS | SPI slave select | BUS |
| 17 | PB3 / MOSI | SPI MOSI, PWM | BUS |
| 18 | PB4 / MISO | SPI MISO | BUS |
| 19 | PB5 / SCK | SPI clock | BUS |
| 20 | AVCC | Analog supply voltage | PWR |
| 21 | AREF | Analog reference voltage | ADC |
| 22 | GND | Ground | GND |
| 23 | PC0 / ADC0 | Analog input 0 | ADC |
| 24 | PC1 / ADC1 | Analog input 1 | ADC |
| 27 | PC4 / SDA | I2C data | BUS |
| 28 | PC5 / SCL | I2C clock | BUS |