Table 4-1 is a comparison of the most common Arduino
board types. If you compare this table with the tables in Chapter 1 it is obvious that the basic capabilities of an Arduino board are the capabilities supplied by its microcontroller. However, because the Arduino designs allocate certain pins on the AVR processors to specific functions, or don’t bring out all of the processor’s pins, not all of the capabilities of the microcontrollers are available at the terminals of an Arduino.
VCC Clock AIN DIO PWM
Board name Processor USB (V) (MHz) pins pins pins
ArduinoBT ATmega328 5 16 6 14 6 None
Duemilanove ATmega168 5 16 6 14 6 Regular
Duemilanove ATmega328 5 16 6 14 6 Regular
Diecimila ATmega168 5 16 6 14 6 Regular
Esplora ATmega32U4 5 16 - - - Micro
Ethernet ATmega328 5 16 6 14 4 Regular
VCC Clock AIN DIO PWM Board name Processor USB (V) (MHz) pins pins pins
Fio ATmega328P 3.3 8 8 14 6 Mini
Leonardo ATmega32U4 5 16 12 20 7 Micro
LilyPad ATmega168V 2.7–5.5 8 6 14 6 None
LilyPad ATmega328V 2.7–5.5 8 6 14 6 None
Mega ATmega1280 5 16 16 54 15 Regular
Mega ADK ATmega2560 5 16 16 54 15 Regular
Mega 2560 ATmega2560 5 16 16 54 15 Regular
Micro ATmega32U4 5 16 12 20 7 Micro
Mini ATmega328 5 16 8 14 6 None
Mini Pro ATmega168 3.3 8 6 14 6 None
Mini Pro ATmega168 5 16 6 14 6 None
Nano ATmega168 5 16 8 14 6 Mini-B
Nano ATmega328 5 16 8 14 6 Mini-B
Pro (168) ATmega168 3.3 8 6 14 6 None
Pro (328) ATmega328 5 16 6 14 6 None
Uno ATmega328 5 16 6 14 6 Regular
Yún ATmega32U4 5 16 12 20 7 Host (A)
VCC Clock AIN DIO PWM Board name Processor USB (V) (MHz) pins pins pins
a Analog inputs. b Digital I/O. c Pulse-width modulation outputs (alternate DIO pin functions).
Table 4-1. Arduino hardware features
Arduino USB Interfaces
Starting with the Leonardo board (2012), the
ATmega32U4 XMEGA microcontroller has been used as the primary processor. This part has a built-in USB interface, which eliminates the need for the additional chip seen on earlier Arduino models with a USB interface. The Leonardo (2012), Esplora (2012), Micro (2012), and Yún (2013) all use the ATmega32U4 processor.
The older Arduino models with USB used an FTDI
interface chip (the FT232RL), an ATmega8 (Uno), or an ATmega16U2 (Mega2560 and Uno R3). The FT232RL converts between standard serial (such as RS-232) and USB. In the Uno, Uno R3, and Mega2560 the additional small ATmega processors are preprogrammed to serve as a USB interface. The operation of these parts is transparent when using the Arduino IDE to create and load program sketches.
Those boards that do not have a USB interface must be
programmed using an external adapter. Arduino types that use the FTDI FT232RL serial-to-USB interface chip are essentially identical internally, and consist of a DC voltage regulation circuit and two ICs. Figure 4-1 shows a block diagram of the Diecimila and Duemilanove models with an FTDI interface chip.
Figure 4-1. FTDI USB interface
Since around 2010, the Uno R2 and Uno SMD boards
have employed the ATmega16U2 part instead of the FTDI FT232RL for the USB interface. The Uno R3 also has the ATmega16U2 serving as the USB interface. The ATmega16U2 incorporates a built-in USB 2.0 interface and is basically the same as the ATmega32U4, just with less memory. Figure 4-2 shows a block diagram of the Uno R2 with an ATmega16U2 providing the USB interface. The Uno, with an ATmega8, has the same internal functional arrangement as the Uno R2, just with a different MCU serving as the USB interface.
Arduino Physical Dimensions
Arduino boards come in a variety of shapes and
sizes, but generally they can be organized into four groups: full-size or baseline boards, mega-size boards, small form-factor boards, and special-purpose boards.
Figure 4-2. ATmega16U2 USB interface
clockwise order from the lower left are a Duemilanove,
a Leonardo, a clone Mega2560 with an extended I/O pin layout from SainSmart, and an official Arduino Mega2560, with an Arduino Nano sitting in the center.
Figure 4-3. Comparison of Arduino and clone boards