← All parts

Arduino Uno R3

ArduinoATmega328P

The Arduino Uno R3 is a versatile development board featuring an ATmega328P microcontroller, ideal for beginners in electronics and coding. It offers 14 digital I/O pins, 6 analog inputs, and USB connectivity.

In stock

Specifications

15
Operating Voltage
5 V
Input Voltage Vin
6-20 V
Logic Level
5 V
Clock Speed
16 MHz
Flash Memory
32 kB
Sram
2 kB
Eeprom
1 kB
Gpio Count
20
Pwm Channels
6
Adc Channels
6
Uart Interfaces
1
Spi Interfaces
1
I2c Interfaces
1
Usb
USB-B
Operating Temperature
-40 to 85 °C

Pinout

31
PinNameFunctionsNotes
1IOREF
POWER
Reference for digital logic V - connected to 5V
2Reset
GPIO
3+3V3
POWER
4+5V
POWER
5GND
GND
6GND
GND
7VIN
POWER
8A0
ADCGPIO
9A1
ADCGPIO
10A2
ADCGPIO
11A3
ADCGPIO
12A4/SDA
ADCI2CGPIO
13A5/SCL
ADCI2CGPIO
14D0
GPIOUART
15D1
GPIOUART
16D2
GPIO
17D3
GPIOPWM
18D4
GPIO
19D5
GPIOPWM
20D6
GPIOPWM
21D7
GPIO
22D8
GPIO
23D9
GPIOPWM
24SS
GPIOSPIPWM
25MOSI
GPIOSPIPWM
26MISO
GPIOSPI
27SCK
GPIOSPI
28GND
GND
29AREF
POWER
Analog reference voltage
30SDA
ADCI2CGPIO
Dedicated I2C data pin by AREF (shared with A4)
31SCL
ADCI2CGPIO
Dedicated I2C clock pin by AREF (shared with A5)

Interactive pinout

Highlight:
ATmega328P

Click a pin to copy its name · tap a tag above to spotlight a bus.

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

arduino
// Arduino Uno R3 - blink + analog read starter
#ifdef LED_BUILTIN
  #define LED LED_BUILTIN   // D13 on the Uno
#else
  #define LED 2             // fallback for boards without LED_BUILTIN
#endif

void setup() {
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
  Serial.print("A0="); Serial.println(analogRead(A0));   // 0..1023
}

MicroPython

python
# NOTE: the Uno's ATmega328P has no MicroPython port.
# Equivalent blink shown on a MicroPython board (ESP32) for comparison:
from machine import Pin
import time

led = Pin(2, Pin.OUT)   # ESP32 onboard LED

while True:
    led.value(1); time.sleep(0.5)
    led.value(0); time.sleep(0.5)

Wiring

PinArduino UnoESP32 DevKitC (WROOM-32)Notes
LED +D13GPIO23Through a 220-330 ohm resistor to the LED anode
LED -GNDGND
ButtonD2GPIO4Other side to GND; use INPUT_PULLUP / PULL_UP

Typical uses

  • Learning electronics and prototyping
  • 5 V projects, shields, and classroom kits

Related parts

7