If there ever is a definitive written history of makers using microcontrollers, Arduino will be on the first page. They weren't the first easily accessible microcontroller-based development boards, but its initial inception over 10 years ago fused programming, DIY electronics, and creativity in a way that changed the maker movement forever.
The Arduino project works on an open hardware principle, meaning that all the hardware and software involved with the project is open-source and available to anyone. In theory, you can buy the parts to make an Arduino board and build one using their specifications.
Arduino boards come in many sizes, from the large footprint Mega and Leonardo, to the diminutive Nano and Micro. While there are differences between them in functionality and even the chips they run on, they all provide largely the same thing: An accessible environment for learning and prototyping code controlled DIY electronics. Today we'll be looking at the Arduino Uno - what it is, what it can do, and whether you should buy one.
What is the Arduino Uno?
The Arduino Uno is a development board based around the ATmega328p microcontroller from Microchip. It's by far the most recognizable Arduino board, consisting of pin headers on each side for interfacing with the microcontroller, a USB port for power and programming, and a barrel jack for powering separately once programmed.
We'll look at the specifications of the Arduino Uno in a moment, but perhaps for now the best thing to cover is what it can do. The pin header on each side of the Uno consists of pins for connecting to electrical components. These could take the form of an analog input, like a temperature sensor sending data back to the microcontroller, or a digital output, like an LED that lights up when a certain temperature is reached.
Some of the same pins are capable of providing different types of signals. Pulse width modulation (PWM) can be used to run motors or dim LEDs to a set brightness, whereas others can communicate with things like screens and RFID readers using SPI and I2C. You can even use an Arduino Uno to program other microcontrollers.
This functionality is true of all microcontrollers. The difference with the Arduino Uno is that it was among the first that was widely adopted by the hobby electronics community. You've probably known for a long time that the keypad of your microwave needs a "brain" to take the numbers you type in and convert them into a time and power level to cook your food for. The Arduino platform gives an easy access point to explore these kinds of relationships between electronic components, code-based logic, and human interaction.
Arduino Uno Specs
The specifications for the Arduino Uno are really just the specifications for the ATmega328p chip that powers it. Everything else around it is designed to make powering and interfacing with the chip easier.
- 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 the bootloader
- SRAM 2 KB (ATmega328P)
- EEPROM: 1 KB (ATmega328P)
- Clock Speed: 16 MHz
- LED_BUILTIN: 13
- Length: 68.6 mm
- Width: 53.4 mm
- Weight: 25 g
Arduino Uno vs. Arduino IDE
The Arduino Uno is a development board, and you'll commonly see it talked about alongside the Arduino IDE. All Arduino boards can act completely independently of a computer once programmed, needing only a power source. The Arduino IDE is an open-source program for writing code and uploading it to Arduino (and many other) boards.
Programming microcontrollers typically requires a dedicated programmer that stands between the computer and the chip, and a dedicated toolchain to configure the chip, compile the code, and upload programs. Arduino has made this much easier by including a USB to Serial data chip on most of its boards, allowing you to plug it straight into the computer. The Arduino IDE makes setting up and programming Arduino boards easier by doing a lot of the work in the background for you.
The Arduino IDE is free to download from the Arduino website and comes with a standard library of tools to make getting started with projects as easy as possible. There are also many third-party libraries available via the included library manager.
In short, the Arduino IDE is an easy-to-use piece of software for programming microcontroller development boards like the Arduino Uno.
Arduino Uno vs Arduino Mega vs Arduino Micro vs Arduino Every
With so many Arduino boards it can be hard to choose between them. Rather than comparing every available board, it's maybe easier to talk about the types of Arduino available.
Standard Arduino Boards
Boards like the Arduino Uno and Nano use the ATmega328p microcontroller running at 16 MHz. The Uno and Nano are functionally identical, they just use different package sizes. The Arduino Mega 2560 also works exactly the same way as the Uno and Nano, but uses a chip with more I/O pins, and has a lot more pin headers to attach to as a result. The Arduino Nano Every is an updated version of the Arduino Nano with a new chip with a few new features.
All three of these boards are great for beginners as they are simple to program. The Uno and Mega 2560 both are easy to attach cables to, and the Nano fits perfectly into a breadboard via it's pin headers. While they lack certain onboard features like Wi-Fi and Bluetooth connectivity, they can be extended using Arduino shields and other components to do almost any project.
For most users, an Arduino Uno, Nano, or Mega would be the perfect starting point for learning and prototyping basic microcontroller electronics, robotics, and home automation. Many starter kits come with all the components needed for hundreds of breadboard projects.
Arduino Boards for the Internet of Things
While basic Arduino boards are perfect for most projects, Internet of Things (IoT) projects generally benefit from having some way of connecting to the internet built into the board. That's where some of the newer Arduino boards shine. The Nano 33 IoT, Uno Wifi REV2, and several MKR boards all come with onboard WiFi or Ethernet connectivity. Some of these boards also have different chipsets offering higher speed and more onboard storage too.
While any one of these boards would be perfect for learning the basics of IoT, the newer Arduino Nano 33 IoT is incredible value for money and designed to give a similar user experience to the Arduino Uno despite having a different chipset.
Specialized Arduino Boards
Arduino also sells boards for a variety of specialized uses. The Arduino MKRZero has an onboard SD card reader for playing music files, and libraries designed to make sound creation easier. The Nano 33 BLE and Nano 33 BLE Sense both share the same nRF52840 microcontroller and have onboard Bluetooth 5.0 support along with a 9-axis inertial measurement unit. The Nano 33 BLE Sense also adds a light and gesture sensor, microphone, and a temperature and humidity sensor.
There are a few other specialized boards, but out of them all the Arduino Nano BLE Sense offers a lot for very cheap and is a perfect beginner option in general.
In short, there is an Arduino board for almost every project, but the Uno is the most basic and user-friendly form of Arduino. It's cheap, and it can be even cheaper if you get a clone board. That might sound like something immoral or even illegal, but it's not.
Attack of the Arduino Clones
If you search for the Arduino Uno online, you will find a huge number of boards from different manufacturers that look identical to the Arduino Uno. Some cost as little as $5 USD, and come with exactly the same components and form factor as official Arduino boards. You might think this is breaking some laws somehow, but it's actually perfectly legal.
Arduino is an open hardware project. This means that the designs are freely available to use in any way. As long as a board isn't using the Arduino trademark, it's not doing anything wrong. The moral argument as to whether you should buy an official Arduino over a clone is one for another day, but the low financial barrier of entry these boards and kits provide is invaluable.
Also worth considering are boards that don't even really try to be Arduino boards. While most are compatible with the Arduino IDE for convenience, they also work with other platforms like CircuitPython and MakeCode. One of the most notable boards of this type is the Node MCU, a tiny development board using the esp8266 chip. There are many examples of this kind of development board to choose from, none of which directly use the Arduino hardware plans, and focus on different niches such as robotics, IoT, and wearable tech.
What can You do With an Arduino Uno - Arduino Uno Projects
The Arduino Uno is a simple black palette capable of many things, it's difficult to think of any DIY electronics project that an Uno couldn't be used in. Instead, here are a few examples of projects using the board.
Arduino Fundamentals: Blinking an LED
The first project you should take on with the Arduino Uno is learning how to blink an LED. This tutorial shows you how to use external LEDs, but the first part of this tutorial doesn't require any extra components as the Arduino Uno has an LED on the board attached to pin 13.
LEDs on the Arduino are typically controlled using digital output pins. This is a whole subject in itself, and one it's worth spending some time learning about it.
Robotics with the Arduino Uno
Getting into robotics can be daunting. They literally have many moving parts, and understanding each one is essential to get a working product at the end. Luckily there are many great robotics kits out there based on Arduino boards that make it easy to build a working robot by following a step by step guide.
You can also roll your own robot designs, but you'll want to learn about how to control motors using an Arduino board first. Whichever way you choose to go, Arduino makes it easy to get started building the perfect robotic sidekick.
Home Automation with the Arduino Uno
One of the coolest things about Arduino boards is the ability to automate tasks around the home. Some can be as simple as adding extra controls to existing lights and appliances using relays, but some completely take away the need to do anything yourself!
A perfect example is setting up an automatic plant watering system. The Elecrow Smart Plant Watering System is a kit designed to make setting up a hands-free garden easy.
Should You buy an Arduino Uno?
Whether you get an official Arduino or one of the many clone boards, the Arduino Uno is the best starter board for learning about Arduino and working with microcontrollers.
The ATmega328p chip might not be the fastest chip on the market, but the Arduino IDE, multiple libraries, and thousands of tutorials out there make it one of the best-supported methods to learn available. It's not just for beginners either. Arduino Uno boards are still the go-to board of choice for prototyping due to their easy to work with form factor and flexibility.
In short, the Arduino Uno was the board that kicked off the modern maker movement, and while its design is getting old it's not going away any time soon.