You are on page 1of 7

Arduino

2 Hardware

For other uses, see Arduino (disambiguation).


Arduino is a family of single-board microcontrollers,
intended to make it easier to build interactive objects
or environments.[1] The hardware consists of an opensource hardware board designed around an 8-bit Atmel
AVR microcontroller or a 32-bit Atmel ARM. Current
models feature a USB interface together with six analog
input pins and 14 digital I/O pins that can accommodate
various extension boards.

The rst Arduino was introduced in 2005. Its designers


sought to provide an inexpensive and easy way for hobbyists, students, and professionals to create devices that interact with their environment using sensors and actuators.
Common examples for beginner hobbyists include simple robots, thermostats and motion detectors. Arduino An ocial Arduino Uno with descriptions of the I/O locations
boards come with a simple integrated development environment (IDE) that runs on regular personal computers
and allows users to write programs for Arduino using C
or C++.
Arduino boards can be purchased assembled or as doit-yourself kits. Hardware design information is available
for those who would like to assemble an Arduino by hand.
It was estimated in mid-2011 that over 300,000 ocial Arduinos had been commercially produced,[2] and in
2013 that 700,000 ocial boards were in users hands.[3]

History

An early Arduino board[7] with an RS-232 serial interface (upper


left) and an Atmel ATmega8 microcontroller chip (black, lower
right); the 14 digital I/O pins are located at the top and the six
analog input pins at the lower right.

Arduino started in 2005 as a project for students at the


Interaction Design Institute Ivrea in Ivrea, Italy. At that
time program students used a "BASIC Stamp" at a cost of
$100, considered expensive for students. Massimo Banzi,
one of the founders, taught at Ivrea.[4] The name Arduino comes from a bar in Ivrea, where some of the
founders of the project used to meet. The bar itself was
named after Arduino, Margrave of Ivrea and King of Italy
from 1002 to 1014.[5]

An Arduino board consists of an Atmel 8-bit AVR


microcontroller with complementary components that facilitate programming and incorporation into other circuits. An important aspect of the Arduino is its standard connectors, which lets users connect the CPU board
to a variety of interchangeable add-on modules known
as shields. Some shields communicate with the Arduino
board directly over various pins, but many shields are
individually addressable via an IC serial busso many
shields can be stacked and used in parallel. Ocial Arduinos have used the megaAVR series of chips, specifically the ATmega8, ATmega168, ATmega328, ATmega1280, and ATmega2560. A handful of other processors have been used by Arduino compatibles. Most

A hardware thesis was contributed for a wiring design


by Colombian student Hernando Barragan. After the
Wiring[6] platform was complete, researchers worked to
make it lighter, less expensive, and available to the open
source community. The school eventually closed down,
so these researchers, one of them David Cuartielles, promoted the idea.[4]
1

SOFTWARE

boards include a 5 volt linear regulator and a 16 MHz Arduino hardware have been commercially produced to
crystal oscillator (or ceramic resonator in some variants), date.
although some designs such as the LilyPad run at 8 MHz
and dispense with the onboard voltage regulator due to
Example Arduino boards
specic form-factor restrictions. An Arduinos micro Arduino Diecimila in Stoicheia
controller is also pre-programmed with a boot loader
that simplies uploading of programs to the on-chip ash
Arduino Duemilanove (rev 2009b)
memory, compared with other devices that typically need
an external programmer. This makes using an Arduino
Arduino UNO
more straightforward by allowing the use of an ordinary
computer as the programmer.
Arduino Leonardo
At a conceptual level, when using the Arduino software

stack, all boards are programmed over an RS-232 serial

connection, but the way this is implemented varies by


hardware version. Serial Arduino boards contain a level

shifter circuit to convert between RS-232-level and TTLlevel signals. Current Arduino boards are programmed

via USB, implemented using USB-to-serial adapter chips


