Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards or Breadboards (shields) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers. The microcontrollers are typically programmed using a dialect of features from the programming languages C and C++. In addition to using traditional compiler toolchains, the Arduino project provides an integrated development environment (IDE) based on the Processing language project.
As of 2016, 17 versions of the Arduino hardware have been commercially produced.
- Arduino RS232 (male pins)
- Arduino Diecimila
- Arduino Duemilanove (rev 2009b)
- Arduino Uno R2
- Arduino Uno SMD R3
- Arduino Leonardo
- Arduino Pro (No USB)
- Arduino Mega
- Arduino Nano (DIP-30 footprint)
- Arduino LilyPad 00 (rev 2007) (No USB)
- Arduino Robot
- Arduino Esplora
- Arduino Ethernet (AVR + W5100)
- Arduino Yun (AVR + AR9331)
- Arduino Due (ARM Cortex-M3 core)
A program for Arduino hardware may be written in any programming language with compilers that produce binary machine code for the target processor. Atmel provides a development environment for their 8-bit AVR and 32-bit ARM Cortex-Mbased microcontrollers: AVR Studio (older) and Atmel Studio (newer).