Embedded hardware reference for engineers and makers

Arduino Uno R3 (ATmega328P) Pinout & Diagram

44-pin interactive pinout

Arduino Uno R3 uses an ATmega328P at 5 V and 16 MHz. The main MCU clock comes from a ceramic resonator; a separate quartz crystal clocks the ATmega16U2 USB bridge.

  • Arduino
  • Verified source
  • Updated Oct 2026

Interactive pinout diagramTop

  • GPIO
  • Power
  • Ground
  • Analog
  • Control
  • Bus
  • Not connected

Tap a row of pins to see it up close

Arduino Uno R3 Pinout Vector DiagramInteractive vector pinout diagram of Arduino Uno R3 (top view) showing pin headers, power rails, components, and hardware interfaces.5V LDOATmega16U216U216 MHz CST RESETRXTXLONSCLSDAAREFGNDD13 / SCKD12 / MISO~D11 / MOSI~D10 / SS~D9D8D7~D6~D5D4~D3D2D1 / TXD0 / RXNCIOREFRESET3V35VGNDGNDVINA0A1A2A3A4 / SDAA5 / SCL

BOARD SUMMARY

ATmega328P

Arduino Uno R3

ATmega328P

Arduino
MCU
ATmega328P
CPU core
8-bit AVR RISC
Clock speed
16 MHz
SRAM
2 KB
Flash
32 KB
GPIO count
20
Logic voltage
5.0 V
Form factor
44-pin, USB-to-Serial (ATmega16U2)

Before you wire

5 V logic — level-shift 3.3 V peripherals

  • Confirm attached sensors and modules accept 5 V logic levels without damage.
  • Check per-pin and port-group currents before wiring loads. Use external drivers for motors, relays and other loads that exceed GPIO capability.
  • Do not exceed 5 V on the AREF pin; do not connect external voltage if internal analogReference() is configured.

Pin table

Showing 44 of 44 pins
Arduino Uno R3 pin table: physical pin, name, GPIO, functions, ADC, touch, default role, flags
PinNameGPIOFunctionsADCDefault roleFlags
digital_high:1 digital_highSCLGPIO19
gpioi2cadc
ADC5GPIO
digital_high:2 digital_highSDAGPIO18
gpioi2cadc
ADC4GPIO
digital_high:3 digital_highAREF—
input
—GPIOExternal reference voltage limits
digital_high:4 digital_highGND—
gnd
—Ground
digital_high:5 digital_highD13 / SCKGPIO13
gpiospi
—GPIOShared with an onboard component
digital_high:6 digital_highD12 / MISOGPIO12
gpiospi
—GPIO
digital_high:7 digital_high~D11 / MOSIGPIO11
gpiospipwm
—GPIO
digital_high:8 digital_high~D10 / SSGPIO10
gpiospipwm
—GPIO
digital_high:9 digital_high~D9GPIO9
gpiopwm
—GPIO
digital_high:10 digital_highD8GPIO8
gpio
—GPIO
digital_low:1 digital_lowD7GPIO7
gpio
—GPIO
digital_low:2 digital_low~D6GPIO6
gpiopwm
—GPIO
digital_low:3 digital_low~D5GPIO5
gpiopwm
—GPIO
digital_low:4 digital_lowD4GPIO4
gpio
—GPIO
digital_low:5 digital_low~D3GPIO3
gpiopwm
—GPIO
digital_low:6 digital_lowD2GPIO2
gpio
—GPIO
digital_low:7 digital_lowD1 / TXGPIO1
gpiouart
—GPIOShared with the USB-UART bridge
digital_low:8 digital_lowD0 / RXGPIO0
gpiouart
—GPIOShared with the USB-UART bridge
power:1 powerNC—
nc
—No Connection
power:2 powerIOREF—
power
—5.0 V Power
power:3 powerRESET—
reset
—Reset / Enable
power:4 power3V3—
power
—3.3 V Power
power:5 power5V—
power
—5.0 V Power
power:6 powerGND—
gnd
—Ground
power:7 powerGND—
gnd
—Ground
power:8 powerVIN—
power
—7.0–12.0 V Power
analog:1 analogA0GPIO14
gpioadc
ADC0GPIO
analog:2 analogA1GPIO15
gpioadc
ADC1GPIO
analog:3 analogA2GPIO16
gpioadc
ADC2GPIO
analog:4 analogA3GPIO17
gpioadc
ADC3GPIO
analog:5 analogA4 / SDAGPIO18
gpioi2cadc
ADC4GPIO
analog:6 analogA5 / SCLGPIO19
gpioi2cadc
ADC5GPIO
icsp:1 icspMISOGPIO12
gpiospi
—GPIO
icsp:2 icsp+5V—
power
—5.0 V Power
icsp:3 icspSCKGPIO13
gpiospi
—GPIO
icsp:4 icspMOSIGPIO11
gpiospipwm
—GPIO
icsp:5 icspRESET—
reset
—Reset / Enable
icsp:6 icspGND—
gnd
—Ground
icsp_usb:1 icsp_usbMISO2—
icsp
—GPIO
icsp_usb:2 icsp_usb+5V—
power
—5.0 V Power
icsp_usb:3 icsp_usbSCK2—
icsp
—GPIO
icsp_usb:4 icsp_usbMOSI2—
icsp
—GPIO
icsp_usb:5 icsp_usbRESET2—
reset
—Reset / Enable
icsp_usb:6 icsp_usbGND—
gnd
—Ground

