You are on page 1of 47

https://library.oreilly.

com/book/9780596155520/getting-started-with-arduino-1st-edition/toc

What Is Arduino & What Can You Do With It? [Technology Explained]

Technically, the Arduino is a programmable logic controller, which Ryan explained all about a
few weeks ago. Officially though, its an open-source electronics prototyping platform but
what does that mean?

To you or me, its like a little computer you can program to do things, and it interacts with the
world through electronic sensors, lights, and motors. In essence, it makes some truly hardcore
electronics projects accessible to anyone so artists and creative types can concentrate on
making their ideas a reality. Its the ultimate tinkering tool. To quote:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use


hardware and software. Its intended for artists, designers, hobbyists, and anyone interested in
creating interactive objects or environments.

What Can You Do With It?

Before discussing what makes the Arduino such a revolutionary device, I think its better to
show you some of my favorite projects that have been made with the Arduino.

Arduino is an electronics prototyping platform that is used, by many, as a way to learn about
digital electronics. It offers easy access to a whole body of knowledge. One of the key aspects
of this technology is that, from the beginning, it was designed having the users in mind. It was
made thinking that students would either buy a board or build their own, and that the system
would offer a software abstraction good enough to enable them to quickly learn about embedded
programming. Arduino includes the hardware and the software to get it to work, and the
documentation to learn how to make it. The whole technology is open source. As a matter of
fact, the Arduino project has become a reference project when talking about making open
hardware available for others to use.
Arduino is an open-source electronics platform based on easy-to-use hardware and software.
Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter
message - and turn it into an output - activating a motor, turning on an LED, publishing
something online. You can tell your board what to do by sending a set of instructions to the
microcontroller on the board. To do so you use the Arduino programming language (based on
Wiring), and the Arduino Software (IDE), based on Processing.

Over the years Arduino has been the brain of thousands of projects, from everyday objects to
complex scientific instruments. A worldwide community of makers - students, hobbyists,
artists, programmers, and professionals - has gathered around this open-source platform, their
contributions have added up to an incredible amount of accessible knowledge that can be of
great help to novices and experts alike.

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping,
aimed at students without a background in electronics and programming. As soon as it reached
a wider community, the Arduino board started changing to adapt to new needs and challenges,
differentiating its offer from simple 8-bit boards to products for IoT applications, wearable, 3D
printing, and embedded environments. All Arduino boards are completely open-source,
empowering users to build them independently and eventually adapt them to their particular
needs. The software, too, is open-source, and it is growing through the contributions of users
worldwide.

Connectivity
As a piece of hardware, the Arduino can operate either independently (like in a robot),
connected to a computer (thereby giving your computer access to sensor data from the outside
world and providing feedback), or connected to other Arduinos, or other electronic devices
and controller chips. Pretty much anything can be connected and is bounded only by your
imagination, willingness to put some time and effort into learning something new, and the
availability of components. If you can think of it the Arduino can do it.

A Wealth of Support
There are thousands of other people and organizations out there embracing the Arduino, the
best of which Ill highlight in a later article. The upshot of this is that if you lack in the creativity
department, theres always a pre-coded project for you to build, and theres always something
new to learn. Its also very easy to get started.

Open Source
Arduino is a brand name, but most of the hardware and software theyve developed is open
source. The schematics are available online, so if you dont want to purchase a ready-made
Arduino, you are free to buy the individual components and make it yourself, or buy one of the
many clone devices now available. In fact, at this point in time, its very difficult to recommend
you purchase an original branded Arduino board clones can be purchased for a fraction of the
price.

Versatility and Cost

An official complete unit costs as little as $50 far less than other micro controller platforms,
which makes these little electronic miracle babies accessible to hobbyists and educational
institutions alike.
The programming language you upload with is incredibly simple, and should be familiar to
anyone who has had any experience with Java or similar languages. (Its actually based on
Processing)

Its also a fantastic learning tool, with which you can experiment with electronics and learn the
foundations. In fact, if we had these when I was at school, Im pretty sure I would have become
a hardware engineer.

