Learn / Pinouts / Arduino

Arduino Uno Rev3 pinout

Explore the socketed ATmega328P Arduino Uno Rev3 pinout, with digital, analogue, PWM, UART, SPI, I2C and power connections explained.

ArduinoDevelopment boardATmega328PRev3, socketed ATmega328P5 V logic32 connections20 usable GPIO
Arduino Uno Rev3 board artworkKobee

Qualified electrical ratings

recommended operating5 V voltageboard logic rail; not an input tolerance statement

Fast answers

Which GPIO should I use?

Start with what you are connecting. Click any GPIO to locate it in the interactive diagram and inspect the full reason.

Interactive shortlist
!!!
Pin colour keyKobee
RecommendedUse with careAvoidSpecial case
Recommendation and GPIOs
Easy choice

Input-capable, no declared boot warning, and suitable for the ESP32 internal pull resistor.

Add an external resistor
No matching pins declared

Excellent inputs, including ADC1, but these input-only pins have no internal pull-up or pull-down.

Works with care

These pins are sampled during boot or share the programming serial connection. Your button circuit must not force the wrong reset-time level.

Do not use
No matching pins declared

Connected to the module flash. Treat these header positions as reserved.

Reference by function

See only the pins relevant to your circuit.

Each view removes the unrelated labels, then keeps the exact channel, bus role, and assignment status beside the physical board position.

01 · GPIO

GPIO pins: safe, conditional and avoid

Green pins are the easiest general-purpose choices. Amber pins have a device or board caveat. Red pins are reserved by the board or module.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM
02 · ADC

ADC analogue inputs

Only analogue-capable connections are shown, with the exact converter and channel role declared by the source data.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM
03 · I2C

I²C data and clock

Default data and clock roles are labelled separately from routes that software can remap.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM
04 · SPI

SPI buses

Usable SPI routes are shown with their controller and signal roles. Pins marked avoid are excluded from this view.

A remappable peripheral still has electrical and boot restrictions. Remapping does not make a reserved pin safe.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM
05 · UART

UART serial ports

Transmit and receive pins are grouped by UART controller, with default and fixed assignments shown explicitly.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM
06 · PWM

PWM outputs

PWM can be routed to output-capable GPIOs. Input-only pins are not included because they cannot drive a PWM waveform.

Pin colour keyKobee
GPIOADCI2CSPIUARTPWM

The classic Uno layout

This reference covers the Arduino Uno Rev3 with the socketed, dual-inline ATmega328P. Its familiar shield headers expose fourteen numbered digital pins and six analogue inputs, plus power, reset and reference connections.

Shared functions matter

Pins D0 and D1 form the hardware serial port used by the USB interface, so connected hardware can interfere with uploads and the Serial Monitor. D10–D13 carry SPI, while A4 and A5 carry I2C as SDA and SCL. The extra SDA and SCL header positions are duplicates of A4 and A5, not an additional bus.

PWM and analogue input

The ~ marking identifies the six pins supported by Arduino's analogWrite() convention: D3, D5, D6, D9, D10 and D11. A0–A5 are the primary analogue inputs and can also be addressed as digital GPIO when analogue conversion is not needed.

Power safely

The board's digital logic is 5 V. The VIN and USB limits are board power specifications, not GPIO signal limits. Always distinguish a recommended operating condition from an absolute maximum before connecting external circuits.

Quick explanations

ATmega328P pinout FAQ

Which ATmega328P GPIO pins are the easiest to use?

Start with the pins marked recommended: D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, A0, A1, A2, A3, A4, A5. They are declared as general-purpose GPIO without a board-specific boot, programming, or reserved-function warning in this reference. Always check the exact function you need before wiring.

Which pins can I use for a push button?

Use a recommended, input-capable GPIO. Check whether the selected pin provides an internal pull resistor or requires an external resistor.

Which analogue pins should I use while Wi-Fi is active?

Prefer the ADC1 pins: A1. On this processor, ADC2 has a wireless-use conflict recorded in the pin definition, so ADC1 is the dependable starting point when radio operation and analogue sampling must coexist.

Searchable without JavaScript

Complete pin table

Every physical connection and declared alternate function is included here for accessibility, printing and search discovery.

PhysicalPinInput / outputGeneral suitabilityFunctionsImportant notes
JDIGITAL.1D0RX, PD0Input + Outputconditional
  • GPIO · fixed
  • UART · RX · fixed
  • Shared with the on-board USB-to-serial interface
  • Connected hardware can interfere with uploads and Serial Monitor traffic.
JDIGITAL.2D1TX, PD1Input + Outputconditional
  • GPIO · fixed
  • UART · TX · fixed
  • Shared with the on-board USB-to-serial interface
  • Connected hardware can interfere with uploads and Serial Monitor traffic.