Grounded reference

Board overview

Arduino Uno R3 is the foundational 8-bit development board based on the Microchip ATmega328P. It features standard 0.1" shield headers, 5 V logic, a removable DIP-28 MCU socket, and an onboard ATmega16U2 USB-serial bridge.

Canonical CAD Blueprint

The drawing follows official Arduino A000066 through-hole Rev3e Eagle CAD: socketed ATmega328P, ATmega16U2 USB bridge and two separate six-contact ICSP headers. It shows 44 physical header contacts, including duplicated signals and power contacts.

Power inputs

  • USB Type-B connector (5 V DC, 500 mA resettable polyfuse protected)
  • VIN or centre-positive 2.1 mm DC jack: 7–12 V recommended; board input limits 6–20 V. Regulator heating limits the available current.
  • The 5 V pin is connected to the board supply rail. Available current depends on the power source, regulator temperature and onboard loads; the regulator part rating is not a guaranteed output budget. The 3.3 V pin is rated at 50 mA.

Hardware Variants, Clones & Traps

  • The through-hole Uno R3 has a replaceable ATmega328P-PU. The Uno R3 SMD uses a different MCU package and layout; this drawing models the through-hole revision.
  • UNO R4 Minima and UNO R4 WiFi are separate Renesas-based boards. Do not apply the Uno R3 MCU pin mapping or current limits to them.
  • Compatible boards may use a different USB bridge or connector. Check that board’s schematic and driver; the ATmega16U2 ICSP1 shown here is not present on every clone.

Common use cases

  • Introductory robotics, computer science, and electronics education.
  • Rapid bench prototyping using standard 2.54mm breadboard jumper wires.
  • Stackable Arduino Uno R3 compatible expansion shields.

Notes

  • GPIO operate at 5 V. Check the input ratings of each connected device before driving it from a 5 V output; inputs that accept only 3.3 V may need level translation.
  • Design below the board’s 20 mA per-I/O ceiling and respect the MCU port-group budgets. The 40 mA per-I/O and 200 mA VCC/GND absolute maxima do not guarantee normal operation.
  • Preloaded with Optiboot 115200 baud bootloader; standard firmware uploads use D0 (RX) and D1 (TX) with auto-reset via DTR capacitor.

Before you wire

  • Confirm attached sensors and modules accept 5 V logic levels without damage.
  • Check per-pin and port-group currents before wiring loads. Use external drivers for motors, relays and other loads that exceed GPIO capability.
  • Do not exceed 5 V on the AREF pin; do not connect external voltage if internal analogReference() is configured.

Specifications

MCU
ATmega328P
CPU core
8-bit AVR RISC
Clock
16 MHz
SRAM
2 KB
Flash
0.03125 MB
GPIO count
22
Logic voltage
5.0 V
Operating voltage (VIN)
7 - 12 V

Pin usage guide

Safe GPIO pins

Arduino specifies a 20 mA maximum per I/O. The ATmega328P ratings of 40 mA per I/O and 200 mA through VCC/GND are absolute maxima, not operating targets; port-group current limits also apply.

ADC and analog pins

Pins A0-A5 provide 10-bit analog-to-digital conversion (0-1023) referenced to 5V (or AREF). Pins A4 (SDA) and A5 (SCL) are shared with the I2C bus.

I2C, SPI and UART pins

UART on D0 (RX) and D1 (TX). SPI on D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK) and the 6-pin ICSP header. I2C on A4 (SDA) and A5 (SCL) plus dedicated top header pins.

Strapping and boot pins

No hardware strapping pins. D13 has an onboard LED buffer. D0/D1 are tied to the USB-to-serial converter (ATmega16U2).

Input-only pins

All digital pins support bidirectional I/O with optional internal pull-up resistors (20-50 kΩ). Analog pins A0-A5 can also function as digital GPIO 14-19.

Frequently asked questions

Short answers to the questions people ask about this board, each checked against the manufacturer or project documents linked under it.

Which Uno R3 pins support hardware PWM?

Use D3, D5, D6, D9, D10 and D11. D8 does not provide hardware PWM. The 16-bit Timer1 drives D9/D10, while the 8-bit Timer0 and Timer2 supply the other PWM outputs. Timer settings may be shared with Arduino timing functions or libraries.

Why does Uno R3 have two ICSP headers?

The ICSP header near the ATmega328P programs the main MCU and exposes MISO=D12, SCK=D13 and MOSI=D11. ICSP1 near the USB connector programs the separate ATmega16U2 USB bridge; its SPI and RESET signals belong to that chip. Both headers also carry 5 V and GND. Choose the header for the processor you intend to program.

How should I power Uno R3 and budget its current?

Use USB 5 V or the recommended 7–12 V at VIN or the centre-positive DC jack. The 5 V rail’s available current depends on the source and regulator heating; do not treat the regulator rating as a guaranteed board output. Arduino specifies 50 mA for the 3.3 V pin and 20 mA maximum per I/O. The MCU absolute maxima and port-group limits are separate constraints.

Help keep this page accurate

Checked this pinout against your board or connector? Confirm it, or report a pin, voltage or orientation that does not match.

Opens a public form on GitHub with this page already filled in; a free GitHub account is needed. How reports and confirmations work