such as the FTDI FT232. Some variants, such as the Ar
duino Mini and the unocial Boarduino, use a detach
able USB-to-serial adapter board or cable, Bluetooth or
other methods. (When used with traditional microcontroller tools instead of the Arduino IDE, standard AVR
2.2
ISP programming is used.)
The Arduino board exposes most of the microcontrollers
I/O pins for use by other circuits. The Diecimila, Duemilanove, and current Uno provide 14 digital I/O pins, six
of which can produce pulse-width modulated signals, and
six analog inputs, which can also be used as six digital
I/O pins. These pins are on the top of the board, via female 0.10-inch (2.5 mm) headers. Several plug-in application shields are also commercially available. The Arduino Nano, and Arduino-compatible Bare Bones Board
and Boarduino boards may provide male header pins on
the underside of the board that can plug into solderless
breadboards.
There are many Arduino-compatible and Arduinoderived boards. Some are functionally equivalent to an
Arduino and can be used interchangeably. Many enhance
the basic Arduino by adding output drivers, often for use
in school-level education to simplify the construction of
buggies and small robots. Others are electrically equivalent but change the form factorsometimes retaining
compatibility with shields, sometimes not. Some variants
use completely dierent processors, with varying levels
of compatibility.

2.1

Ocial boards

Further information: List of Arduino boards and compatible systems


The original Arduino hardware is manufactured by
the Italian company Smart Projects.[8] Some Arduinobranded boards have been designed by the American
company SparkFun Electronics.[9] Sixteen versions of the

Arduino Mega
Arduino MEGA 2560 R3 (front side)
Arduino MEGA 2560 R3 (back side)
Arduino Nano
Arduino Due (ARM-based)
LilyPad Arduino (rev 2007)

Shields

Arduino and Arduino-compatible boards use shields


printed circuit expansion boards that plug into the normally supplied Arduino pin-headers. Shields can provide
motor controls, GPS, ethernet, LCD, or breadboarding
(prototyping). A number of shields can also be made
DIY.[10][11][12]
Example Arduino shields
Multiple shields can be stacked. In this example the
top shield contains a solderless breadboard
Screw-terminal breakout shield in a wing-type format
Adafruit Motor Shield with screw terminals for connection to motors
Adafruit Datalogging Shield with a SD slot and RealTime Clock chip

3 Software
The Arduino integrated development environment (IDE)
is a cross-platform application written in Java, and derives
from the IDE for the Processing programming language
and the Wiring projects. It is designed to introduce programming to artists and other newcomers unfamiliar with
software development. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation, and is also capable of compiling and
uploading programs to the board with a single click. A
program or code written for Arduino is called a sketch.[14]

3
Arduino programs are written in C or C++. The Arduino
IDE comes with a software library called "Wiring" from
the original Wiring project, which makes many common
input/output operations much easier. Users only need dene two functions to make a runnable cyclic executive
program:

4 Development

Arduino is open source hardware: the Arduino hardware


reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino Web site. Layout and production
les for some versions of the Arduino hardware are also
setup(): a function run once at the start of a program available. The source code for the IDE is available and
released under the GNU General Public License, version
that can initialize settings
2.[18]
loop(): a function called repeatedly until the board Although the hardware and software designs are freely
powers o
available under copyleft licenses, the developers have re-

quested that the name Arduino be exclusive to the oA typical rst program for a microcontroller simply blinks cial product and not be used for derivative works withan LED on and o. In the Arduino environment, the user out permission. The ocial policy document on the
use of the Arduino name emphasizes that the project is
might write a program like this:[15]
open to incorporating work by others into the ocial
product.[19] Several Arduino-compatible products commercially released have avoided the Arduino name by
using "-duino name variants.[20]

5 Applications
See also: List of open source hardware projects

Xoscillo: open-source oscilloscope[21]


Scientic equipment[22]
The integrated pin 13 LED

#dene LED_PIN 13 void setup () { pinMode


