Arduino Boards
Arduino boards are available in a number of different configurations, in varying physical sizes and with different numbers of input / output pins. Arduino Uno and Duemilanove boards use the Atmel ATMega328 microcontroller, and offer 14 digital I/O pins and 6 analog pins. The Arduino Mega boards use the ATMega2560 microcontroller and offer 54 digital I/O pins and 16 analog pins. The Arduino Pro, Nano and Mini boards are similar to the Duemilanove boards, but without a USB-to-serial converter and headers, so have a very small footprint for projects where space is limited. Specialized boards include the Arduino Bluetooth, which has an onboard Bluetooth module, and the Arduino Ethernet, which has an RJ45 port for connection to a network.
Arduino Clones
The Arduino hardware designs are available under a Creative Commons Attribution Share-Alike license, which means that you can download the schematics and develop your own Arduino compatible board on a personal or commercial basis. This availability has led to a number of Arduino clones, tailored towards specific requirements. For example, the Really Bare Bones Board (RBBB) from Modern Devices offers a cut-down version for development available at a very low price, the StickDuino provides a USB-stick-sized Arduino and the BoardDino is specifically designed for use with a breadboard, a one-of-a-kind circuit board such as a prototype or homemade board.
Arduino Shields
One of the reasons the Arduino has become so popular is its shield system, which provides a standard size and format for expansion modules for guaranteed compatibility. Many hobbyists have designed and developed shields to expand the capabilities of the Arduino, and released the shields as kits or made them open source. Examples include the Ethernet Shield for connecting the Arduino to a network, LCD shield to add an LCD screen to the Arduino, Motor Shield for driving DC motors and Video shield for overlaying text on an analog video source. These are just a few of the many shields available, allowing you to build complex projects using the Arduino as a base.
The Arduino Environment
Another reason for the success of the Arduino platform is the custom software, based on the "Processing" programming environment. The language is easy to learn for beginners to electronics and programming, and many prewritten libraries are available, allowing you to add complex functionality to your programs quickly and easily. More advanced users can use AVR C code directly within the Arduino environment. Compilation is automatic at the click of a button, and carried out in the background with no user interaction needed. Once compiled, a further button click will upload the code into the Arduino through a standard USB cable, with no specialized programming hardware needed. This makes program development easier, and means the Arduino can act as an aircraft autopilot one minute and an oscilloscope the next.