Arduino UNO: Free hardware board analysis in depth

Arduino bus I2C

Since the release of ‘Strong’, the Arduino UNO board, much has evolved with the release of its latest revisions. In addition, its creators have been quick to create other similar boards in different formats to cover more needs than the UNO initially covered. Many others have even dared to create their own clone or compatible boards, although not with the same success.

Before the appearance of Arduino there were other similar projects, like the famous Parallax boards with Microchip PIC microcontrollers that could be programmed very easily using languages like PBASIC and others. An example of this is the Parallax Basic Stamp 2. But the fact that it is not free hardware meant that it did not have the same market roots as the Arduino project has had. The Italian board has been a real revolution in this sense.

What is Arduino UNO Rev3?

Logo de Arduino

Arduino UNO Rev3 is the last revision that exists at the moment of this board. It is a small electronic board with a programmable microcontroller on its PCB. Besides the chip, it also includes a series of pins as outputs and inputs that can be used by programming the chip to do different things. That way you can create electronic projects very easily.

This board comes from the ‘Arduino Project’, an Italian project started in 2005 that focused on developing open software and hardware mainly for students. The first designs were aimed at a high school in Ivrea, Italy. At that time the students of this school used the famous BASIC Stamps that I have already mentioned. These were expensive, and not so open.

Before all that, Hernando Barragan had created a development platform called Wiring, a project inspired by the famous ‘Strong’ programming language Processing. With this as a base, they set to work to develop low cost and simple tools for students. So they started to create a hardware board with a PCB and a simple microcontroller, as well as the creation of an IDE (Integrated Development Environment).

Since Wiring was already using a board with an ATmega168 microcontroller, the following developments followed with the same orientation. Massimo Banzi and David Mellis would add ‘strong’ ATmega8 support for Wiring, which was even cheaper than the 168 version. The Wiring project is then renamed to Arduino.

The name of the famous project originated in a bar in Ivrea, where the founders of the project met. The bar was called Bar di Re Arduino, which in turn was named after Arduino of Ivrea, King of Italy until 1014.

Given the potential of these plates, more support was added from the community to move forward and create more plates. In addition, electronic component suppliers and manufacturers began to design specific Arduino compatible products. Such is the case of Adafruit Industries. This led to many additional shields and modules for these boards.

In view of the overwhelming success, the Arduino Foundation was also created to continue promoting and bringing together the efforts of the Arduino project. A model similar to other similar organizations such as the Linux Foundation, Raspberry Pi Foundation, RISC-V Foundation, etc.

From this moment on, many variants of Arduino have been generated, with different form factors and diverse microcontrollers, as well as ‘strong’ many accessories that we have discussed in this blog:

Detailed information about Arduino UNO

This Arduino UNO board has some characteristics that make it unique, and it has a series of differences with respect to other Arduino boards that we are going to highlight.

Technical characteristics, scheme and pinout

Arduino Pinout

The pinout and technical characteristics of the Arduino UNO Rev3 board are important to know how to use it properly, otherwise you will not know the limits and the correct way to connect all the electronic components to their available pins and buses.

Starting first with its characteristics, you have:

  • Atmel ATmega328 Microcontroller at 16 Mhz
  • Integrated SRAM memory: 2KB
  • Integrated EEPROM memory: 1 KB
  • Flash memory: 32 KB, of which 0.5 KB are used by the bootloader, so they cannot be used for other purposes.
  • Chip working voltage: 5v
  • Recommended supply voltage: 7-12v (although it admits 6 to 20v)
  • Direct current intensity: 40mA for I/O and 50mA for pin 3.3V
  • I/O pins: 14 pins, of which 6 are PWM.
  • Analog pins: 6 pins
  • Reset button to restart the execution of the program loaded in memory.
  • USB interface chip.
  • Oscillator clock for the signals that need a rhythm.
  • Power LED on the PCB.
  • Integrated voltage regulator.
  • Price around 20 ?.