JDIGITAL.3D2INT0, PD2Input + Outputrecommended
  • GPIO · fixed
  • Interrupt · INT0 · 0 · fixed
    JDIGITAL.4D3PWM, INT1, PD3Input + Outputrecommended
    • GPIO · fixed
    • PWM · OC2B · fixed
    • Interrupt · INT1 · 1 · fixed
      JDIGITAL.5D4PD4Input + Outputrecommended
      • GPIO · fixed
      • Interrupt · pin-change interrupt · fixed
        JDIGITAL.6D5PWM, PD5Input + Outputrecommended
        • GPIO · fixed
        • PWM · OC0B · fixed
        • Interrupt · pin-change interrupt · fixed
          JDIGITAL.7D6PWM, PD6Input + Outputrecommended
          • GPIO · fixed
          • PWM · OC0A · fixed
          • Interrupt · pin-change interrupt · fixed
            JDIGITAL.8D7PD7Input + Outputrecommended
            • GPIO · fixed
            • Interrupt · pin-change interrupt · fixed
              JDIGITAL.9D8PB0Input + Outputrecommended
              • GPIO · fixed
              • Interrupt · pin-change interrupt · fixed
                JDIGITAL.10D9PWM, PB1Input + Outputrecommended
                • GPIO · fixed
                • PWM · OC1A · fixed
                • Interrupt · pin-change interrupt · fixed
                  JDIGITAL.11D10PWM, SS, PB2Input + Outputrecommended
                  • GPIO · fixed
                  • PWM · OC1B · fixed
                  • SPI · SS · fixed
                  • Interrupt · pin-change interrupt · fixed
                    JDIGITAL.12D11PWM, MOSI, PB3Input + Outputrecommended
                    • GPIO · fixed
                    • PWM · OC2A · fixed
                    • SPI · MOSI · fixed
                    • Interrupt · pin-change interrupt · fixed
                      JDIGITAL.13D12MISO, PB4Input + Outputrecommended
                      • GPIO · fixed
                      • SPI · MISO · fixed
                      • Interrupt · pin-change interrupt · fixed
                        JDIGITAL.14D13SCK, LED_BUILTIN, PB5Input + Outputconditional
                        • GPIO · fixed
                        • SPI · SCK · fixed
                        • Interrupt · pin-change interrupt · fixed
                        • Connected to the on-board indicator LED
                        JDIGITAL.15GNDunavailable
                        • Ground · fixed
                          JDIGITAL.16AREFInputunavailable
                          • Power · ADC reference input · fixed
                            JDIGITAL.17SDAA4 duplicateInput + Outputconditional
                            • I2C · SDA · fixed
                            • Electrically the same signal as A4
                            JDIGITAL.18SCLA5 duplicateInput + Outputconditional
                            • I2C · SCL · fixed
                            • Electrically the same signal as A5
                            JANALOG.1NCunavailable
                              • Not connected.
                              JANALOG.2IOREFOutputunavailable
                              • Power · logic reference output · fixed
                              • Connected to 5 V on Uno Rev3
                              JANALOG.3RESETInputunavailable
                              • Reset · active-low reset · fixed
                                JANALOG.43V3Outputunavailable
                                • Power · 3.3 V regulated output · fixed
                                  JANALOG.55VInput + Outputunavailable
                                  • Power · 5 V rail · fixed
                                    JANALOG.6GNDunavailable
                                    • Ground · fixed
                                      JANALOG.7GNDunavailable
                                      • Ground · fixed
                                        JANALOG.8VINInputunavailable
                                        • Power · unregulated board input · fixed
                                        • absolute maximum: 20 V input — VIN board input only
                                        JANALOG.9A0D14, PC0Input + Outputrecommended
                                        • GPIO · fixed
                                        • ADC · ADC0 · 0 · fixed
                                        • Interrupt · pin-change interrupt · fixed
                                          JANALOG.10A1D15, PC1Input + Outputrecommended
                                          • GPIO · fixed
                                          • ADC · ADC1 · 1 · fixed
                                          • Interrupt · pin-change interrupt · fixed
                                            JANALOG.11A2D16, PC2Input + Outputrecommended
                                            • GPIO · fixed
                                            • ADC · ADC2 · 2 · fixed
                                            • Interrupt · pin-change interrupt · fixed
                                              JANALOG.12A3D17, PC3Input + Outputrecommended
                                              • GPIO · fixed
                                              • ADC · ADC3 · 3 · fixed
                                              • Interrupt · pin-change interrupt · fixed
                                                JANALOG.13A4SDA, D18, PC4Input + Outputrecommended
                                                • GPIO · fixed
                                                • ADC · ADC4 · 4 · fixed
                                                • I2C · SDA · fixed
                                                • Interrupt · pin-change interrupt · fixed
                                                  JANALOG.14A5SCL, D19, PC5Input + Outputrecommended
                                                  • GPIO · fixed
                                                  • ADC · ADC5 · 5 · fixed
                                                  • I2C · SCL · fixed
                                                  • Interrupt · pin-change interrupt · fixed