Arduino Uno Rev3
Components Index
What is Arduino Uno?
The Arduino Uno is the perfect board to get started with electronics and coding. If this is your first experience tinkering with the platform, the UNO is the most robust board you can start playing with. Equipped with the ATmega328P microcontroller, it provides a stable environment for hundreds of libraries and thousands of tutorials online. Start building with our basic projects.
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller. The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. It's the industry standard for prototyping and education, trusted by millions of makers worldwide. Use our electronics calculators for component selection.
Key Features
Easy to Use
Simple programming interface with Arduino IDE. Perfect for beginners and experts alike.
14 Digital I/O Pins
6 pins provide PWM output for motor control, LED dimming, and more.
6 Analog Inputs
10-bit resolution (0-1023) for reading sensors like temperature, light, and potentiometers.
Multiple Power Options
USB powered or external 7-12V DC adapter. Automatic power source selection.
Extensive Libraries
Thousands of open-source libraries for sensors, displays, motors, and communication protocols.
Built-in Protection
Resettable polyfuse protects USB ports. Reverse voltage protection on power jack.
Pin Configuration
Digital Pins (0-13)
Can be used as INPUT or OUTPUT. Operate at 5V. Each pin can provide or receive 20mA of current.
- Pins 0-1: Serial communication (TX/RX)
- Pins 2-3: External interrupts
- Pins 3, 5, 6, 9, 10, 11: PWM output (analogWrite)
- Pin 13: Built-in LED
Analog Pins (A0-A5)
10-bit analog-to-digital converter (ADC). Reads voltages from 0-5V and converts to values 0-1023.
- Can also be used as digital I/O pins
- Perfect for reading sensors (temperature, light, etc.)
- A4 (SDA) and A5 (SCL) support I2C communication
Power Pins
- 5V: Regulated 5V output (max 500mA from USB)
- 3.3V: 3.3V output (max 50mA)
- GND: Ground pins (multiple available)
- Vin: Input voltage (7-12V recommended)
- IOREF: Reference voltage for shields
Communication Protocols
Serial (UART)
Pins 0 (RX), 1 (TX)
Communication with computer via USB or other serial devices
I2C (TWI)
A4 (SDA), A5 (SCL)
Connect multiple devices using only 2 wires. Great for sensors and displays
SPI
Pins 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
High-speed communication for SD cards, displays, and wireless modules
Advanced Topics & Expert Knowledge
Hardware Interrupts
Pins 2 and 3 support external interrupts. Use attachInterrupt() to trigger functions instantly when a pin changes state, without polling in loop().
Use case: Rotary encoders, emergency stops, precise timing events
PWM Frequency Control
Default PWM frequency is ~490Hz (pins 5,6 at ~980Hz). Modify timer registers to change frequency for motor control or audio generation.
Warning: Changing PWM frequency affects delay() and millis() timing
Watchdog Timer (WDT)
Hardware timer that resets the Arduino if your code freezes. Essential for mission-critical applications and remote deployments.
Pro tip: Call wdt_reset() regularly in loop() to prevent unwanted resets
EEPROM Persistence
1KB non-volatile memory survives power loss. Store calibration data, settings, or sensor thresholds. Limited to ~100,000 write cycles per cell.
Best practice: Use EEPROM.update() to avoid unnecessary writes
Low Power Modes
Put ATmega328P into sleep modes to reduce power consumption from 15mA to 0.1ΞA. Critical for battery-powered projects.
Library: LowPower by Rocket Scream (supports multiple sleep modes)
Bootloader & ISP Programming
The bootloader occupies 0.5KB flash. Use ISP (In-System Programming) to burn bootloaders, set fuses, or upload code without USB.
Advanced: Modify fuse bits to disable BOD or change clock source
ð Official Citations & Technical References
To ensure the absolute accuracy and reliability of this guide, all specifications, pinouts, and register settings have been cross-verified with official manufacturer documentation: