Skip to content

Arduino Uno R3 Pinout

Find the Arduino Uno R3 pinout, digital and analog pins, memory limits, and Circuitera compile/upload support. Check board-specific library compatibility.

Processor
ATMEGA328P
Clock
16 MHz
Physical flash
32768 bytes
Application flash
32256 bytes
SRAM
2048 bytes
EEPROM
1024 bytes
Digital pins
14
Analog inputs
6
PWM
D3, D5, D6, D9, D10, D11
Hardware UARTs
1
UART pins
D0, D1
I2C
A4, A5, SDA, SCL
SPI
D10, D11, D12, D13
External interrupts
D2, D3
Logic voltage
5 V
Bootloader
Optiboot
Protocol / baud
STK500v1 · 115200
Compile capability
Verified · automated compile
Upload capability
Untested · physical hardware
Serial capability
Untested · physical hardware
Simulation
Uno model supported
Build-matched compile check
2026-10-25
Arduino Uno R3 logical UART, I2C, SPI, interrupt, PWM and analog signal groups from the validated pin profile
Logical signal reference; aliases can share a physical terminal. Use the official board pinout for physical placement.

Choose the Uno R3 target

Select Arduino Uno R3 before pressing Verify. Circuitera compiles for the 16 MHz ATmega328P using the standard Arduino pin variant. The profile provides 32,256 bytes of application flash and 2,048 bytes of SRAM. The build summary reports program storage and static RAM separately; the running sketch also needs space for its stack and dynamically allocated data.

Start with pins you can check

Use LED_BUILTIN for an onboard Blink test. Uno R3 exposes digital pins D0–D13 and analog inputs A0–A5. PWM is available on D3, D5, D6, D9, D10, and D11. A4 and A5 serve I2C SDA and SCL. Consult the IDE’s pin helper before wiring, and use a current-limiting resistor for an external LED.

Upload and inspect the result

With a successful build, connect a USB data cable and choose the board’s port in Connect board. The Uno profile uses its serial bootloader for upload and reads firmware back to verify it. Keep D0/D1 clear of devices that interfere with the serial connection. Open Serial Monitor at the baud rate in Serial.begin() to read values from the sketch.

Match the board, not just its name

This guide covers Uno R3 with ATmega328P. Uno R4 has a different processor and is not supported by this AVR profile. Clones may use a different USB bridge or bootloader; a port name alone cannot prove the MCU. For supported circuits, the simulator can help explore behavior, but real wiring and hardware still need checking.

Upload and validation limits

Select the actual board and bootloader, use a USB data cable, and grant one port permission. Keep serial pins clear of interfering peripherals.

No physical upload certification recorded in these build reports. Compile capability, simulated protocol tests and physical upload are separate claims.

Toolchain: avr-gcc-wasm@0.2.0. Last matching compile evidence: 2026-10-25. Build: e0f6d304cce4ae0a0989a9b1300cbc1a21a595e5e3e7f57ed0ab3468ecf7940b.

How these results are measured →

Arduino Uno R3 pinout table

Every pin and alias is present in the initial HTML. Filter by signal capability, or select a pin for its existing reference details. Disconnect power before changing wiring.

27 pin entries

Select a pin to read its capabilities.

PinCapabilitiesDetails
DIGITAL · UARTRX · shared with the USB serial connection
DIGITAL · UARTTX · shared with the USB serial connection
DIGITAL · INTERRUPTExternal interrupt INT0
DIGITAL · PWM · INTERRUPTExternal interrupt INT1 · PWM
DIGITALDigital input/output
DIGITAL · PWMDigital input/output · PWM with analogWrite()
DIGITAL · PWMDigital input/output · PWM with analogWrite()
DIGITALDigital input/output
DIGITALDigital input/output
DIGITAL · PWMDigital input/output · PWM with analogWrite()
DIGITAL · PWM · SPISS · SPI chip select
DIGITAL · PWM · SPIMOSI · SPI data to peripherals
DIGITAL · SPIMISO · SPI data from peripherals
DIGITAL · SPISCK · also connected to the onboard LED
ANALOG · DIGITAL10-bit analog input (0–1023). Also digital pin 14.
ANALOG · DIGITAL10-bit analog input (0–1023). Also digital pin 15.
ANALOG · DIGITAL10-bit analog input (0–1023). Also digital pin 16.
ANALOG · DIGITAL10-bit analog input (0–1023). Also digital pin 17.
ANALOG · DIGITAL · I2C10-bit analog input (0–1023). Also digital pin 18. SDA · shared with the SDA header.
ANALOG · DIGITAL · I2C10-bit analog input (0–1023). Also digital pin 19. SCL · shared with the SCL header.
POWER5 V power rail, not a programmable I/O pin.
POWER3.3 V regulated output, up to 50 mA. Not a programmable pin.
GROUNDCommon ground reference. Join the ground of connected modules to GND.
POWERExternal power input before the regulator. For first projects, power the Uno through USB.
RESETPulling RESET low restarts the microcontroller. The reset button does the same.
I2C · DIGITAL · ANALOGI2C data. Electrically the same pin as A4, not an extra independent pin.
I2C · DIGITAL · ANALOGI2C clock. Electrically the same pin as A5, not an extra independent pin.
Official Arduino board pinout reference ↗

Library compile results

Actual source/hash-matched results for this exact profile. A passed compile does not prove a real peripheral, motor or wiring works.

LibraryPinned versionResultFlash / static RAMTest date
HID1.0UNSUPPORTEDNot recorded2026-10-25
Keyboard1.0.7UNSUPPORTEDNot recorded2026-10-25
Mouse1.0.1UNSUPPORTEDNot recorded2026-10-25
Servo1.3.0PASS2522 / 50 bytes2026-10-25
Wire1.0PASS4494 / 408 bytes2026-10-25
SPI1.0PASS2728 / 192 bytes2026-10-25
EEPROM2.0PASS2424 / 188 bytes2026-10-25
SoftwareSerial1.0PASS3466 / 301 bytes2026-10-25
LiquidCrystal1.0.7PASS2232 / 59 bytes2026-10-25
DHT1.4.7PASS5610 / 219 bytes2026-10-25
Adafruit Unified Sensor1.1.15PASS9226 / 302 bytes2026-10-25
Adafruit GFX1.12.6PASS10952 / 533 bytes2026-10-25
Adafruit SSD13062.5.17PASS13868 / 399 bytes2026-10-25
Adafruit BusIO1.17.4PASS7140 / 438 bytes2026-10-25
Adafruit NeoPixel1.15.5PASS3270 / 41 bytes2026-10-25
NewPing1.9.7PASS3304 / 209 bytes2026-10-25
IRremote4.7.1PASS12096 / 491 bytes2026-10-25
Keypad3.1.1PASS3922 / 327 bytes2026-10-25
AccelStepper1.64PASS6118 / 119 bytes2026-10-25
LiquidCrystal_I2C1.1.2PASS4006 / 275 bytes2026-10-25

Projects and next steps

These tutorials have Uno compile and modeled execution evidence.

Keep exploring.