The Arduino Uno is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
microcontroller board based on the
Microchip
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny M ...
ATmega328P microcontroller and developed by
Arduino.cc and initially released in 2010.
The board is equipped with sets of digital and analog
input/output
In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals ...
(I/O) pins that may be interfaced to various
expansion boards (shields) and other circuits.
The board has 14 digital I/O pins (six capable of
PWM output), 6 analog I/O pins, and is programmable with the
Arduino IDE (Integrated Development Environment), via a type B
USB cable
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad ...
.
It can be powered by the USB cable or by an external
9-volt battery, though it accepts voltages between 7 and 20 volts. It is similar to the
Arduino Nano
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328P released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.
The Arduino Nano is equipped with 30 ma ...
and Leonardo. The hardware reference design is distributed under a
Creative Commons
Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has releas ...
Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
The word "
uno
Uno or UNO may refer to:
Arts, entertainment, and media Television
* "Uno" (''Better Call Saul''), premiere episode of the American TV series ''Better Call Saul''
* ''Uno'' (film), a 2004 Norwegian drama film
* Rai Uno, an Italian TV channel
**' ...
" means "one" in
Italian and was chosen to mark the initial release of
Arduino Software.
The Uno board is the first in a series of USB-based Arduino boards;
it and version 1.0 of the Arduino
IDE were the reference versions of Arduino, which have now evolved to newer releases.
The ATmega328 on the board comes preprogrammed with a
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
that allows uploading new code to it without the use of an external hardware programmer.
While the Uno communicates using the original STK500 protocol,
it differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it uses the Atmega16U2 (Atmega8U2 up to version R2) programmed as a
USB-to-serial converter.
History

The Arduino project started at the
Interaction Design Institute Ivrea
Interaction Design Institute Ivrea (also known as Interaction Ivrea or IDII) was a two-year graduate program in the field of Interaction Design operating in the town of Ivrea, in Northern Italy. It was based in the former Olivetti Study and Res ...
(IDII) in
Ivrea
Ivrea (; pms, Ivrèja ; ; lat, Eporedia) is a town and ''comune'' of the Metropolitan City of Turin in the Piedmont region of northwestern Italy. Situated on the road leading to the Aosta Valley (part of the medieval Via Francigena), it stradd ...
, Italy. At that time, the students used a
BASIC Stamp
The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter ( PBASIC) built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s.
Technical specifications
Although t ...
microcontroller, at a cost that was a
considerable expense for many students. In 2003, Hernando Barragán created the development platform ''
Wiring'' as a Master's thesis project at IDII, under the supervision of Massimo Banzi and Casey Reas, who are known for work on the
Processing
Processing is a free graphical library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming ...
language. The project goal was to create simple, low-cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a
printed circuit board
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a laminated sandwich str ...
(PCB) with an
ATmega168 microcontroller, an IDE based on Processing, and library functions to easily program the microcontroller.
In 2003, Massimo Banzi, with David Mellis, another IDII student, and David Cuartielles, added support for the cheaper ATmega8 microcontroller to Wiring. But instead of continuing the work on Wiring, they
forked the project and renamed it ''Arduino''. Early
arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
boards used the FTDI USB-to-serial driver chip and an
ATmega168.
The Uno differed from all preceding boards by featuring the ATmega328P microcontroller and an ATmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.
Technical specifications
*
Microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
:
Microchip
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny M ...
ATmega328P
* Operating Voltage: 5 Volts
* Input Voltage: 7 to 20 Volts
* Digital I/O Pins: 14
* PWM Pins: 6 (Pin # 3, 5, 6, 9, 10 and 11)
* UART: 1
* I2C: 1
* SPI: 1
* Analog Input Pins: 6
* DC Current per I/O Pin: 20 mA
* DC Current for 3.3V Pin: 50 mA
*
Flash Memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both u ...
: 32 KB of which 0.5 KB used by
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
*
SRAM: 2 KB
*
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as ...
: 1 KB
* Clock Speed: 16 MHz
* Length: 68.6 mm
* Width: 53.4 mm
* Weight: 25 g
* ICSP Header: Yes
* Power Sources: DC Power Jack, USB Port and the VIN pin (+5 volt only)
Headers
General pin functions
* LED: There is a built-in LED driven by digital pin 13. When the pin is high value, the LED is on, when the pin is low, it is off.
* VIN: The input voltage to the Arduino/Genuino board when it is using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
* 5V: This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 20V), the USB connector (5V), or the VIN pin of the board (7-20V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage the board.
* 3V3: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
* GND: Ground pins.
* IOREF: This pin on the Arduino/Genuino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source, or enable voltage translators on the outputs to work with the 5V or 3.3V.
* Reset: Typically used to add a reset button to shields that block the one on the board.
Special pin functions
Each of the 14 digital pins and 6 analog pins on the Uno can be used as an input or output, under software control (using pinMode(), digitalWrite(), and digitalRead() functions). They operate at 5 volts. Each pin can provide or receive 20 mA as the recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50K ohm. A maximum of 40mA must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller. The Uno has 6 analog inputs, labeled A0 through A5; each provides 10 bits of resolution (i.e. 1024 different values). By default, they measure from ground to 5 volts, though it is possible to change the upper end of the range using the AREF pin and the analogReference() function.
In addition, some pins have specialized functions:
* Serial /
UART
A universal asynchronous receiver-transmitter (UART ) is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least signific ...
: pins 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL serial chip.
* External interrupts: pins 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
*
PWM (pulse-width modulation): pins 3, 5, 6, 9, 10, and 11. Can provide 8-bit PWM output with the analogWrite() function.
*
SPI
SPI may refer to:
Organizations
* Indian Protection Service (''Serviço de Proteção ao Índio''), Brazil
* Shotmed Paper Industries, an Egyptian paper manufacturers
* Simulations Publications, Inc., a former US board game publisher
* Sony P ...
(Serial Peripheral Interface): pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK). These pins support SPI communication using the SPI library.
* TWI (two-wire interface) /
I²C
I2C (Inter-Integrated Circuit, ), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is w ...
: pin SDA (A4) and pin SCL (A5). Support TWI communication using the Wire library.
* AREF (analog reference): Reference voltage for the analog inputs.
Communication

The Arduino/Genuino Uno has a number of facilities for communicating with a computer, another Arduino/Genuino board, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The 16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. Arduino Software (IDE) includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows serial communication on any of the Uno's digital pins.
Automatic (software) reset
Rather than requiring a physical press of the reset button before an upload, the Arduino/Genuino Uno board is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip.
This setup has other implications. When the Uno is connected to a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened.
See also
*
AVR microcontrollers
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to ...
*
Atmel AVR instruction set
*
In-system programming
References
Attribution:
Further reading
External links
* {{Official website, https://store.arduino.cc/arduino-uno-rev3, Arduino Uno official webpage
*
Uno Rev3 Schematic* Board comparisons:
*
Differences Between Official Arduino Uno Board Revisions (R1/R2/R3)*
Arduino Software Cheat Sheet;Pinout Diagrams
Arduino Uno BoardATmega328 DIPATmega328 SMD;Mechanical
Dimensions and Hole PatternsDimensions, Hole Patterns, Header Locationsan
PCB Templates
Arduino