Skip to main content

The Arduino Uno is the most common of the Arduino boards. It is based on the ATmega328P microcontroller.

The Arduino Uno has become one of the most popular Arduino boards and is now in its third official revision. It is available in DIP and SMD configurations and supports a wide range of shields. There are also many third-party clones that use the same layout and specifications.

Use this tag when asking a question about using Uno boards (or exact clones), for example, asking about shield compatibility or pin configuration. Alternatively, use the tag when the question is specific to the surface-mount version of the Uno (as opposed to the DIP version).

From the official Arduino site:

Arduino Uno

Arduino/Genuino Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digital input/output pins (6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; Connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started.

Technical specs

  • Microcontroller: ATmega328P
  • Operating Voltage: 5V
  • Input Voltage (recommended): 7-12V
  • Input Voltage (limit): 6-20V
  • Digital I/O Pins: 14 (of which 6 provide PWM output)
  • PWM Digital I/O Pins: 6
  • Analog Input Pins: 6
  • DC Current per I/O Pin: 20 mA
  • DC Current for 3.3V Pin: 50 mA
  • Flash Memory: 32 KB (ATmega328P) of which 0.5 KB used by bootloader
  • SRAM: 2 KB (ATmega328P)
  • EEPROM: 1 KB (ATmega328P)
  • Clock Speed: 16 MHz


  • The "Input Voltage" above refers to the power input (to the power jack), not the amount of voltage you can put on the input pins (which is a maximum of 5┬áV).

  • The six analog input pins can also be used as digital pins, so you actually have 20 pins that can be used for digital input/output.


Code Language (used for syntax highlighting): lang-cpp