electrician.wiki

Boards and modules

Arduino Uno pinout

Every header pin on the Arduino Uno R3 and Uno R4, with PWM, serial, I2C and SPI functions and the current each pin can safely supply.

USBDC jack SCL SCL SDA SDA AREF AREF GND_TOP GND D13 D13 D12 D12 D11 ~D11 D10 ~D10 D9 ~D9 D8 D8 D7 D7 D6 ~D6 D5 ~D5 D4 D4 D3 ~D3 D2 D2 D1 D1 / TX D0 D0 / RX NC NC IOREF IOREF RESET RESET 3V3 3.3V 5V 5V GND1 GND GND2 GND VIN VIN A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 ICSP-1 MISO ICSP-2 +5V ICSP-3 SCK ICSP-4 MOSI ICSP-5 RESET ICSP-6 GND ICSP

UNO R3 (ATmega328P) - headers, top view

DataDigital I/OGroundAnalogNot connected / reservedPowerConfiguration

Tap or hover any pin to see what it does.

The Arduino Uno has 14 digital pins (D0–D13) and 6 analog inputs (A0–A5) on two long headers, plus a power header and a 6-pin ICSP connector. Pins marked with a tilde (~) can output PWM. The classic Uno R3 uses the ATmega328P at 5 V; the Uno R4 Minima and WiFi use a Renesas RA4M1, still with 5 V-tolerant I/O, and add a real digital-to-analog converter on A0 and a CAN interface.

Two habits save boards: keep each pin well under its current limit (drive LEDs through a resistor, anything heavier through a transistor), and remember that D0 and D1 are the USB serial port on the R3, so wiring sensors there can stop uploads.

UNO R3 (ATmega328P): every pin

PinNameFunction
D0D0 / RXUART RX (serial receive); ATmega328P PD0 (RXD); Pin-change interrupt PCINT16Wired to the on-board USB-serial converter (ATmega16U2). Circuits on D0/D1 can block sketch uploads and Serial Monitor traffic.
D1D1 / TXUART TX (serial transmit); PD1 (TXD); PCINT17Shared with the USB-serial converter, like D0.
D2D2External interrupt INT0; PD2; PCINT18
D3~D3PWM (Timer2, OC2B); External interrupt INT1; PD3; PCINT19PWM about 490 Hz.
D4D4PD4 (T0 counter input / XCK); PCINT20
D5~D5PWM (Timer0, OC0B); PD5 (T1 counter input); PCINT21PWM about 980 Hz. Timer0 also runs millis()/delay(), so very low duty cycles may not reach fully off.
D6~D6PWM (Timer0, OC0A); Analog comparator AIN0; PD6; PCINT22PWM about 980 Hz, same Timer0 caveat as D5.
D7D7Analog comparator AIN1; PD7; PCINT23
D8D8PB0 (ICP1 input capture / CLKO); PCINT0
D9~D9PWM (Timer1, OC1A); PB1; PCINT1PWM about 490 Hz. Using the Servo library disables PWM on D9 and D10.
D10~D10 / SSPWM (Timer1, OC1B); SPI SS (chip select); PB2; PCINT2Must stay an output (or be held high) when the board is SPI controller.
D11~D11 / MOSISPI MOSI / COPI; PWM (Timer2, OC2A); PB3; PCINT3Same signal as ICSP pin 4.
D12D12 / MISOSPI MISO / CIPO; PB4; PCINT4Same signal as ICSP pin 1.
D13D13 / SCKSPI SCK; On-board LED (LED_BUILTIN); PB5; PCINT5Same signal as ICSP pin 3. On the R3 the on-board LED is driven through an op-amp buffer, so it barely loads the pin.
GND_TOPGNDGroundGround pin on the digital-side header.
AREFAREFExternal reference voltage for the ADCOnly connect a reference voltage here after selecting analogReference(EXTERNAL) in code; keep it between 0 V and 5 V.
SDASDAI2C data - same signal as A4Duplicate of A4 (PC4) placed next to AREF for R3-style shields.
SCLSCLI2C clock - same signal as A5Duplicate of A5 (PC5).
NCNCNot connectedReserved on the R3 power header (BOOT on UNO R4).
IOREFIOREFReports the board's logic voltage to shields (5 V on UNO)Shields read this to pick 5 V or 3.3 V logic.
RESETRESETActive-low resetPull to GND to restart the sketch; same net as the reset button.
3V33.3V3.3 V outputArduino rates this pin at 50 mA maximum.
5V5V5 V rail - output from the regulator or USB, or a regulated 5 V inputFeeding 5 V in here bypasses the regulator and its protection; only use a clean, regulated supply.
GND1GNDGround
GND2GNDGround
VINVINRaw input to the 5 V regulator (same as the DC jack)7-12 V recommended, 6-20 V limits. When powered from the jack, VIN carries the jack voltage.
A0A0Analog input ADC0 (10-bit); Digital pin D14; PC0; PCINT8
A1A1Analog input ADC1; Digital pin D15; PC1; PCINT9
A2A2Analog input ADC2; Digital pin D16; PC2; PCINT10
A3A3Analog input ADC3; Digital pin D17; PC3; PCINT11
A4A4 / SDAAnalog input ADC4; I2C SDA; Digital pin D18; PC4; PCINT12Cannot be used as an analog input while the I2C bus (Wire) is in use.
A5A5 / SCLAnalog input ADC5; I2C SCL; Digital pin D19; PC5; PCINT13Same I2C caveat as A4.
ICSP-1MISOSPI MISO / CIPO (same as D12)6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).
ICSP-2+5V5 V6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).
ICSP-3SCKSPI SCK (same as D13)6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).
ICSP-4MOSISPI MOSI / COPI (same as D11)6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).
ICSP-5RESETReset (used by programmers)6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).
ICSP-6GNDGround6-pin ICSP header for the ATmega328P (2 x 3, pin 1 marked on the silkscreen).