(LED_PIN, OUTPUT); // Enable pin 13 for digital
output } void loop () { digitalWrite (LED_PIN, HIGH);
// Turn on the LED delay (1000); // Wait one second
(1000 milliseconds) digitalWrite (LED_PIN, LOW); //
Turn o the LED delay (1000); // Wait one second }

Arduinome: a MIDI controller device that mimics


the Monome
OBDuino: a trip computer that uses the on-board
diagnostics interface found in most modern cars
Ardupilot: drone software / hardware
ArduinoPhone[23]

It is a feature of most Arduino boards that they have


GertDuino, an Arduino mate for the Raspberry Pi[24]
an LED and load resistor connected between pin 13 and
ground; a convenient feature for many simple tests.[15]
The previous code would not be seen by a standard C++
compiler as a valid program, so when the user clicks the 6 Reception
Upload to I/O board button in the IDE, a copy of the
code is written to a temporary le with an extra include The Arduino project received an honorary mention in the
header at the top and a very simple main() function at the Digital Communities category at the 2006 Prix Ars Elecbottom, to make it a valid C++ program.
tronica.[25][26]
The Arduino IDE uses the GNU toolchain and AVR Libc
to compile programs, and uses avrdude to upload programs to the board.
As the Arduino platform uses Atmel microcontrollers,
Atmels development environment, AVR Studio or the
newer Atmel Studio, may also be used to develop software for the Arduino.[16][17]

7 See also
List of Arduino boards and compatible systems
Comparison of single-board computers

10

References

EXTERNAL LINKS

[24] Raspberry Pi Spy. Introducing The GertDuino Add-on


Board For Raspberry Pi. Retrieved on 2014-11-09.

[1] Ocial slogan. Arduino Project. Retrieved 2013-12-31.


[2] How many Arduinos are in the wild?" About 300,000.
Adafruit Industries. May 15, 2011. Retrieved 2013-0526.
[3] Arduino FAQ With David Cuartielles. Malm University. April 5, 2013. Retrieved 2014-03-24.
[4] David Kushner (26 Oct 2011). The Making of Arduino.
IEEE Spectrum.
[5] Justin Lahart (27 November 2009). Taking an OpenSource Approach to Hardware. The Wall Street Journal.
Retrieved 7 September 2014.
[6] Rhizome - Interview with Casey Reas and Ben Fry.
2009-09-23. Retrieved 2014-08-23.
[7] Hardware Index. Arduino Project. Retrieved 2013-1210.
[8] Smart Projects
[9] Schmidt, M. ["Arduino: A Quick Start Guide"],
Pragmatic Bookshelf, January 22, 2011, Pg. 201
[10] Arduino breadboard shield: US$10 & 10 mins. todbot.com
[11] Igoe, Tom (April 4, 2006). Arduino Shields for Prototyping. tigoe.net
[12] Jonathan Oxer. Arduino Shield list. Retrieved 5 Nov
2013.
[13] Arduino Software Release Notes. Arduino Project. Retrieved May 31, 2013.
[14] Programming Arduino Getting Started with Sketches.
McGraw-Hill. Nov 8, 2011. Retrieved 2013-03-28.

[25] Prix Ars Electronica 2006 Digital Communities ANERKENNUNGEN listing (in German). Retrieved
2009-02-18.
[26] Prix Ars Electronica 2006 Digital Communities
ANERKENNUNGEN description (in German). Retrieved 2009-02-18.

9 Further reading
Arduino For Dummies; John Nussey; 446 pages;
2013; ISBN 978-1118446379.
Programming Arduino Next Steps: Going Further
with Sketches; Simon Monk; 2013; ISBN 9780071830256.
Exploring Arduino: Tools and Techniques for Engineering Wizardry; Jeremy Blum; 384 pages; 2013;
ISBN 978-1118549360.
Arduino Workshop: A Hands-On Introduction with
65 Projects; John Boxall; 392 pages; 2013; ISBN
978-1593274481.
Beginning C for Arduino: Learn C Programming for
the Arduino and Compatible Microcontrollers; Jack
Purdum; 280 pages; 2012; ISBN 978-1430247760.
Programming Arduino:
Getting Started With
Sketches; Monk Simon; 162 pages; 2011; ISBN
978-0071784221.
Make: Electronics (Learning by Discovery); Charles
Platt; 352 pages; 2009; ISBN 978-0596153748.

[15] Blink Tutorial. Arduino.cc.


[16] Using Atmel Studio for Arduino development. Megunolink.com. Retrieved 2013-01-18.
[17] Using AVR Studio for Arduino development. Engblaze.com. Retrieved 2013-01-18.
[18] The arduino source code. The arduino source code.

10 External links
Ocial website
Arduino The Documentary at the Internet Movie
Database, Vimeo
Documentary about Arduino, Wired Magazine (in
Italian/English)

[19] Policy. Arduino.cc. Retrieved 2013-01-18.


[20] Freeduino Open Designs. Freeduino.org. Retrieved
2008-03-03.

How to install additional Arduino libraries?

[21] xoscillo A software oscilloscope that acquires data using an arduino or a parallax (more platforms to come).
Google Project Hosting. Code.google.com. Retrieved
2013-01-18.

Arduino Cheat Sheet

[22] Pearce, Joshua M. 2012. Building Research Equipment


with Free, Open-Source Hardware. Science 337 (6100):
13031304. (open access)

Arduino Projects, Examples of Arduino Projects

[23] ArduinoPhone. Instructables.com (2013-07-17).


trieved on 2013-08-04.

Re-

Online platform & collaboration platform for Arduino users

Arduino Board Pinout Diagrams: Due, Esplora,


Leonardo, Mega, Micro, Mini, Nano, Uno
Evolution tree for Arduino

5
Massimo Banzi interviewed on the TV show Triangulation on the TWiT.tv network
Massimo Banzi interviewed on the TV show FLOSS
weekly on the TWiT.tv network
Arduino Stack Exchange a question and answer site

11

11
11.1

TEXT AND IMAGE SOURCES, CONTRIBUTORS, AND LICENSES

Text and image sources, contributors, and licenses


Text

Arduino Source: http://en.wikipedia.org/wiki/Arduino?oldid=635293794 Contributors: AxelBoldt, Caltrop, Ceaser, Hikari, Mahjongg,


Kku, Delirium, Darkwind, Kragen, Glenn, Scott, Donio, Mulad, Nv8200p, Taxman, Val42, Klaus Leiss, Scruss, Raeky, Knobunc, DocWatson42, BenFrantzDale, Ds13, Mcapdevila, Micru, Jorge Stol, Cmkpl, Halosix, Abdull, Thorwald, Imroy, Discospinster, ArnoldReinhold, Duchamp, PutzfetzenORG, Jantangring, Bobo192, Smalljim, R. S. Shaw, Giraedata, Trevj, Jdabney, Nasukaren, Radical Mallard, Velella, Marasmusine, Mindmatrix, Pol098, Ruud Koot, SDC, CharlesC, DustyDingo, Sprague, Royan, Magister Mathematicae,
Rjwilmsi, Koavf, Patrick Gill, Salix alba, MZMcBride, Allen Moore, Intgr, Lmatt, Tedder, Chobot, ATH500, Remmelt, Hydrargyrum,
Bovineone, Geertivp, Tkbwik, Wrachelson, Venix, Warrenm, Elkman, Wknight94, Arthur Rubin, Dspradau, Bevo74, Back ache, JLaTondre, Snaxe920, Kingboyk, Mardus, Sbassi, Zlogic, Attilios, Lethalmonk, SmackBot, Gracehoper, Faisal.akeel, DMellis, InverseHypercube,
McGeddon, Misto, Arny, NickGarvey, Amatulic, Adamfeuer, JennyRad, Thumperward, Salvor, George Church, Randomskk, Chendy,
Dro Kulix, Frap, Alphathon, OrphanBot, JonHarder, Grhabyt, Stepho-wrs, Mwtoews, Salamurai, Pfhyper, RickO5, Ian Spackman, Toggio, IronGargoyle, TerryKing, Hu12, Courcelles, Sreeram shankar, Fabrice Florin, Amalas, Pfagerburg, Drinibot, Yaris678, Cydebot, Nick
Wilson, Gogo Dodo, SimenH, ShadowGuy, Neoforma, ClarkMills, Abqsteve, Surturz, Kozuch, Waveking, Thijs!bot, Pemboid, Potax,
MarshBot, Guy Macon, Jonathan Williams, JonOxer, Chrisjj3, JAnDbot, Viskr, CosineKitty, Khommel, H3llbringer, Magioladitis, David
Oliver, JamesBWatson, Oskay, Cadsuane Melaidhrin, Steven Walling, Jatkins, JMBryant, Gwern, Wimh, CommonsDelinker, Yannick56,
Minime72706, Aervanath, Gonzalo M. Garcia, Ajfweb, Lexein, TXiKiBoT, Moumouza, Calwiki, Chuckwolber, Exprice, Nexus501,
Sgbirch, Seb az86556, Rajsite, Jamelan, Andy Dingley, Synthebot, Nave.notnilc, Userper, Yngvarr, Anilashanbhag, Yadoo86, Sav vas,
Mikebar, Yintan, Rob Prikanowski, Soler97, Bentogoa, Udawatabhimanyu4, Ali asin, Henryerinjones, Linuxrules1337, Vbscript2, Misiu
mp, Tintin192, Treekids, Kookish, ImageRemovalBot, Bsx, Shloimeborukh, ColorfulNumbers, GreenSpigot, VQuakr, Machee, Gbarberi, Blanchardb, TjeerdVerhagen, Craigbic, Crazyburns, Awickert, Alexbot, Vancircuit, A Pirard, Jinlye, Chaosdruid, Apparition11,
DumZiBoT, Darkicebot, XLinkBot, H0dges, NobbiP, Cmr08, Cbenson1, Zodon, Fiskbil, Dsimic, Mortense, Johanroed, Jncraton, Tergenev, Cst17, Harviecz, MrOllie, Download, CUSENZA Mario, 84user, Jarble, Softy, Margin1522, Luckas-bot, Yobot, AnomieBOT, ICSeater, Jim1138, JackieBot, Bjepson, Csigabi, Citation bot, Ghstwlf, LilHelpa, Xqbot, IslandMountain, PabloCastellano, JimVC3, Rvumbaca, GrouchoBot, Xan2, Mort42, SassoBot, Brunonar, Alainr345, Thomas-pluralvonglas, Robertelder, Rstuvw, JaadesA, W Nowicki,
Angmall, Idyllic press, JackStonePGD, FlyFire, Danhomer, Shiki2, Kristianpaul, Edderso, Joebigwheel, Jonesey95, Skyerise, Tehuglyscientist, SimonPStevens, E-Soter, Mibix, ActivExpression, , Cyb3rn0id, Trappist the monk, DixonDBot, Michael9422,
MakerShed, ErikvanB, MoreNet, Jluciani, RenaudBedard, Tbhotch, Julian dasilva, Obankston, Bernd.Brincken, Migaber, Peapodamus,
Mazurov, DASHBot, EmausBot, Rusfuture, Dead Horsey, WikitanvirBot, LordStDennis, Kronick, Bricoman55, RA0808, Sukkin, Scgtrp,
Tikitpok, Hscharler, ZroBot, Pbruins84, TLeek, , Ubarro, Lemio, Mowcius, Sbmeirow, Lorem Ip, Howetimothy, Palosirkka,
John Garvin, Tronixstu, JohnBoxall, ChuispastonBot, Gandrewstone, Sudozero, Fargasch, Luckylarrycouk, Clay Digger, ClueBot NG,
392236a, Phry, Braincricket, Danim, Tuxskar, CasualVisitor, Helpful Pixie Bot, Simonmonk2, Troy.hester, Se Ra Bu Tan, BG19bot,
Virtualerian, Techformeplease, Paradoxiality, Gbulmeruk, Barefoottech, PatrickCarbone, Frze, Srcvale, Compfreak7, BKJanzen, Abishai
Singh, Sn1per, Nungalpiriggal, Jjolla88, Udoklein, carusdaidalos, Ldsrc2008, Roguebhagman, Mfoulks3200, Shields Arduino, Laure
f o, Khazar2, Riktw, Theoduino, Youdonotknow, Imheck, Roweboat14, Olonic, MarkAStephenson, Vinnycordeiro, Luli17, Razvaniycdi, Theskuter37, MaharajaMD, MWikiOrg, Prestja, Edsfocci, Pdecalculus, Onorai, Dairhead, Kirstine Dupont, TobiasAD, Pabhilash,
Samyulg, Ales9000, Borg4223, WikiEditingResearcher, RaphaelQS, Htbwmedia, Ashishbuntybhaiya, Carafriez, Toastcoast, ScotXW,
Snakomaniac, WAYNELYW, Brad Dyer, Lagoset, Cman21031, Scarlettail, Darkness Fallss, Engr Wasim Khan, 329n8z7TeL, Karlsonx,
Andhof-mt and Anonymous: 423

11.2

Images

File:Arduino316.jpg Source: http://upload.wikimedia.org/wikipedia/commons/6/6c/Arduino316.jpg License: CC-BY-SA-3.0 Contributors: http://www.arduino.cc/ Original artist: Nicholas Zambetti
File:Arduino_Logo.svg Source: http://upload.wikimedia.org/wikipedia/commons/8/87/Arduino_Logo.svg License: Public domain Contributors: http://arduino.cc Original artist: Unknown
File:Arduino_Uno_-_R3.jpg Source: http://upload.wikimedia.org/wikipedia/commons/3/38/Arduino_Uno_-_R3.jpg License: CC-BY2.0 Contributors: Arduino Uno - R3 Original artist: SparkFun Electronics from Boulder, USA
File:Arduino_led-5.jpg Source: http://upload.wikimedia.org/wikipedia/commons/8/88/Arduino_led-5.jpg License: Public domain Contributors: Own work Original artist: DustyDingo
File:Commons-logo.svg Source: http://upload.wikimedia.org/wikipedia/en/4/4a/Commons-logo.svg License: ? Contributors: ? Original
artist: ?
File:Free_Software_Portal_Logo.svg Source:
http://upload.wikimedia.org/wikipedia/commons/3/31/Free_and_open-source_
software_logo_%282009%29.svg License: Public domain Contributors:
FOSS Logo.svg Original artist: FOSS Logo.svg: ViperSnake151
File:Nuvola_apps_ksim.png Source: http://upload.wikimedia.org/wikipedia/commons/8/8d/Nuvola_apps_ksim.png License: LGPL
Contributors: http://icon-king.com Original artist: David Vignoni / ICON KING
File:Question_book-new.svg Source: http://upload.wikimedia.org/wikipedia/en/9/99/Question_book-new.svg License: Cc-by-sa-3.0
Contributors:
Created from scratch in Adobe Illustrator. Based on Image:Question book.png created by User:Equazcion Original artist:
Tkgd2007
File:Symbol_list_class.svg Source: http://upload.wikimedia.org/wikipedia/en/d/db/Symbol_list_class.svg License: Public domain Contributors: ? Original artist: ?
File:UnoConnections.jpg Source: http://upload.wikimedia.org/wikipedia/commons/9/9d/UnoConnections.jpg License: CC-BY-SA-3.0
Contributors: Own work Original artist: 1sfoerster

11.3

11.3

Content license

Content license

Creative Commons Attribution-Share Alike 3.0

You might also like