Arduino ist eine sogenannte "physical computing" Plattform, die auf einem simplen Input Output Microcontrollerboard basiert und eine Entwicklungsumgebung der Processing bzw. Wiring Programmiersprache darstellt. Mit dem Arduino können interaktive autarke Objekte entwickelt werden oder das Microcontrollerboard kann mit auf dem Computer laufender Software verbunden werden (z.B. Macromedia Flash, Processing, Max/MSP, Pure Data, Supercollider). Derzeitig verfügbare Versionen des Arduino können vorgefertigt bezogen werden. Es stehen auch sämtliche Hardware Design Informationen zur Verfügung, mit dessen Hilfe der Arduino komplett selber von hand produziert werden kann.
Das Arduino Projekt wurde mit einer ehrenhaften Erwähnung in der Kategorie "Digitale Communities" beim Prix Ars Electronica 2006.
Implementierungen
Hardware
Ein Arduino Board besteht aus einem Atmel AVR Microcontroller (ATmega168 in neueren Versionen und ATmega8 in älteren) und zusätzlichen Komponenten die Programmer unterbringen und mit anderen Schaltkreisen zusammenarbeiten. Jedes Board enthält mindestens einen 5-Volt linearen Spannungregulator und einen 16 MHz Oszilator (oder Ceramic Resonator in einigen Fällen). Der Microcontroller ist vorprogrammiert mit einem
Bootloader, so dass ein externer Programmer nicht notwendig ist.
Auf der konzeptionellen Ebene werden alle Board über eine serielle RS-232 Verbindung programmiert, nur die Hardwareimplementierung unterscheidet sich dabei. Serielle Arduino Boards besitzen einen simplen Inverter Schaltkreis, der die RS-232 Level auf TTL Level übersetzt. Aktuelle Boards inklusive des Arduino Cecimila werden per USB programmiert, umgesetzt mit USB-auf-Seriell Adapter Chips wie dem FTDI FT323. Einige Varianten wie der Arduino Mini oder der inoffizielle Boarduino laden die Last der Kommunikation mit dem Computer auf abnehmbare USB-auf-Serielle Adapter Boards oder Kabel ab.
Das Arduino Board stellt die meisten der Input/Output Pins des Controllers für andere Schaltkreise zur Verfügung. Der Diecimila zum Beispiel verfügt über 14 digitale I/O Pins, 6 davon können analoge Pulsweitenmodulationssignale generieren und 6 analoge Eingänge. Diese Pins sind auf der Oberseite des Boards angebracht mit weiblichen Steckern im 0.1 Zoll Raster. Es gibt zahlreiche kommerzielle "
Shields". Das sind Plug-In Boards für verschiedene Anwendungen die auf diesen Pins montiert werden können.
Die Arduino-kompatiblen Barebone und Boarduino Boards verwenden männliche Header Pins an der Unterseite der Platine in zwei etwas engeren Reihen. Grund dieser alternativen Anordnung ist der einfache Kontakt mit lötfreien Steckboards, sogenannten Breadboards.
Software
Die Arduino IDE ist eine Cross-Platform Java Applikation die als ein Programmcode Editor und Compiler dient und auch in der Lage ist Firmware seriell zum Board zu senden.
Die Entwicklungsumgebung basiert auf Processing, eine IDE entwickelt um Programmieren Künstlern näher zu bringen, die normalerweise nicht viel Kontakt mit Programmierumgebungen haben. Die Programmiersprache basiert auf Wiring, eine C ähnlichen Sprache die einen ähnlichen Umfang für ein eingeschränkteres Boarddesign hat, dessen IDE ebenfalls auf processing basiert.
Hardware Versionen
Die original Arduino Hardware wird von 'Smart Projects' produziert. Zehn Versionen der Arduino Hardware wurden bisher kommerziell angeboten.
- Serial Arduino - programmiert mit einer seriellen DB9 Verbindung und einem ATmega8 Prozessor
- Arduino Extreme - mit einem USB Interface für die Programmierung und einem ATmega8
- Arduino Mini - eine miniatur Version des Arduinos mit einem SMD ATmega168
- Arduino Nano - einer noch kleineren USB angetriebenen Version des Arduino mit einem ATmega168 in SMD Technik
- Arduino Pro
- Lilypad Arduino - ein minimalistisches design für textilbasierte, tragbare Anwendungen mit einem SMD ATmega 168
- Arduino NG - mit einem USB Interface zur Programmierung und einem ATmega8
- Arduino NG plus - mit einem USB Interface zur Programmierung und einem ATmega168
- Arduino BT - mit einem Bluetooth Interface für die Programmierung des ATmega168
- Arduino Diecimila - mit einem USB Interface mit einem Atmega168 in einem DIL28 Paket
- Arduino Duemilanove (2009) - verwendet eine ATmega168 und kann automatisch zwischen USB und DC Stromversorgung umschalten
- Arduino Mega (2009) - Arduino Board auf dem ATMega1280 basierend mit 128 KB Speicher, 54 digitalen I/O Ports und 4 Hardware UARTs
Viele zum Arduino kompatible Produkte vermeiden den Namen 'Arduino' durch eine Abwandlung mit der Endung 'duino'. Dies ist auf eine Restriktion der Nutzung der Marke 'Arduino' zurückzuführen. Sie wurden kommerziell von anderen Herstellern veröffentlicht.
- Ardupilot - eine Arduino Version speziell auf Funktion eines Autopiloten von Flugmodellen, Booten und Landmodellen ausgelegt
- Bare Bones Board und Really Bare Bones Board - Arduino-kompatibel, hergestellt und als Bausatz verkauft von der Modern Device Company.
- Boarduino - ein kostengünstiger Diecimila Klon mit Pins auf der Unterseite der Patine zum direkten Einstecken in Breadboards, Produziert von Adafruit.
- Brewtroller - ein Open Source Standalone Brauerei Steuerungssystem, das auf der Sanguino Plattform basiert.
- Dorkboard
- Duino Stamp
- Flexi
- Freeduino SB - ein Arduino Diecimila-kompatibles Microcontroller Board, hergestellt und als Bausatz verkauft von Solarbotics.
- Freeduino Maxserial - ein Arduino-kompatibles Board mit einem Standard DB9 seriellen Port, hergestellt und zusammengebaut oder als Bausatz verkauft von Fundamental Logic.
- Freeduino Through-Hole - ein Arduino-kompatibles Board, dass auswändige, moderne SMD Bestückungsverfahren vermeidet und als Bausatz verkauft von NKC Electronics.
- Funnel IO
- iDuino - ein Arduino-kompatibles USB Board für dein einsatz am Breadboard, hergestellt und als Kit verkauft von Fundamental Logic.
- Pinguino - ein Arduino-Klon mit PIC- statt AVR-Controller; das Projekt stammt aus Frankreich.
- The Programmable Chip EEG BCI - eine Arduino-kompatible Schematik und Leiterplatine, die in ein Interface zur Interaktion von Gehirn und Computer per Elektroenzephalogram umgebaut wurde.
- Really Bare Bones Board (RBBB) - eine abgespekter, kompakter, günstiger Decimilia Klon, produziert von der Modern Device Company.
- Illuminato
- metaboard - ein (überwiegend) Arduino-kompatibles Board das auf eine sehr geringe Komplexität und somit sehr geringem Preis hin entwickelt wurde. Hardware und Software sind Open Source. Es wurde vom metalab, einem Hackerspace in Wien entwickelt.
- Miduino
- MPGuino - ein Arduino basierter Open Source Spritverbrauchsrechner zur Montage im Fahrzeug.
- Orangutan SV-168
- POP168 Matchbox
- Protoduino
- Rainbowduino - ein auf den Betrieb von RBG LEDs ausgelegtes Controllerboard im Formfaktor einer 8*8 LED Matrix
- Reprap Extruder Controller v2.2
- Roboduino
- Sanguino - ein mit Open Source erweiterter Arduino Klon, der einen ATMega644P anstelle des ATMega168 verwendet. Damit stehen 64K Flash-Speicher, 4K RAM und 32 universelle IO Pins in einem 40 Pin DIP Gehäuse zu Verfügung. Das Board wurde im Zusammenhang mit dem RepRap Projekt entwickelt.
- Seeeduino
- Silicon Railway LEDuino - ein Arduino kompatibles Board mit einem verbesserten I2C, DCC Dekoder und CAN Bus Interface. Hergestellt in SMD Technik und komplett bestückt verkauft von Siliconrailway.
- Smapler v1
- Stickduino
- Teensy USB
- Teensy++ USB
- USB Boarduino
- Wiblock ZB1
- Wiseduino Ein Arduino Clone mit einer DS1307 Echtzeituhr
Open Hardware und Open Source
Das Arduino Hardware Referenz Designs wird unter einer Creative Commons Attribution Share-Alike 2.5 Lizenz veröffentlicht und kann auf der Arduino Website runtergeladen werde. Dateien für Layout und Produktion für einige Versionen der Arduino Hardware sind ebenfalls verfügbar. Der Quellcode für die IDE und die on-board Libraries sind ebenso verfügbar und stehen unter der GPLv2 Lizenz.
Einschränkungen in der Verwendung des Namens
Während die Hardware und Software unter der Copyleft Lizenz stehen haben die Entwickler ihr Anliegen ausgedrückt, dass der Name 'Arduino' und Ableitungen davon exclusiv den offiziellen Produkt vorbehalten bleiben und nicht ohne Erlaubnis verwendet werden sollen. Das Dokument zur offiziellen Politik zur Nutzung des Arduino Names betont, dass das Projekt offen ist die Arbeit anderer in das offizielle Produkt aufzunehmen.
Als Resultat der geschützten Namenskonvention hat eine Gruppe von Arduino Nutzern die Entwicklung des Arduino Decimilia zu einem eignen Projekt geforked (in einer weiten Auslegung des Wortes) und daraus das
Freeduino Board entstehen lassen. Der Name '
Freeduino' ist nicht geschützt und kann ohne Einschränkungen verwendet werden.