Arduino
From Wikipedia, the free encyclopedia
A screenshot of the Arduino IDE showing a simple example program. |
|
Developed by | Arduino Software |
---|---|
Latest release | 0015 / 2009-03-26 |
Written in | Java |
Operating system | Cross-platform |
Type | Integrated Development Environment |
License | LGPL or GPL license |
Website | http://www.arduino.cc/ |
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., Adobe 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 2006 Prix Ars Electronica.[1][2]
Contents |
[edit] Platform
[edit] Hardware
An Arduino board consists of an Atmel AVR microcontroller (ATmega328 and ATmega168 in newer versions, ATmega8 in older versions) and complementary components to facilitate programming and incorporation into other circuits. All boards include 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, use 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 of the board, via female 0.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 to be plugged into solderless breadboards.
[edit] Software
The Arduino IDE is a cross-platform Java application that serves as a code editor and compiler and is also capable of transferring firmware serially to the board.
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.
[edit] Official hardware
The original Arduino hardware is manufactured by Smart Projects.
Eleven versions of the Arduino hardware have been commercially produced to date:[3]
- The Serial Arduino, programmed with a DB9 serial connection and using an ATmega8
- The Arduino Extreme, with a USB interface for programming and using an ATmega8
- The Arduino Mini, a miniature version of the Arduino using a surface-mounted ATmega168
- The Arduino Nano, an even smaller, USB powered version of the Arduino using a surface-mounted ATmega168
- The LilyPad Arduino, a minimalist design for wearable application using a surface-mounted ATmega168
- The Arduino NG, with a USB interface for programming and using an ATmega8
- The Arduino NG plus, with a USB interface for programming and using an ATmega168
- The Arduino BT, with a Bluetooth interface for programming using an ATmega168
- The Arduino Diecimila, with a USB interface and utilizes an Atmega168 in a DIL28 package (pictured)
- The Arduino Duemilanove ("2009"), using the Atmega168 (Atmega328 for newer version) and powered via USB/DC power, switching automatically
- The Arduino Mega, using a surface-mounted ATmega1280 for additional I/O and memory.[4]
[edit] Open hardware and open source
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.[3] The source code for the IDE and the on-board library are available and released under the GPLv2 license.[5]
[edit] Accessory hardware
Arduino and clones make use of shields, which are printed circuit boards which sit atop an Arduino, and plug into the normally supplied pin-headers. These are expansions to the base Arduino. There are many functions of shields, from motor controls, to breadboarding (prototyping).[6]
[edit] Clones
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.[7]
As a result of the protected naming conventions of the Arduino, a group of Arduino users forked (in an extended meaning of the word) the Arduino Diecimila, releasing an equivalent board called Freeduino. The name Freeduino is not trademarked and is free to use for any use. [8]
Several Arduino-compatible products avoid the "Arduino" name by using 'duino' name variants. They have been commercially released by other manufacturers.
[edit] Shield-compatible clones
The following boards are fully or almost fully compatible with both the Arduino hardware and software, including being able to accept "shield" daughterboards.
- The "Freeduino SB", manufactured and sold as a mini-kit by Solarbotics.
- The "Freeduino MaxSerial", a board with a standard DB9 serial port, manufactured and sold assembled or as a kit by Fundamental Logic.
- The "Freeduino Through-Hole", a board that avoids surface-mount soldering, manufactured and sold as a kit by NKC Electronics.
- The "Illuminato", a board which uses an ATMega645 instead of an ATMega168. This provides 64K of flash, 4K of RAM and 32 general IO pins. Hardware and firmware are open source. The board is designed to look svelte and has 10 LEDs that can be controlled using a "hidden" instruction. It was developed by Liquidware.
- The "metaboard", a board that is designed to have a very low complexity and thus a very low price. Hardware and firmware are open source. It was developed by Metalab, a hackerspace in Vienna.
- The "Seeeduino", derived from the Diecimila.
[edit] Bootloader-compatible clones
These boards are compatible with the Arduino software but do not accept shields. They have different connections to the I/O pins, such as a series of pins on the underside of the board for use with breadboards for easy prototyping, or more specific connectors.
- The "Boarduino" - an inexpensive Diecimila clone made for breadboarding, produced by Adafruit.
- The "Bare Bones Board" (BBB) and "Really Bare Bones Board" (RBBB) by Modern Device - compact inexpensive clones suitable for breadboarding.
- The "iDuino", a USB board for breadboarding, manufactured and sold as a kit by Fundamental Logic.
- The "Sanguino" - An open source enhanced Ardiuno clone which uses an ATMega644P instead of an ATMega168. This provides 64K of flash, 4K of RAM and 32 general IO pins in a 40 pin DIP device. It was developed with the RepRap Project in mind.
- The "LEDuino", a board with enhanced I2C, DCC decoder and CAN bus interfaces. Manufactured using surface mount and sold assembled by Siliconrailway.
- The "Stickduino", similar to a usb key.
- The "Roboduino", designed for robotics. All of its connections have neighboring power buses into which servos and sensors can easily be plugged. Additional headers for power and serial communication are also provided. It was developed by Curious Inventor, L.L.C.
[edit] Non-ATmega boards
The following boards accept Arduino "shield" daughter boards but do not use ATmega micro-controllers. Thus they are incompatible with the Arduino environment.
- The "ARMmitePRO", an ARM-based shield-compatible board from Coridium, programmable in BASIC or C.
- The "Cortino", a development system for the 32-bit ARM Cortex M3 Microprocessor.
[edit] Development team
The core Arduino developer team is composed of Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis and Nicholas Zambetti.
[edit] See also
[edit] References
- ^ "Ars Electronica Archiv" (in German). http://90.146.8.18/de/archives/prix_archive/prix_year_cat.asp?iProjectID=13638&iCategoryID=12420. Retrieved on 2009-02-18.
- ^ "Ars Electronica Archiv / ANERKENNUNG" (in German). http://90.146.8.18/de/archives/prix_archive/prix_projekt.asp?iProjectID=13789#. Retrieved on 2009-02-18.
- ^ a b "Hardware". http://www.arduino.cc/en/Main/Hardware. Retrieved on 2008-12-26.
- ^ "ArduinoBoardMega". Arduino. http://arduino.cc/en/Main/ArduinoBoardMega. Retrieved on 2009-03-26.
- ^ "Download the Arduino Software". Software. Arduino. http://www.arduino.cc/en/Main/Software.
- ^ "Arduino - ArduinoShields". Arduino. http://www.arduino.cc/en/Main/ArduinoShields. Retrieved on 2009-03-20.
- ^ "So you want to make an Arduino". Policy. Arduino. http://www.arduino.cc/en/Main/Policy. Retrieved on 2009-03-17.
- ^ "Freeduino Open Designs". http://www.freeduino.org/freeduino_open_designs.html. Retrieved on 2008-03-03.
[edit] External links
Wikimedia Commons has media related to: Arduino |
- Arduino project main page: http://www.arduino.cc/
- Arduino wiki, aka the Playground
- Comprehensive Arduino Tutorial
- Make Magazine article on the Arduino
- "Wiring" software project: http://wiring.org.co/
- Arduino photos on Flickr: http://www.flickr.com/photos/tags/arduino/
- Arduino tutorial – broken into several lessons with photographs and suggestions for appropriate tools for beginners.
- Introduction to the Arduino - Weekend Project Podcast
- Sheepdog Software's Introduction to Arduino: "Getting Started" pages and sequenced programming tutorials, with help on hardware.
- Wired article about open source hardware, focusing on Arduino
- Arduino tutorial – in portuguese, but with source codes and videos.