← 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| Pin | Name | Functions | Notes |
|---|---|---|---|
| 1 | IOREF | POWER | Reference for digital logic V - connected to 5V |
| 2 | Reset | GPIO | |
| 3 | +3V3 | POWER | |
| 4 | +5V | POWER | |
| 5 | GND | GND | |
| 6 | GND | GND | |
| 7 | VIN | POWER | |
| 8 | A0 | ADCGPIO | |
| 9 | A1 | ADCGPIO | |
| 10 | A2 | ADCGPIO | |
| 11 | A3 | ADCGPIO | |
| 12 | A4/SDA | ADCI2CGPIO | |
| 13 | A5/SCL | ADCI2CGPIO | |
| 14 | D0 | GPIOUART | |
| 15 | D1 | GPIOUART | |
| 16 | D2 | GPIO | |
| 17 | D3 | GPIOPWM | |
| 18 | D4 | GPIO | |
| 19 | D5 | GPIOPWM | |
| 20 | D6 | GPIOPWM | |
| 21 | D7 | GPIO | |
| 22 | D8 | GPIO | |
| 23 | D9 | GPIOPWM | |
| 24 | SS | GPIOSPIPWM | |
| 25 | MOSI | GPIOSPIPWM | |
| 26 | MISO | GPIOSPI | |
| 27 | SCK | GPIOSPI | |
| 28 | GND | GND | |
| 29 | AREF | POWER | Analog reference voltage |
| 30 | SDA | ADCI2CGPIO | Dedicated I2C data pin by AREF (shared with A4) |
| 31 | SCL | 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
| Pin | Arduino Uno | ESP32 DevKitC (WROOM-32) | Notes |
|---|---|---|---|
| LED + | D13 | GPIO23 | Through a 220-330 ohm resistor to the LED anode |
| LED - | GND | GND | |
| Button | D2 | GPIO4 | Other side to GND; use INPUT_PULLUP / PULL_UP |
Typical uses
- Learning electronics and prototyping
- 5 V projects, shields, and classroom kits