Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).

Why Arduino?

There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, NIQ's EZIO Board 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 runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.

Simple, clear programming environment - The Arduino programming environment 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 the look and feel of Arduino

Open source and extensible software - The Arduino software and 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 Arduino is based on Atmel's ATMEGA328 and ATMEGA168 microcontrollers. The plans for the modules 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.

More Arduino

The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, 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 Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.

"Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduno, moving forward. The Uno is the latest in a series of USB Arduino boards, and the reference model for the Arduino platform

There are multiple versions of the Arduino board. The previous basic board, the Duemilanove, uses the Atmel ATmega328 microcontroller. The older Diecimila, and the first run of Duemilanoves used the Atmel ATmega168, while older boards use the ATmega8. The Arduino Mega is based on the ATmega1280. A microcontroller is a computer-on-a-chip. It is a type of microprocessor dedicated to execute one task embedded in another device to control the features of that device.

Duemilanove - The Duemilanove automatically selects the appropriate power supply (USB or external power), eliminating the need for the power selection jumper found on previous boards. It also adds an easiest to cut trace for disabling the auto-reset, along with a solder jumper for re-enabling it. Around March 1st, 2009, the Duemilanove started to ship with the ATmega328p instead of the ATmega168.

Diecimila - The main change in the Arduino Diecimila was that it can be reset from the computer, without the need to physically press the reset button on the board. The Diecimila uses a low dropout voltage regulator which lowers the board's power consumption when powered by an external supply (AC/DC adapter or battery). A resettable polyfuse protects your computer's USB ports from shorts and surges. It also provides pin headers for the reset line and for 3.3V. There is a built-in LED on pin 13.

Nano - A compact board designed for breadboard use, the Nano connects to the computer using a USB Mini-B cable.

Mega - A larger, more powerful Arduino board, shield compatible with the Duemilanove and Diecmila.

Bluetooth (pictured) - The Arduino BT contains a bluetooth module that allows for wireless communication and programming. It is compatible with Arduino shields.

LilyPad - Designed for wearable application, this board can be sewn onto fabric, and is a stylish purple. details

Mini - This is the smallest Arduino board. It works well in a breadboard or for applications in which space is at a premium. It connects to the computer using the Mini USB Adapter.

Mini USB Adapter - This board converts a USB connection into 5 volt, GND, TX and RX lines that you can connect to the Arduino Mini or other microcontroller.

Pro - This board is designed for advanced users who want to leave a board embedded in a project: it's cheaper than a Diecimila and easily powered by a battery, but requires additional components and assembly.

Pro Mini - Like the Pro, the Pro Mini is designed for advanced users requiring a low-cost, small board and willing to do some extra work.

Serial - It's a basic board that uses RS232 as an interface to a computer for programming or communication. This board is easy to assemble even as a learning exercise.

Serial Single Sided - This board is designed to be etched and assembled by hand. It is slightly larger than the Diecimila, but still shield compatible.


Freeduino began as a collaborative project to publish open-source Arduino-compatible production files. The files that resulted from this project allow users to create boards that are 100% functionally, electrically and physically compatible with Arduino hardware. Over time, Freeduino has come to mean hardware that is "Arduino-compatible".

Since the name "Arduino" is a protected trademark, branding products as Freeduino allows users to build on the established knowledge and open-source licenses of the Arduino project without having to worry about trademark infringement.

Arduino Shields

Shields are boards to be mounted on top of the Arduino board and that extend the functionality of Arduino to control different devices, acquire data, etc. (Adafruit Motor/Stepper/Servo Shield pictured). Shields generally are bought as a kit of parts to be assembled.

Xbee Shield - This shield allows multiple Arduino boards to communicate wirelessly over distances up to 100 feet (indoors) or 300 feet (outdoors) using the Maxstream Xbee Zigbee module.

Motor Shield
- This shield allows an Arduino board to control DC motors and read encoders.

Ethernet Shield
- This shield allows an Arduino board to connect to the Internet.

Wave Shield
- This shield allows an Arduino board to play up to 22KHz, 12bit uncompressed audio files of any length from an on board SD memory card.

Proto Shield - This a prototyping shield for you to solder your own circuits on to. It is a more permanent platform than a solderless breadboard but still fits on top of an Arduino board, unlike a regular protoboard.


Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to take the step from physical prototyping to actual product. This free software allows users to document their Arduino and other electronic-based prototypes, and to create circuit diagrams and PCB layouts for manufacturing.

