Arduino Comparison Guide
This Tutorial is Retired!
We have updated this tutorial in "Choosing an Arduino for Your Project." If you are looking to compare specs of different Arduino boards you can view our Arduino Comparison Guide.
View the updated tutorial: Choosing an Arduino for Your Project
Totally Tabular
For a quick cross-comparison of the available Arduinos, here's a (totally tubular) tabular look at the variety of boards. The boards are sorted by their main microcontroller, which is what defines most of the characteristics for each of them.
Item | System Voltage | Clock Speed | Digital I/O | Analog Inputs | PWM | UART | Programming Interface |
Cost |
---|---|---|---|---|---|---|---|---|
ATmega328 Boards — 32kB Program Space // 1 UART // 6 PWM // 4-8 Analog Inputs // 9-14 Digital I/O | ||||||||
Arduino Uno - R3 |
5V | 16MHz | 14 | 6 | 6 | 1 | USB via ATMega16U2 | $29.95 |
Arduino Uno R3 SMD |
5V | 16MHz | 14 | 6 | 6 | 1 | USB via ATMega16U2 | $29.95 |
RedBoard |
5V | 16MHz | 14 | 6 | 6 | 1 | USB via FTDI | $24.95 |
Arduino Pro 3.3V/8MHz |
3.3V | 8MHz | 14 | 6 | 6 | 1 | FTDI-Compatible Header | $14.95 |
Arduino Pro 5V/16MHz |
5V | 16MHz | 14 | 6 | 6 | 1 | FTDI-Compatible Header | $14.95 |
Arduino Mini 05 |
5V | 16MHz | 14 | 8 | 6 | 1 | FTDI-Compatible Header | $33.95 |
Arduino Pro Mini 3.3V/8MHz |
3.3V | 8MHz | 14 | 8 | 6 | 1 | FTDI-Compatible Header | $9.95 |
Arduino Pro Mini 5V/16MHz |
5V | 16MHz | 14 | 8 | 6 | 1 | FTDI-Compatible Header | $9.95 |
Arduino Ethernet |
5V | 16MHz | 14 | 6 | 6 | 1 | FTDI-Compatible Header | $59.95 |
Arduino Fio |
3.3V | 8MHz | 14 | 8 | 6 | 1 | FTDI-Compatible Header or Wirelessly via XBee† | $24.95 |
LilyPad Arduino 328 Main Board |
3.3V | 8MHz | 14 | 6 | 6 | 1 | FTDI-Compatible Header | $21.95 |
LilyPad Arduino Simple Board |
3.3V | 8MHz | 9 | 4 | 5 | 0‡ | FTDI-Compatible Header | $19.95 |
ATmega32U4 Boards — 32kB Program Space // 1 UART // 5-7 PWM // 12 Analog Inputs // 9-20 Digital I/O | ||||||||
Arduino Leonardo |
5V | 16MHz | 20* | 12 | 7 | 1 | Native USB | $24.95 |
Pro Micro 5V/16MHz |
5V | 16MHz | 12 | 12 | 5 | 1 | Native USB | $19.95 |
Pro Micro 3.3V/8MHz |
3.3V | 8MHz | 12 | 12 | 5 | 1 | Native USB | $19.95 |
LilyPad Arduino USB |
5V | 16MHz | 9 | 12 | 5 | 0 | Native USB | $24.95 |
ATmega2560 Arduino Mega's — 256kB Program Space // 4 UARTs // 14 PWM // 16 Analog Inputs // 54 Digital I/O | ||||||||
Arduino Mega 2560 R3 |
5V | 16MHz | 54 | 16 | 14 | 4 | USB via ATMega16U2 | $58.95 |
Mega Pro 3.3V |
3.3V | 8MHz | 54 | 16 | 14 | 4 | FTDI-Compatible Header | $44.95 |
Mega Pro 5V |
5V | 16MHz | 54 | 16 | 14 | 4 | FTDI-Compatible Header | $44.95 |
Mega Pro Mini 3.3V |
3.3V | 8MHz | 54 | 16 | 14 | 4 | FTDI-Compatible Header | $49.95 |
AT91SAM3X8E Arduino Due — 512kB Program Space // 4 UARTs // 12 PWM (2 DAC) // 12 Analog Input // 54 Digital I/O | ||||||||
Arduino Due |
3.3V | 84MHz | 54 | 12 | 12 | 4 | USB native | $49.95 |
*The Arduino Leonardo has the same GPIO pin-count as the other "Uno" style boards, but more of the pins play "double duty" as both analog and digital pins, hence the higher numbers.
†The miniUSB connector on the Arduino Fio is used for battery charging only. An Xbee module is not included with this board.
‡The LilyPad Simple Board does have one UART but the pins aren't broken out to pads. Serial communication can be achieved through the FTDI header.
Glossary of Terms:
Microcontroller (MCU): The microcontroller is the heart (or, more appropriately, the brain) of the Arduino board. The Arduino development board is based on AVR microcontrollers of different types, each of which have different functions and features.
Input Voltage: This is the suggested input voltage range for the board. The board may be rated for a slightly higher maximum voltage, but this is the safe operating range. A handy thing to keep in mind is that many of the Li-Po batteries that we carry are 3.7V, meaning that any board with an input voltage including 3.7V can be powered directly from one of our Li-Po battery packs.
System Voltage: This is the system voltage of the board, i.e. the voltage at which the microcontroller is actually running. This is an important factor for shield-compatibility since the logic level is now 3.3V instead of 5V. You always want to be sure that whatever outside system with which you're trying to communicate is able to match the logic level of your controller.
Clock Speed: This is the operating frequency of the microcontroller and is related to the speed at which it can execute commands. Although there are rare exceptions, most ATmega microcontrollers running at 3V will be clocked at 8MHz, whereas most running at 5V will be clocked at 16MHz. The clock speed of the Arduino can be divided down for power savings with a few tricks if you know what you're doing.
Digital I/O: This is the number of digital input/output (I/O) pins that are broken out on the Arduino board. Each of these can be configured as either an input or an output. Some are capable of PWM, and some double as serial communication pins.
Analog Inputs: This is the number of analog input pins that are available on the Arduino board. Analog pins are labeled "A" followed by their number, they allow you to read analog values using the analog-to-digital converter (ADC) in the ATMega chip. Analog inputs can also be configured as more digital I/O if you need it!
PWM: This is the number of digital I/O pins that are capable of producing a Pulse-width modulation. (PWM) signal. A PWM signal is like an analog output; it allows your Arduino to "fake" an analog voltage between zero and the system voltage.
UART: This is the number of separate serial communication lines your Arduino board can support. On most Arduino boards, digital I/O pins 0&1 double as your serial send and receive pins and are shared with the serial programming port. Some Arduino boards have multiple UARTs and can support multiple serial ports at once. All Arduino boards have at least one UART for programming, but some aren't broken out to pins that are accessible.
Flash Space: This is the amount of program memory that the chip has available for your to store your sketch. Not all of this memory is available as a very small portion is taken up by the bootloader (usually between 0.5 and 2KB).
Programming Interface: This is how you hook up the Arduino board to your computer for programming. Some boards have a USB jack on-board so that all you need to do is plug them into a USB cable. Others have a header available so that you can plug in an FTDI Basic breakout or FTDI Cable. Other boards, like the Mini, break out the serial pins for programming but aren't pin-compatible with the FTDI header. Any Arduino board that has a USB jack on-board also has some other hardware that enables the serial to USB conversion. Some boards, however, don't need additional hardware because their microcontrollers have built-in support for USB.
This table serves to overview all of the Arduino boards. You may have an idea of which Arduino board is right for you now. On the next few pages we'll split into different categories of Arduinos and explore their differences more closely.