UNO R4 Minima / WiFi (Renesas RA4M1): every pin

PinNameFunction
D0D0 / RXUART RX - Serial1 in sketches (Serial is the USB link)Not shared with USB on R4, unlike the R3.
D1D1 / TXUART TX - Serial1
D2D2Interrupt-capable; GPIO
D3~D3PWM; Interrupt-capable
D4D4GPIO; CAN TX on UNO R4 Minima (CANTX0, needs an external transceiver)
D5~D5PWM; CAN RX on UNO R4 Minima (CANRX0)
D6~D6PWM
D7D7GPIO
D8D8GPIO
D9~D9PWM
D10~D10 / SSPWM; SPI CS; CAN TX on UNO R4 WiFi (CANTX0)
D11~D11 / MOSIPWM; SPI COPI / MOSI
D12D12 / MISOSPI CIPO / MISO
D13D13 / SCKSPI SCK; LED_BUILTIN; CAN RX on UNO R4 WiFi (CANRX0)
GND_TOPGNDGroundGround pin on the digital-side header.
AREFAREFExternal reference voltage for the ADCOnly connect a reference voltage here after selecting analogReference(EXTERNAL) in code; keep it between 0 V and 5 V.
SDASDAI2C SDA - same signal as A4No I2C pull-up resistors are fitted on R4 boards (footprints only).
SCLSCLI2C SCL - same signal as A5No I2C pull-ups fitted.
BOOTBOOTBoot-mode selection input of the RA4M1Position 1 of the power header: NC on the R3, BOOT on the R4.
IOREFIOREFReports the board's logic voltage to shields (5 V on UNO)Tied to 5 V - the R4 keeps 5 V logic.
RESETRESETActive-low resetPull to GND to restart the sketch; same net as the reset button.
3V33.3V3.3 V output3.3 V output. On the R4 Minima it comes from the RA4M1's internal USB regulator (VCC_USB), not the buck converter, so keep loads light; on the R4 WiFi it comes from the 3.3 V LDO that also feeds the ESP32-S3.
5V5V5 V rail - output from the regulator or USB, or a regulated 5 V input5 V rail: up to about 1.2 A available when powered from VIN, up to about 2 A when powered from USB-C.
GND1GNDGround
GND2GNDGround
VINVINRaw input to the 5 V regulator (same as the DC jack)6-24 V input to the on-board buck converter (same net as the DC jack).
A0A0Analog input (10-bit default, 12/14-bit selectable); DAC output, up to 12-bit (true analog out); Digital D14
A1A1Analog input; Op-amp non-inverting input (OPAMP+); Digital D15
A2A2Analog input; Op-amp inverting input (OPAMP-); Digital D16
A3A3Analog input; Op-amp output (OPAMP OUT); Digital D17
A4A4 / SDAAnalog input; I2C SDA (Wire); Digital D18Shared with the SDA pin; avoid analog reads while I2C is active.
A5A5 / SCLAnalog input; I2C SCL (Wire); Digital D19Shared with the SCL pin.
ICSP-1MISOSPI MISO / CIPO (same as D12)6-pin SPI (ICSP) header, signals shared with D11-D13.
ICSP-2+5V5 V6-pin SPI (ICSP) header, signals shared with D11-D13.
ICSP-3SCKSPI SCK (same as D13)6-pin SPI (ICSP) header, signals shared with D11-D13.
ICSP-4MOSISPI MOSI / COPI (same as D11)6-pin SPI (ICSP) header, signals shared with D11-D13.
ICSP-5RESETReset (used by programmers)6-pin SPI (ICSP) header, signals shared with D11-D13.
ICSP-6GNDGround6-pin SPI (ICSP) header, signals shared with D11-D13.
OFFOFFShort to GND to switch off the 5 V buck converter (turns the board off)UNO R4 WiFi only, small header near the barrel jack. Works only when powered from VIN/jack, not from USB.
OFF-GNDGNDGround for the OFF switch
VRTCVRTCBackup supply input for the real-time clockR4 WiFi only. Apply 1.6-3.3 V (e.g. a coin cell) to keep the RTC running when main power is removed.
QWIIC-GNDGNDQwiic groundR4 WiFi Qwiic connector (4-pin JST-SH).
QWIIC-3V33.3VQwiic 3.3 V supply3.3 V only - do not connect 5 V modules.
QWIIC-SDASDA1Second I2C bus data (Wire1), RA4M1 P4013.3 V logic.
QWIIC-SCLSCL1Second I2C bus clock (Wire1), RA4M1 P4003.3 V logic.
ESP-1ESP_IO42ESP32-S3 GPIO42 / MTMS (debug)ESP header pins are 3.3 V - never connect 5 V signals.
ESP-2ESP_IO41ESP32-S3 GPIO41 / MTDI (debug)
ESP-3ESP_TXD0ESP32-S3 UART transmit
ESP-4ESP_DOWNLOADESP32-S3 boot/download control
ESP-5ESP_RXD0ESP32-S3 UART receive
ESP-6GNDGround