Still want to know more? Check out this short Arduino documentary which goes into the
background a little more and the motivation behind the project. A lot of it is in Italian, because
if the name didnt give it away already, the project began in Italy.

When was it created?

It was created in 2005. At the time, I was a visiting researcher at Interaction Design Institute
Ivrea, where I met with Massimo Banzi and Dave Mellis. The three of us designed the first
system, Gianluca Martino and his partner Daniela Antonietti joined us immediately after, and
Tom Igoe joined just before summer that same year.

Who are using Arduino?

Arduino is used by students coming from almost every discipline at university level. Art and
design students were our initial user group from, but by making the system easy to use to them,
we made it easy for everybody. Many design studios, but also research groups, started using
Arduino technology for its ease of use, as it makes things that should be easy to solve, easy to
solve. Since Christmas 2011, Arduino is also sold at retail stores (e.g. at Swedish Kjell & Co) .
Who knows how many electronics aficionados there are making projects in their spare time

How many users are there?


Arduino has registered over 700,000 official boards, but we have estimated that there is at least
one derivative or clone board per every official one (read The Power of the Copy of the Copy).
Our server statistics seem to indicate so.

What will the future bring for Arduino?

Since we started, we can proudly say that we have helped in transforming education at many
universities and schools around the world. We are now analysing how to approach education at
high schools, but also how to manufacture locally to have the largest possible reach. Nowadays,
80 percent of the Arduino branded devices are manufactured in Italy, but the import taxes in
countries in Latin America, or other places like India or China, makes it hard for the official
boards to reach those countries. We are also very engaged in the design of artefacts that will
make the Internet of Things possible, but also thinking about new educational tools like robots
or boards oriented towards 5-and-6-year-old kids.

Why Arduino?

Thanks to its simple and accessible user experience, Arduino has been used in thousands of
different projects and applications. The Arduino software is easy-to-use for beginners, yet
flexible enough for advanced users. It runs on Mac, Windows, and Linux. Teachers and students
use it to build low cost scientific instruments, to prove chemistry and physics principles, or to
get started with programming and robotics. Designers and architects build interactive
prototypes, musicians and artists use it for installations and to experiment with new musical
instruments. Makers, of course, use it to build many of the projects exhibited at the Maker Faire,
for example. Arduino is a key tool to learn new things. Anyone - children, hobbyists, artists,
programmers - can start tinkering just following the step by step instructions of a kit, or sharing
ideas online with other members of the Arduino community.

There are many other microcontrollers and microcontroller platforms available for physical
computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many
others offer similar functionality. All of these tools take the messy details of microcontroller
programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of
working with microcontrollers, but it offers some advantage for teachers, students, and
interested amateurs over other systems:
Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller
platforms. The least expensive version of the Arduino module can be assembled by hand, and
even the pre-assembled Arduino modules cost less than $50

Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh OSX, and Linux
operating systems. Most microcontroller systems are limited to Windows.

Simple, clear programming environment - The Arduino Software (IDE) is easy-to-use for
beginners, yet flexible enough for advanced users to take advantage of as well. For teachers,
it's conveniently based on the Processing programming environment, so students learning to
program in that environment will be familiar with how the Arduino IDE works.

Open source and extensible software - The Arduino software is published as open source tools,
available for extension by experienced programmers. The language can be expanded through
C++ libraries, and people wanting to understand the technical details can make the leap from
Arduino to the AVR C programming language on which it's based. Similarly, you can add
AVR-C code directly into your Arduino programs if you want to.

Open source and extensible hardware - The plans of the Arduino boards are published under a
Creative Commons license, so experienced circuit designers can make their own version of the
module, extending it and improving it. Even relatively inexperienced users can build the
breadboard version of the module in order to understand how it works and save money.

Arduino Products

Browse the full range of official Arduino products, including Boards, Modules (a smaller form-
factor of classic boards), Shields (elements that can be plugged onto a board to give it extra
features), and Kits. If you need more info you can compare the specs of each board here.
If you are wondering if your Arduino board is authentic you can learn how to spot a counterfeit
board here.

ENTRY
LEVEL
UNO
LEONARDO

101

ROBOT

ESPLORA

MICRO

