Arduino is a physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software running on a computer (e.g., Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider). Currently shipping versions can be purchased pre-assembled; hardware design information is available for those who would like to assemble an Arduino by hand.
The Arduino project received an honorary mention in the Digital Communities category at the Prix Ars Electronica 2006
An Arduino board consists of an Atmel AVR microcontroller (ATmega168 in newer versions, ATmega8 in older versions) and complementary components to facilitate programming and incorporation into other circuits. Each board includes at least a 5-volt linear regulator and a 16MHz crystal oscillator (or ceramic resonator in some variants). The microcontroller is pre-programmed with a bootloader so that an external programmer is not necessary.
At a conceptual level, all boards are programmed over an RS-232 serial connection, but the way this is implemented in hardware varies by version. Serial Arduino boards contain a simple inverter circuit to convert between RS-232-level and TTL-level signals. Current Arduino boards including the Diecimila are programmed via USB, implemented using USB-to-serial adapter chips such as the FTDI FT232. Some variants, such as the Arduino Mini and the unofficial Boarduino, offload the circuitry required to connect to the computer onto a detachable USB-to-serial adapter board or cable.
The Arduino board exposes most of the microcontroller's I/O pins for use by other circuits. The Diecimila, for example, provides 14 digital I/O pins, 6 of which can produce PWM signals, and 6 analog inputs. These pins are available on the top side of the board, via female .1 inch headers. Several plug-in application boards known as "shields" are also commercially available.
The Arduino-compatible Barebones and Boarduino boards provide male header pins on the underside of the board in two more closely spaced rows for ease of use with solderless breadboards.
The development environment is based on Processing, an IDE designed to introduce programming to artists unfamiliar with software development. The programming language is derived from Wiring, a C-like language that provides similar functionality for a more tightly restricted board design, whose IDE is also based on Processing.
The original Arduino hardware is manufactured by Smart Projects
Nine versions of the Arduino hardware have been commercially produced to date:
Several Arduino-compatible products that avoid the "Arduino" name by using 'duino' name variants (see restrictions on the use of the trademark "Arduino" below) have been commercially released by other manufacturers:
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 files for some versions of the Arduino hardware are also available. The source code for the IDE and the on-board library are available and released under the GPLv2 license.
While the hardware and software designs are available under copyleft licenses, the developers have expressed a desire that the name "Arduino" (or derivatives thereof) be exclusive to the official product and not be used for derivative works without permission. The official policy document on the use of the Arduino name emphasizes that the project is open to incorporating work by others into the official product.
As a result of the protected naming conventions of the Arduino, a group of Arduino users reverse-engineered the Arduino Diecimila, ultimately releasing an equivalent board called Freeduino.