The Arduino UNO packs 14 digital pins, 6 analog pins and a power header into one small board, and many pins do more than one job. Knowing what each pin can do helps you avoid wiring mistakes before they waste your time. Here is a quick overview of every pin group.
Read the full tutorial with diagrams and tables at controllerstech.com.
The Board at a Glance
The UNO is built around the ATmega328P microcontroller running at 16 MHz on 5 V logic. It has 32 KB of flash, 2 KB of SRAM and 1 KB of EEPROM, which is plenty for most beginner and hobby projects.
Power Pins
The power header gives you VIN, 5V, 3.3V, GND, RESET and IOREF. Feed the board through VIN with 7 V to 12 V, and remember that the 3.3V pin supplies only about 50 mA. Always connect the ground of external modules to a GND pin, so both devices share a common reference.
Digital and PWM Pins
Pins D0 to D13 read and write HIGH and LOW signals. Treat 20 mA per pin as a safe limit (40 mA is the absolute maximum), and use a transistor or relay for motors and other heavy loads. Six of these pins, 3, 5, 6, 9, 10 and 11, support PWM through analogWrite(), which is how you dim an LED or control the speed of a small motor.
Interrupt Pins
Pins 2 and 3 are the dedicated external interrupts, INT0 and INT1, and each has its own handler. Every other pin can use pin change interrupts, but they share one handler per port, so your code has to check which pin changed.
Analog Pins
A0 to A5 feed a 10-bit ADC, so analogRead() returns values from 0 to 1023. The AREF pin lets you set a custom reference voltage for finer resolution on small signals. If you run short of pins, A0 to A5 also work as ordinary digital pins.
Communication Pins
- UART: pin 0 (RX) and pin 1 (TX), shared with the USB connection, so disconnect any wires from them when you upload a sketch.
- I2C: A4 (SDA) and A5 (SCL), used by OLED displays, RTC modules and many sensors.
- SPI: pins 10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK), used by SD cards, TFT displays and flash memory.
Timer Pins
Pins 4 and 5 are the external clock inputs T0 and T1 for the hardware timers. Pin 8 is the ICP1 input capture pin, which records the exact timing of an event without any help from the CPU.
Quick Rules to Remember
- Never apply more than 5 V to an I/O or analog pin.
- Keep inputs from floating by using a pull-up or pull-down resistor.
- Plan ahead, since I2C takes A4 and A5, and SPI takes pins 10 to 13.
- Avoid pin 13 as an input because of the onboard LED.
Read the Full Guide
This summary skips the diagrams, wiring details, code examples and full pinout tables. You can find all of them in the complete tutorial: Arduino UNO Pinout: Complete Guide with Diagram on controllerstech.com.
