ATmega328P
Arduino Uno R3
The classic beginner board: a 5 V, 16 MHz ATmega328P with 14 digital pins (6 with PWM), 6 analog inputs, USB programming and a huge community. Ideal for learning digital and analog electronics.
GPIO ADC PWM I2C Power GND
ID: SCLi2c
SCL
Code: SCL
Functions
I2C clock (same signal as A5)
Notes
- Duplicate of A5 for shields.
Operating voltage: 5 V logic
Hardware Specifications
Microcontroller
ATmega328P, 8-bit AVR
Clock speed
16 MHz
Flash memory
32 KB (0.5 KB used by the bootloader)
SRAM
2 KB
EEPROM
1 KB
Operating voltage
5 V
Input voltage (recommended)
7–12 V on VIN or the barrel jack
Digital I/O pins
14 (D0–D13), 6 with PWM
PWM pins
3, 5, 6, 9, 10, 11 (≈490 Hz; 5 and 6 ≈980 Hz)
Analog inputs
6 (A0–A5), 10-bit
DC current per I/O pin
20 mA recommended, 40 mA absolute maximum
3.3 V pin current
50 mA
USB
USB-B, serial via ATmega16U2
Complete Pinout Table
32| Pin | Label | Type | Functions | Warnings & Notes |
|---|---|---|---|---|
| SCL | SCL | i2c | I2C clock (same signal as A5) | Duplicate of A5 for shields. |
| SDA | SDA | i2c | I2C data (same signal as A4) | Duplicate of A4 for shields. |
| AREF | AREF | power | Analog reference input | Never apply a voltage here while using the default reference. |
| GND3 | GND | ground | Ground (0 V) | All GND pins are connected together. |
| D13 | 13 | spi | SPI SCK, Built-in LED (LED_BUILTIN) | The on-board L LED is connected here. |
| D12 | 12 | spi | SPI MISO | — |
| D11 | 11 | pwm | PWM (Timer2, ≈490 Hz), SPI MOSI | — |
| D10 | 10 | pwm | PWM (Timer1, ≈490 Hz), SPI SS | PWM is unavailable here while the Servo library is in use. |
| D9 | 9 | pwm | PWM (Timer1, ≈490 Hz) | PWM is unavailable here while the Servo library is in use. |
| D8 | 8 | digital | — | — |
| D7 | 7 | digital | — | — |
| D6 | 6 | pwm | PWM (Timer0, ≈980 Hz) | — |
| D5 | 5 | pwm | PWM (Timer0, ≈980 Hz) | — |
| D4 | 4 | digital | — | — |
| D3 | 3 | pwm | PWM (Timer2, ≈490 Hz), External interrupt INT1 | — |
| D2 | 2 | digital | External interrupt INT0 | — |
| D1 | 1 | uart | UART TX (Serial) | Shared with USB serial: avoid for other uses while uploading or using Serial. |
| D0 | 0 | uart | UART RX (Serial) | Shared with USB serial: anything connected here can block uploads. |
| NC | — | nc | Not connected | — |
| IOREF | IOREF | power | Tells shields the board's logic voltage (5 V) | — |
| RESET | RESET | reset | Pull LOW to restart the microcontroller | Same as pressing the reset button. |
| V3_3 | 3.3V | power | 3.3 V output | Not enough current for motors or Wi-Fi modules. |
| V5 | 5V | power | 5 V output | Motors and servos under load need their own supply — share GND only. |
| GND1 | GND | ground | Ground (0 V) | — |
| GND2 | GND | ground | Ground (0 V) | — |
| VIN | VIN | power | Input 7–12 V (or the jack voltage when powered by the jack) | Don't connect VIN to 5V. |
| A0 | A0 | analog | ADC channel 0 (10-bit, 0–1023), Digital pin 14 | analogRead() returns 0–1023 for 0–5 V. |
| A1 | A1 | analog | ADC channel 1 (10-bit, 0–1023), Digital pin 15 | analogRead() returns 0–1023 for 0–5 V. |
| A2 | A2 | analog | ADC channel 2 (10-bit, 0–1023), Digital pin 16 | analogRead() returns 0–1023 for 0–5 V. |
| A3 | A3 | analog | ADC channel 3 (10-bit, 0–1023), Digital pin 17 | analogRead() returns 0–1023 for 0–5 V. |
| A4 | A4 | analog | ADC channel 4, I2C SDA, Digital pin 18 | analogRead() returns 0–1023 for 0–5 V. |
| A5 | A5 | analog | ADC channel 5, I2C SCL, Digital pin 19 | analogRead() returns 0–1023 for 0–5 V. |