NANO

MINI

MKR2UNO ADAPTER

STARTER KIT

BASIC KIT

LCD SCREEN
ENHANCED
FEATURES
MEGA

ZERO

DUE

MEGA ADK

PRO

M0

M0 PRO

MKRZERO

PRO MINI

MOTOR SHIELD

USB HOST SHIELD


PROTO SHIELD

MKR PROTO SHIELD

4 RELAYS SHIELD

MEGA PROTO SHIELD

MKR RELAY PROTO SHIELD

ISP

USB2SERIAL MICRO

USB2SERIAL CONVERTER

INTERNET
OF THINGS
YN

ETHERNET

TIAN
INDUSTRIAL 101

LEONARDO ETH

MKRFOX 1200

MKR1000

YUN MINI

WIFI SHIELD

WIFI 101 SHIELD

YN SHIELD

WIRELESS SD SHIELD

WIRELESS PROTO SHIELD

ETHERNET SHIELD V2
GSM SHIELD V2

MKR1000 BUNDLE

EDUCATION

CTC 101

WEARABLE

GEMMA

LILYPAD ARDUINO USB

LILYPAD ARDUINO MAIN BOARD

LILYPAD ARDUINO SIMPLE

LILYPAD ARDUINO SIMPLE SNAP

3D PRINTING

MATERIA 101

BOARDS
MODULES

SHIELDS

KITS

ACCESSORIES

COMING NEXT

Entry Level

Get started with Arduino using Entry Level products: easy to use and ready to power your first
creative projects. These boards and modules are the best to start learning and tinkering with
electronics and coding. The StarterKit includes a book with 15 tutorials that will walk you
through the basics up to complex projects.

ARDUINO UNO

ARDUINO LEONARDO
ARDUINO 101

ARDUINO ROBOT

ARDUINO ESPLORA
ARDUINO MICRO

ARDUINO NANO

ARDUINO MINI
MKR2UNO ADAPTER

ARDUINO

STARTER KIT

ARDUINO BASIC KIT


LCD SCREEN

Enhanced Features

Experience the excitement of more complex projects choosing one of the boards with advanced
functionalities, or faster performances.

ARDUINO MEGA 2560

ARDUINO ZERO
ARDUINO DUE

ARDUINO MEGA ADK

ARDUINO PRO
ARDUINO M0

ARDUINO M0 PRO

ARDUINO MKRZERO
ARDUINO PRO MINI

ARDUINO MOTOR SHIELD

ARDUINO USB HOST SHIELD


PROTO SHIELD

MKR PROTO SHIELD

ARDUINO 4

RELAYS SHIELD
ARDUINO MEGA

PROTO SHIELD

MKR RELAY PROTO SHIELD

ARDUINO ISP
ARDUINO USB2

SERIAL MICRO

ARDUINO USB2SERIAL

CONVERTER

Internet of Things

Make connected devices easily with one of these IoT products and open your creativity with
the opportunities of the world wide web.
ARDUINO YN

ARDUINO ETHERNET

ARDUINO TIAN
ARDUINO INDUSTRIAL 101

ARDUINO LEONARDO ETH

MKRFOX 1200
ARDUINO MKR1000

ARDUINO YUN MINI

ARDUINO WIFI 101 SHIELD


ARDUINO

GSM SHIELD V2

ARDUINO WIFI SHIELD

ARDUINO WIRELESS

SD SHIELD
ARDUINO WIRELESS

PROTO SHIELD

ARDUINO

ETHERNET SHIELD V2

ARDUINO YN SHIELD
MKR1000 BUNDLE

Education

Arduino Education is committed to empowering educators with the necessary hardware and
software tools to create a more hands-on, innovative learning experience. Take your students
on a fun and inspiring journey through the world of programming and electronics. Get started
today!

CTC 101

Wearable

Add smartness to your soft projects and discover the magic of sewing the power of electronics
directly to textiles.
ARDUINO GEMMA

LILYPAD ARDUINO

SIMPLE

LILYPAD ARDUINO

MAIN BOARD
LILYPAD ARDUINO USB

LILYPAD ARDUINO

