What Is Arduino?
What Is Arduino?
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. Thesoftware, too, is
open-source, and it is growing through the contributions of users worldwide.
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:
The text of the Arduino getting started guide is licensed under a Creative Commons
Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the
public do
Introduction
Arduino is an open-source platform used for building electronics projects. Arduino consists of both a
physical programmable circuit board (often referred to as a microcontroller) and a piece of software,
or IDE (Integrated Development Environment) that runs on your computer, used to write and upload
computer code to the physical board.
The Arduino platform has become quite popular with people just starting out with electronics, and for
good reason. Unlike most previous programmable circuit boards, the Arduino does not need a
separate piece of hardware (called a programmer) in order to load new code onto the board – you
can simply use a USB cable. Additionally, the Arduino IDE uses a simplified version of C++, making
it easier to learn to program. Finally, Arduino provides a standard form factor that breaks out the
functions of the micro-controller into a more accessible package.
This is an Arduino Uno
The Uno is one of the more popular boards in the Arduino family and a great choice for beginners.
We’ll talk about what’s on it and what it can do later in the tutorial.
This is a screenshot of the Arduino IDE.
Believe it or not, those 10 lines of code are all you need to blink the on-board LED on your Arduino.
The code might not make perfect sense right now, but, after reading this tutorial and the many more
Arduino tutorials waiting for you on our site, we’ll get you up to speed in no time!
Suggested Reading
Arduino is a great tool for people of all skill levels. However, you will have a much better time
learning along side your Arduino if you understand some basic fundamental electronics beforehand.
We recommend that you have at least a decent understanding of these concepts before you dive in
to the wonderful world of Arduino.
What is Electricity?
Voltage, Current, Resistance, and Ohm’s Law
What is a Circuit?
Polarity
Integrated Circuits (ICs)
Logic Levels
Digital Logic
Analog vs. Digital
For everything from robots and a heating pad hand warming blanket to honest fortune-telling
machines, and even aDungeons and Dragons dice-throwing gauntlet, the Arduino can be used as
the brains behind almost any electronics project.
_Wear your nerd cred on your sleev… err, arm. _
And that’s really just the tip of the iceberg – if you’re curious about where to find more examples of
Arduino projects in action, here are some good resources for Arduino-based projects to get your
creative juices flowing:
Instructables
Bildr
Arduino Playground
The ITP Physical Computing Wiki
LadyAda
Make: Projects
and, of course, you can find plenty more Arduino tutorials here at learn.sparkfun.com.
The USB connection is also how you will load code onto your Arduino board. More on how to
program with Arduino can be found in our Installing and Programming Arduino tutorial.
NOTE: Do NOT use a power supply greater than 20 Volts as you will overpower (and thereby
destroy) your Arduino. The recommended voltage for most Arduino models is between 6 and 12
Volts.
Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
The pins on your Arduino are the places where you connect wires to construct a circuit (probably in
conjuction with abreadboard and some wire. They usually have black plastic ‘headers’ that allow you
to just plug a wire right into the board. The Arduino has several different kinds of pins, each of which
is labeled on the board and used for different functions.
GND (3): Short for ‘Ground’. There are several GND pins on the Arduino, any of which can
be used to ground your circuit.
5V (4) & 3.3V (5): As you might guess, the 5V pin supplies 5 volts of power, and the 3.3V pin
supplies 3.3 volts of power. Most of the simple components used with the Arduino run
happily off of 5 or 3.3 volts.
Analog (6): The area of pins under the ‘Analog In’ label (A0 through A5 on the UNO) are
Analog In pins. These pins can read the signal from an analog sensor (like a temperature
sensor) and convert it into a digital value that we can read.
Digital (7): Across from the analog pins are the digital pins (0 through 13 on the UNO).
These pins can be used for both digital input (like telling if a button is pushed) and digital
output (like powering an LED).
PWM (8): You may have noticed the tilde (~) next to some of the digital pins (3, 5, 6, 9, 10,
and 11 on the UNO). These pins act as normal digital pins, but can also be used for
something called Pulse-Width Modulation (PWM). We have a tutorial on PWM, but for now,
think of these pins as being able to simulate analog output (like fading an LED in and out).
AREF (9): Stands for Analog Reference. Most of the time you can leave this pin alone. It is
sometimes used to set an external reference voltage (between 0 and 5 Volts) as the upper
limit for the analog input pins.
Reset Button
Just like the original Nintendo, the Arduino has a reset button (10). Pushing it will temporarily
connect the reset pin to ground and restart any code that is loaded on the Arduino. This can be very
useful if your code doesn’t repeat, but you want to test it multiple times. Unlike the original Nintendo
however, blowing on the Arduino doesn’t usually fix any problems.
TX RX LEDs
TX is short for transmit, RX is short for receive. These markings appear quite a bit in electronics to
indicate the pins responsible for serial communication. In our case, there are two places on the
Arduino UNO where TX and RX appear – once by digital pins 0 and 1, and a second time next to the
TX and RX indicator LEDs (12). These LEDs will give us some nice visual indications whenever our
Arduino is receiving or transmitting data (like when we’re loading a new program onto the board).
Main IC
The black thing with all the metal legs is an IC, or Integrated Circuit (13). Think of it as the brains of
our Arduino. The main IC on the Arduino is slightly different from board type to board type, but is
usually from the ATmega line of IC’s from the ATMEL company. This can be important, as you may
need to know the IC type (along with your board type) before loading up a new program from the
Arduino software. This information can usually be found in writing on the top side of the IC. If you
want to know more about the difference between various IC’s, reading the datasheets is often a
good idea.
Voltage Regulator
The voltage regulator (14) is not actually something you can (or should) interact with on the Arduino.
But it is potentially useful to know that it is there and what it’s for. The voltage regulator does exactly
what it says – it controls the amount of voltage that is let into the Arduino board. Think of it as a kind
of gatekeeper; it will turn away an extra voltage that might harm the circuit. Of course, it has its
limits, so don’t hook up your Arduino to anything greater than 20 volts.
The RedBoard can be programmed over a USB Mini-B cable using the Arduino IDE. It’ll work on
Windows 8 without having to change your security settings (we used signed drivers, unlike the
UNO). It’s more stable due to the USB/FTDI chip we used, plus it’s completely flat on the back,
making it easier to embed in your projects. Just plug in the board, select “Arduino UNO” from the
board menu and you’re ready to upload code. You can power the RedBoard over USB or through
the barrel jack. The on-board power regulator can handle anything from 7 to 15VDC.
Arduino Mega (R3)
The Arduino Mega is like the UNO’s big brother. It has lots (54!) of digital input/output pins (14 can
be used as PWM outputs), 16 analog inputs, a USB connection, a power jack, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer with a
USB cable or power it with a AC-to-DC adapter or battery to get started. The large number of pins
make this board very handy for projects that require a bunch of digital inputs or outputs (like lots of
LEDs or buttons).
Arduino Leonardo
The Leonardo is Arduino’s first development board to use one microcontroller with built-in USB. This
means that it can be cheaper and simpler. Also, because the board is handling USB directly, code
libraries are available which allow the board to emulate a computer keyboard, mouse, and more!
The Extended Family
While your Arduino board sure is pretty, it can’t do a whole lot on its own – you’ve got to hook it up to
something. There are lots of tutorials here on learn as well as the links back in the ‘What does it do’
section, but rarely do we talk about the general kinds of things you can easily hook into. In this
section we’ll introduce basic sensors as well as Arduino shields, two of the most handy tools to use
in bringing your projects to life.
Sensors
With some simple code, the Arduino can control and interact with a wide variety of sensors - things
that can measurelight, temperature, degree of flex, pressure, proximity, acceleration, carbon
monoxide, radioactivity, humidity,barometric pressure, you name it, you can sense it!
Just a few of the sensors that are easily compatible with Arduino
Shields
Additionally, there are these things called shields – basically they are pre-built circuit boards that fit
on top of your Arduino and provide additional capabilities – controlling motors, connecting to the
internet, providing cellular or other wireless communication, controlling an LCD screen, and much
more.
A partial selection of available shields to extend the power of your Arduino
ShieldList.org
ShieldStravaganza!!! (A series of videos briefly explaining all of the shields we have at
SparkFun) Part 1, Part 2, and Part 3
Now that you know all about the Arduino family, which board you might want to use for your project,
and that there are tons of sensors and shields to help take your projects to the next level. Here’s
some further reading that may help you along in learning more about the world of electronics. For
more info on Arduino, check out these tutorials:
Arduino Curriculum
Arduino Comparison Guide
Arduino Shields
Installing Arduino
Installing an Arduino Library
Arduino Data Types
Breadboards
Working with Wire
Sewing with conductive thread
How do I power my project?