As for the pins and connections available on the Arduino UNO board:

  • Barrel Jack or DC Power Jack: This is the connector of the Arduino UNO board to power it electrically. The board can be powered by a suitable jack and by an adapter to supply between 5-20 volts. If you are going to connect a lot of elements to the board, you will probably have to overcome the 7v barrier to make it enough.
  • USB: the USB port is used to connect the Arduino board to the PC, so you can program it or receive data from it through the serial port. That is, it will basically allow you to load your Arduino IDE sketches into the internal memory of the microcontroller so that it can run it. It can also serve as a power supply for the board and the elements connected to it.
  • VIN Pin: you will also find a VIN pin that allows you to power the Arduino UNO board using an external power supply, if you don’t want to use the USB or the previous jack.
  • 5V: supplies a voltage of 5V. The energy that will reach it comes from one of the three previous cases by which you can power your board.
  • 3V3: this pin allows you to power your projects at 3.3v and up to 50mA.
  • GND: it has 2 ground pins, to connect to them the ground of your electronic projects.
  • Reset: a pin to reset by sending a LOW signal through it.
  • Serial Port: has two pins 0 (RX) and 1 (TX) to receive and transmit TTL serial data respectively. They are connected to the microcontroller on its USB-to-TTL pins.
  • External interrupts: 2 and 3, pins that can be configured to activate interrupts with an upward, downward edge or a high or low value.
  • SPI: the bus is on pins marked 10 (SS), 11 (MISOI), and 13 (SCK) with which you can communicate using the SPI library.
  • A0-A5: these are the analog pins.
  • 0-13: are the digital input or output pins that you can configure. In the pin 13 there is connected a small integrated LED that if this pin is high it will light up.
  • TWI: TWI communication support using the Wire library. You can use pin A4 or SDA and pin A5 or SCL.
  • AREF: reference voltage pin for analog inputs.



Being an open source board, you will not only find the datasheet as in many other electronic products. You can also download many other electronic documents and schematics that will help you understand how this Arduino ONE board works internally and even build your own Arduino implementation. For example, the following official information is available:

Differences with other Arduino plates

Placas de Arduino

Arduino UNO Rev3 is the ideal plate for all those who are starting to use this type of plate. In addition, there are starter kits to get you started with everything you need included. This kit not only includes a lot of electronic components to start practicing, but also a very detailed manual to help you in every step.

However, there are other versions or formats of the Arduino board that are very useful for more advanced applications or for implementing a project where size matters. The main differences between boards are mainly in the type of integrated microcontroller, some being a little more powerful and with more memory to include sketches or much more sophisticated programs, and the number of pins available. But if we compare the three most sold boards, the differences are the following:

  • Arduino UNO Rev3: see the section with technical characteristics.
  • Arduino Mega: the price rises above 30 euros, with slightly larger dimensions to the plate ONE. It also includes a more powerful ATmega2560 microcontroller that also works at 16Mhz, but has 256KB of flash memory, 4KB of EEPROM, and 8KB of SRAM for more complex programs. It also has more pins, with 54 digital I/O, 15 PWM, and 16 analog.
  • Arduino Micro: stands out for its small size, being smaller than the ONE, although similarly priced. In that reduced space it integrates a microcontroller ATmega32U4 more reduced, but that also works to 16Mhz. The memory is the same as the UNO, except for the SRAM, which has 0.5KB more. The pins have also increased despite the reduced size, with 20 digital, 7 PWM and 12 analog. Another difference is that it uses micro-USB for connection instead of USB. Being so small it is not compatible with shields like the two previous ones…

Arduino IDE and programming

Screenshot of Arduino IDE

To program Arduino, in any of its versions, you have available the IDE or development environment called Arduino IDE. It is compatible with both MacOS, Windows and Linux. It is a free and open source suite that you can download from this link. With it you can create the codes to program the microcontroller chip on the board and make your projects work.

The platform is supported by an Arduino programming language that is based on the high-level programming language Processing, which in turn is similar to the well-known C++. That’s why they will have a similar syntax and way of acting.

You can learn more about how to use Arduino IDE with the articles in this blog explaining how to integrate each electronic component or module with the board, or directly download the programming course Arduino IDE in PDF for free. With it you will learn the syntax and the programming language to start with your projects…

Leave a Comment