Lady Ada's (Limor Fried's) Arduino Tutorials

Lesson 0 - Pre-flight check...Is your Arduino and computer ready?
Lesson 1 - The "Hello World!" of electronics, a simple blinking light
Lesson 2 - Sketches, variables, procedures and hacking code
Lesson 3 - Breadboards, resistors and LEDs, schematics, and basic RGB color-mixing
Lesson 4 - The serial library and binary data - getting chatty with Arduino and crunching numbers
Lesson 5 - Buttons & switches, digital inputs, pull-up and pull-down resistors, if/if-else statements, debouncing and your first contract product design.

Tom Igoe's Physical Computing Resources

Tom Igoe teaches courses in physical computing and networking on the Interactive Telecommunications Program, Tisch School of the Arts, NYU. He has consulted for The American Museum of the Moving Image, EAR Studio, Diller + Scofidio Architects, Eos Orchestra, and others. He is a contributor to MAKE magazine and a collaborator on the Arduino open source microcontroller project.

Igoe, Tom. Making Things Talk. San Francisco: O'Reilly, 2007.

O'Sullivan, Dan, and Tom Igoe. Physical Computing: Sensing and Controlling the Physical World with Computers. Boston: Muska & Lipman, 2004.

Links - Makers of the ARDX kit - Sensor Lab Tutorials. - Tod E. Kurt's blog. - K3 Malmo University. - Arduino Programming Notebook by Brian Evans (download free). - This site is the work of Paul Badger, an artist working in new media and public art. who teaches courses in physical computing and robotics at Rhode Island School of Design. He also does much of the reference documentation on the Arduino website. - offers a connection to a houseplant via online Twitter status updates that reach you anywhere in the world. When your plant needs water, it will post to let you know, and send its thanks when you show it love. - Instructables tagged "Arduino". - Arduino SketchUp model. - Hobby Robotics tagged "Arduino". - by Usman Haque and Adam Somlai-Fischer. - Plushie Message Framework. - by Usman Haque. - Huddersfield. - The tale of a cute, blue microcontroller that fits nicely in the palm of your hand, and the expanding community of developers who love and support it. - Getting Started with Arduino Booklet. - Introduction to Soldering. - Fabian Winkler's Electronic Media Studio. -  CadSoft offers user friendly, powerful and affordable solutions for PCB design, including Schematic Capture, Board Layout, and Autorouter. Freeware version, too. - Switch - Floor Mat. - a repository of information about physical computing and prototyping maintained by the Stanford HCI Group. - Arduino + Actuators workshop - Twitter + PicAxe + Ethernet = More Fun! - Simply add gigabytes of flash storage to your product. - Arduino + camera projects. - The Sanguino is an Arduino-compatible board that boasts 4x the memory, 4x the ram, and 12 extra pins. - ThingM is a ubiquitous computing device studio. Here, networked electronics meet user experience design in products for everyday problem solving and self-expression. We bring together people's lives with cutting edge technologies to research and develop original products and services. - The largest range of electronic components at the best prices. - Build your own fully color controllable RGB room or spot lighting for under $100. - Arduino library for the MAX7221 and MAX7219. These two chips provide an easy way to control either an array of 64 LEDs or up to eight digits made of 7-segment displays with a minimum of electronic components. - Bitlash is an open source interpreted language shell for the Arduino serial port. It runs on the Arduino and interprets commands that you type in a terminal window. - The Roboduino is a Freeduino (Arduino software compatible) microcontroller board designed for robotics. - TinkerKit is an Arduino-compatible physical computing prototyping toolkit aimed at design professionals. -  Physical computing, interaction design, hacking electronics and a good dose of solder. - A selection of Arduino-related products. - A wiki for sharing open source electronics knowledge, schematics, board layouts, ports and parts libraries. - Information on Printed Circuit Boards. - Here you can find a PCB Design Tutorial in PDF format, freely distributable for educational and private use. - Circuit symbols are used in circuit diagrams which show how a circuit is connected together. - The aim of this project is to provide a thorough review of the main types of sensing technologies used in musical applications. - An online datasheet source for electronic components and semiconductors.