Introduction
Arduino is a
popular open-source single-board microcontroller, descendant of the open-source
Wiring platform, designed to make the process of using electronics in
multidisciplinary projects more accessible. The hardware consists of a simple
open hardware design for the Arduino board with an Atmel AVR processor and
on-board input/output support. The software consists of a standard programming
language compiler and the boot loader that runs on the board.
Arduino
hardware is programmed using a Wiring-based language (syntax and libraries),
similar to C++ with some slight simplifications and modifications, and a
Processing-based integrated development environment.
Current
versions can be purchased pre-assembled; hardware design information is
available for those who would like to assemble an Arduino by hand.
Additionally, variations of the Italian-made Arduino—with varying levels of
compatibility—have been released by third parties; some of them are programmed
using the Arduino software.
Hardware
An Arduino
board consists of an 8-bit Atmel AVR microcontroller with complementary
components to facilitate programming and incorporation into other circuits. An
important aspect of the Arduino is the standard way that connectors are
exposed, allowing the CPU board to be connected to a variety of interchangeable
add-on modules known as shields. Official 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 boards include a 5 volt linear regulator and a 16 MHz crystal
oscillator (or ceramic resonator in some variants), although some designs such
as the LilyPad run at 8 MHz and dispense with the onboard voltage regulator due
to specific form-factor restrictions. An Arduino's microcontroller is also
pre-programmed with a boot loader that simplifies uploading of programs to the
on-chip flash memory, compared with other devices that typically need an
external programmer.
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 simple inverter
circuit to convert between RS-232-level and TTL-level 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 Arduino Mini and the
unofficial Boarduino, use a detachable USB-to-serial adapter board or cable,
Bluetooth or other methods. (When used with traditional microcontroller tools
instead of the Arduino IDE, standard AVR ISP programming is used.)
Arduino |