Pinout diagram
The Arduino Uno Rev 3 is one of the most popular microcontroller boards in the Arduino family, featuring a versatile pinout that supports digital I/O, analog input, communication protocols, and power distribution.
Official pinout diagram: Download the full Arduino Uno Rev 3 pinout diagram (PDF) from Arduino for detailed pin labeling and specifications.
Pin descriptions
The Arduino Uno Rev 3 has several types of pins, each serving different functions:
- Digital I/O pins (0-13): 14 digital pins that can be used as either input or output. Pins with ~ (3, 5, 6, 9, 10, 11) support PWM output.
- Analog input pins (A0-A5): 6 analog input pins that can read voltage levels from 0 to 5V with 10-bit resolution (0-1023).
- Power pins: 5V, 3.3V, GND, VIN for powering the board and external components.
- Special function pins: TX/RX (serial), SDA/SCL (I2C), MISO/MOSI/SCK (SPI), and AREF (analog reference).
Power pins
5V: Provides regulated 5V output when powered via USB or barrel jack (up to ~400mA). Can power sensors, LEDs, and other 5V components.
3.3V: Provides regulated 3.3V output (up to ~50mA). Used for components that require 3.3V logic levels.
GND: Ground pins (multiple available). Complete the circuit by connecting component ground to Arduino ground.
VIN: Voltage input pin. Can power the Arduino with 7-12V DC (recommended) or 6-20V (absolute max). Voltage is regulated down to 5V internally.
IOREF: Provides the reference voltage for I/O pins (5V on Uno R3). Used by shields to detect the logic level.
Digital & analog pins
Digital pins (0-13):
- Can be configured as INPUT or OUTPUT using
pinMode(). - Output up to 40mA per pin (20mA recommended for safe operation).
- Pins with ~ symbol (3, 5, 6, 9, 10, 11) support PWM via
analogWrite()with 8-bit resolution (0-255). - Pins 0 (RX) and 1 (TX) are also used for serial communication - avoid using them if Serial is needed.
- Pin 13 has an onboard LED connected (useful for testing).
Analog pins (A0-A5):
- Read analog voltage from 0 to 5V using
analogRead(). - 10-bit ADC resolution: returns values from 0 (0V) to 1023 (5V).
- Can also be used as digital I/O pins (numbered 14-19 in code).
- A4 (SDA) and A5 (SCL) double as I2C communication pins.
Communication protocols
Serial (UART): Pins 0 (RX) and 1 (TX) for serial communication with the computer or other devices. Used by the USB-to-serial converter on the Uno.
I2C: Pins A4 (SDA) and A5 (SCL) for I2C communication with sensors, displays, and other I2C devices. Supports multiple devices on a single two-wire bus.
SPI: Pins 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) for SPI communication. Used for high-speed communication with SD cards, displays, and sensors.
Reference resources:
- Official Arduino Uno R3 documentation: Arduino.cc Uno R3
- See our Arduino IDE 2.0 sketch upload guide for programming basics.