SIMPLE SNAP

3D Printing

The Arduino approach to 3D printing is represented by Materia 101, a printer that allows you
to start experimenting with this amazing technology in the easiest way.
MATERIA 101

Retired

Explore the history of Arduino with a journey through all the boards, accessories, shield, kits
and documentation released since 2006.

ARDUINO FIO

ARDUINO GSM SHIELD V1


ARDUINO ETHERNET SHIELD V1

Overview of the Arduino Uno hardware

May 27, 2017

| Umair Hussaini

Embedded Systems

When you get a brand new Arduino Uno, you hold it in your hand and examine it. The Arduino
is versatile because of all those components mounted on it. In other words, each of those tiny
peripherals has a purpose. In this article, we will take a brief look at all the major parts of the
Arduino Uno hardware.

USB connection

Starting with what seems to be the most protruding piece on the board, the USB port is through
where both, power and data is provided to the system.
The Arduino Uno USB port (Type B)

It is a Type B standard port, and you will need a standard A-B cable to connect it to your
computer.

Earlier

The older versions of the Arduino board used to sport a nine-pin RS-232 connector. It was
replaced later with the USB port to acknowledge the fact that computers and laptops were no
longer manufactured with serial ports.

The addition of a secondary microcontroller, ATmega 16U2, allows the main processor on the
Arduino Uno to communicate with the host computer via a USB. The ATmega 16U2 supplies
serial data to the main processor and has a built-in USB peripheral.
Standard A-B USB cable

The host computer provides 100mA of current at 5V to the Uno for an unenumerated device
and 500mA at 5V for an enumerated device. Though this current is enough for small projects,
it is not sufficient for larger loads like relays, motors, etc.

An Arduino Uno powered up using a USB cable


Power jack (Barrel connector)

Supplying power via the barrel connector is one of the ways in which we can switch on the
Arduino Uno. It is a circular port, 2.1mm in diameter. The center pin is positive, and the outer
sleeve is ground (GND).

The barrel connector is 2.1mm in diameter

Make sure that the AC to DC adapter you will use to plug into the barrel connector has an output
in the range of 6-20V (7-12V recommended).
AC DC adapter barrel plug

In addition to powering up the Arduino Uno hardware, the power supplied via the barrel
connector can be accessed at Vin to power up components on the breadboard or shields.

Shields are additional boards that usually follow the form factor of the Arduino Uno and can
be attached to the Arduino to add different functionalities. For example, with the Ethernet shield
you can easily hook your project to the internet. There are many shields available for the
Arduino Uno; we will cover those in a later post.

An Arduino Uno powered up via the barrel connector


ATmega 16U2

The ATmega 16U2 enables the Arduino to communicate with the host computer via USB

The ATmega 16U2 is primarily responsible for USB/Serial signal conversion. It sends the serial
data to the ATmega 328P and can be thought of as a communication enabler between the host
computer and the Arduino board. The ATmega 16U2 has its own set of peripherals that assist
in its important task. Hence, these peripherals and the ATmega 16U2 together form an essential
subsystem of the Arduino board.

ATmega 328P
The core microcontroller

This is the main component of the Arduino board. Everything else on the board exists to allow
us to experiment with the ATmega 328P. There is a lot that should be learned, in terms of
hardware and software, about the ATmega 328P. Eventually, towards the middle of this course,
we will take up more interesting and intricate topics.

But for now, this is what you should know.

Its an 8-bit microcontroller

It has 32 kB of flash memory

It has 2kB of SRAM

Its capable of reaching thorough-puts of 1 MIPS per MHz.

It lacks a USB interface.

It has 20 GPIO pins.

Its equipped with an SPI serial port.

ICSP headers
In-Circuit-Serial-Programming pins

There are two ICSP header pins on the Arduino Uno. One for each microprocessor. ICSP is an
acronym for In-Circuit-Serial-Programming.

As you read earlier, both the microprocessors have a firmware uploaded on them. The ATmega
16U2 has a USB serial firmware that is used for USB-Serial translation, and the ATmega 328
has a firmware that intercepts serial data from the 16U2 and allocates program memory to store
it.