Key facts

  • UNO R3: ATmega328P at 16 MHz with 5 V logic. 14 digital pins (D0-D13) and 6 analog inputs (A0-A5); the analog pins also work as digital pins D14-D19.
  • UNO R3 PWM pins (marked ~): D3, D5, D6, D9, D10, D11. Frequency is about 490 Hz, except D5 and D6 at about 980 Hz.
  • UNO R3 serial: D0 = RX, D1 = TX, shared with the on-board USB-serial chip. External hardware on these pins can stop uploads from working.
  • UNO R3 I2C: SDA = A4, SCL = A5. The SDA/SCL pins beside AREF are the same two signals, not a second bus.
  • UNO R3 SPI: SS D10, MOSI D11, MISO D12, SCK D13 - also brought out on the 6-pin ICSP header (1 MISO, 2 +5V, 3 SCK, 4 MOSI, 5 RESET, 6 GND).
  • UNO R3 external interrupts: D2 (INT0) and D3 (INT1); every I/O pin also supports pin-change interrupts.
  • UNO R3 current limits: the ATmega328P datasheet gives 40 mA per I/O pin and 200 mA through the VCC/GND pins as absolute maximum (damage) ratings. Arduino specifies 20 mA per I/O pin for normal use, and the 3.3 V pin is limited to 50 mA.
  • UNO R3 port totals (datasheet guidance): sinking current should stay under 100 mA per pin group (C0-C5; B0-B5 + D5-D7; D0-D4) and sourcing under 150 mA per group.
  • UNO R3 power: VIN / DC jack 7-12 V recommended (6-20 V absolute limits). The 5V pin is the regulated rail; feeding it directly bypasses the regulator.
  • UNO R3 analog: 10-bit ADC; AREF sets an external reference. Never put more than 5 V on any pin - the chip's limit is VCC + 0.5 V.
  • UNO R3 header positions: digital headers along the top edge (D0 at the right end), power and analog headers along the bottom edge (A5 at the right end). Arduino's newer docs call MOSI/MISO 'COPI/CIPO'.
  • UNO R4 (Minima and WiFi): 32-bit Renesas RA4M1 (Arm Cortex-M4, 48 MHz) but still 5 V logic and the same header layout, so most 5 V shields fit.
  • UNO R4 current: Arduino rates each RA4M1 GPIO at only 8 mA (the R3 allowed 20 mA). The Minima pinout sheet also gives 60 mA as the overall maximum. Drive LEDs through resistors sized for this and use transistors for anything bigger.
  • UNO R4 analog: A0 is a true 12-bit DAC output; A1, A2, A3 are the built-in op-amp's +input, -input and output. analogRead() defaults to 10-bit but can be set to 12 or 14 bits; the default reference is 5 V (1.5 V internal option).
  • UNO R4 PWM is on the same ~ pins (D3, D5, D6, D9, D10, D11) at about 490 Hz, 8-bit by default and up to 12-bit with analogWriteResolution().
  • UNO R4 CAN controller (external transceiver required): R4 Minima uses D4 = CAN TX, D5 = CAN RX; R4 WiFi uses D10 = CAN TX, D13 = CAN RX.
  • UNO R4 power: VIN / DC jack 6-24 V into a buck converter; USB-C must be 5 V. The 5V pin can supply about 1.2 A when running from VIN and about 2 A from USB.
  • UNO R4: position 1 of the power header is BOOT (it is NC on the R3). The UART on D0/D1 is Serial1 in sketches; Serial is the USB connection. No I2C pull-up resistors are fitted.
  • UNO R4 WiFi extras: ESP32-S3 module (3.3 V) for Wi-Fi/Bluetooth behind a level shifter; 12 x 8 red LED matrix; Qwiic connector on a second I2C bus (Wire1) at 3.3 V only; OFF pin (short to GND to shut the buck converter off when powered from VIN); VRTC pin to keep the RTC alive from a small battery.

Sources

Pin assignments were checked against these references on 2026-10-14. The diagram is our own drawing.

Questions people ask

Which Arduino Uno pins are PWM?
D3, D5, D6, D9, D10 and D11 (marked ~). On the R3 they run at about 490 Hz, except D5 and D6 at about 980 Hz.
Which pins are I2C on the Arduino Uno?
SDA is A4 and SCL is A5. The SDA and SCL pins next to AREF are the same two signals, not a second bus.
How much current can an Arduino Uno pin supply?
Arduino rates the R3’s pins at 20 mA each; 40 mA is the absolute maximum that can damage the chip. The R4 pins are rated lower (about 8 mA), so use a resistor for every LED and a driver for motors and relays.
Can I use the analog pins as digital pins?
Yes. On the Uno R3, A0–A5 also work as digital pins D14–D19.