When manufacturing the board, the respective firmware is uploaded after the ICs are mounted
using the ICSP pins. The ICSP pins can also be used to directly upload sketches to the ATmega
328 and change/update firmware on both the ICs.

There are many firmware available that can extend the functionality of the Arduino Uno
hardware. We will take a look at those in subsequent posts.

16MHz Oscillator
16MHz crystal oscillator

The 16MHz crystal oscillator is connected to the ATmega16U2 and is essential for perfectly
synchronized serial communication. The ATmega328 has its own oscillator as seen in the
schematic. But the board uses a ceramic resonator instead of the crystal oscillator. We will take
a look at the functions of both the devices in subsequent posts.

16MHz ceramic resonator


The function of the oscillator and the resonator is same. They are used to time the circuit
properly. But what does that mean? Suppose you need a 2-second delay between each LED
blink, the 2 second time gap is calculated by the oscillator/resonator.

Digital I/O pins

Apart from the 14 Digital I/O pins, the analog pins can be used as digital I/O pins too.

All the general purpose IO pins on the Arduino (analog/digital) can be used as digital I/O pins.
Furthermore, these are the pins that we will be using to communicate with our target devices.
Digital input pins read digital inputs, and digital output pins write digital outputs.

Analog input pins


A0 -A5 are analog input pins

There are six analog pins on the Arduino Uno (Eight if you are using the SMD version) that are
classified as Analog input pins.

Analog data is basically all the values in a particular range. The analog input pins can measure
voltage (or signals) with a voltage in the range of 0-5V (we can use the AREF pin to modify
this range).

Digital data is either LOW or HIGH; analog data encompasses all the values between these two
thresholds. Sensors usually output analog readings. The ATmega 328 cannot process analog
data directly. It is equipped with a special peripheral component called the Analog to Digital
Converter (ADC). The ADC is responsible for reading analog inputs and converting them into
digital data for the microprocessor.

There is a slight confusion in the naming convention because functionally, some of the digital
pins can provide analog outputs in the form of PWM (Pulse Width Modulated) outputs.
Similarly, all the analog input pins (A0-A5) can be used as digital pins as well. Lets summarize
that so it doesnt confuse us.

Analog pins summary

Some Digital pins: Can give analog output

All Analog pins: Can give digital output, read digital input, CANNOT give analog output.
Power pins

There are a total of 7 pins on the power rail on the Arduino Uno

There is a total of seven power pins on the Arduino Uno. Each pin has its significance and is
part of the power supply circuit. We will enlist the main functions of each of these pins below
and dive deeper into the power supply circuit in later articles.

Vin
Vin (6-12V)

The Vin pin on the Arduino board can be used to switch the board on. Otherwise, it can be used
as a power source for other components in your project.

In a scenario where the Vin pin is used as an input to power up the Arduino board, it needs a
supply of 6V-12V, this subsequently gets regulated to 5V by the onboard voltage regulator.
This 5V eventually powers up the Arduino board.

When used as a power source, the Vin pin gets its power from the barrel connector. Remember,
this voltage is accessed before it passes through the onboard voltage regulator. Therefore, if
you are drawing power from the Vin pin, you will get the voltage supplied to the barrel
connector.

Vin (Summary)

Input: 6-12V; gets regulated to 5V

Output: Same as the voltage applied to the barrel connector.

GND
Three GND pins on the Uno

There are three ground pins available on the Arduino Uno. Two of these are on the power rail.
Generally, in electronics, two circuits that are/or need to be interfaced with each other have a
common voltage reference point and that is called ground (GND).

Why does the Arduino Uno have multiple ground (GND) pins?

This is a very common question asked by beginners and surprisingly, some experienced users
too. The most simple reason is that the presence of multiple pins adds convenience while
prototyping. When the number of components is high, or you want to decrease the quantity of
wiring used, some extra GND pins come in handy.

Another reason is that mostly analog devices are connected on a single GND pin and separately
from the digital devices.

Its okay if you cant remember all the specifications precisely yet. We got acquainted with the
basics of the hardware in this post. In the next post, we will cast a similar look over the software.

You might also like