Arduino

Types of Arduino Board and Selection Guide

Introduction

Let’s face it, there are a lot of different Arduino boards out there. How do you decide which one you need for your project? In this tutorial, we’ll take a look at the diverse world of Arduino boards. We’ll begin with a tabular overview of the features each board has. Then we’ll delve deeper into each board, examining the pros, cons, and example use cases.


 

arduino-boardsAll Arduino boards have one thing in common: they are programmed through the Arduino IDE. This is the software that allows you to write and upload code. Beyond that, there can be a lot of differences. The number of inputs and outputs (how many sensors, LEDs, and buttons you can use on a single board), speed, operating voltage, and form factor are just a few of the variables. Some boards are designed to be embedded and have no programming interface (hardware) which you would need to buy separately. Some can run directly from a 3.7V battery, others need at least 5V. Check the chart on the next page to find the right


Arduino for your project.

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
[UnoR3]

Arduino Uno – R3

5V 16MHz 14 6 6 1 USB via ATMega16U2 $29.95
[UnoSMD]

Arduino Uno R3 SMD

5V 16MHz 14 6 6 1 USB via ATMega16U2 $29.95
[RedBoard]

RedBoard

5V 16MHz 14 6 6 1 USB via FTDI $24.95
[Pro 3V]

Arduino Pro 3.3V/8MHz

3.3V 8MHz 14 6 6 1 FTDI-Compatible Header $14.95
[Pro 5V]

Arduino Pro 5V/16MHz

5V 16MHz 14 6 6 1 FTDI-Compatible Header $14.95
[Mini05]

Arduino Mini 05

5V 16MHz 14 8 6 1 FTDI-Compatible Header $33.95
[ProMini3]

Arduino Pro Mini 3.3V/8MHz

3.3V 8MHz 14 8 6 1 FTDI-Compatible Header $9.95
[ProMini5]

Arduino Pro Mini 5V/16MHz

5V 16MHz 14 8 6 1 FTDI-Compatible Header $9.95
[Arduino Ethernet]

Arduino Ethernet

5V 16MHz 14 6 6 1 FTDI-Compatible Header $59.95
[Fio]

Arduino Fio

3.3V 8MHz 14 8 6 1 FTDI-Compatible Header or Wirelessly via XBee $24.95
[LilyMain]

LilyPad Arduino 328 Main Board

3.3V 8MHz 14 6 6 1 FTDI-Compatible Header $21.95
[LilySimp]

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
[Leo]

Arduino Leonardo

5V 16MHz 20* 12 7 1 Native USB $24.95
[ProMicro5]

Pro Micro 5V/16MHz

5V 16MHz 12 12 5 1 Native USB $19.95
[ProMicro3]

Pro Micro 3.3V/8MHz

3.3V 8MHz 12 12 5 1 Native USB $19.95
[LilyUSB]

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
[2560R3]

Arduino Mega 2560 R3

5V 16MHz 54 16 14 4 USB via ATMega16U2 $58.95
[MegaPro3]

Mega Pro 3.3V

3.3V 8MHz 54 16 14 4 FTDI-Compatible Header $44.95
[MegaPro5]

Mega Pro 5V

5V 16MHz 54 16 14 4 FTDI-Compatible Header $44.95
[MegaProMini]

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
[Due]

Arduino Due

3.3V 84MHz 54 12 12 4 USB native $49.95

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.


The Main Event: Arduino Uno

The Arduino Uno is the “stock” Arduino. It’s what we compare every, other, Arduino-compatible board to. If you’re just getting into Arduino, this is the board to start with.47185-arduino

The Uno comes in two flavors, through-hole and SMD, which use either a through-hole or surface-mount ATmega328. The through-hole version (pictured above) is nice because you can take the chip out and swap in a new one (in case the magic, blue smoke is released), but the SMD version has the potential to be more readily available (PTH chips are increasingly being phased out of existence).

The Arduino Uno can be powered through either the USB interface, or an external barrel jack. To connect it to a computer you’ll need a type-B-to-A USB cable (like the USB connector on most printers).


Megas, ARMs, Yúns…Oh My!

Need some extra “beef” in your Arduino? Need more I/O pins, or a faster processor? That’s where Arduino’s like the Mega or the Due come into the picture.

Arduino Mega: The Souped Up Uno

The Arduino Mega is what you might get if you packed four Arduino Uno’s into one board. There are 54 I/O pins, instead of the 14 an Uno gives you. That’s a whole lot of extra LEDs! Instead of one hardware serial port, there are four. And the Mega sports a whopping 256 kB of flash program space. Not to mention 16 analog inputs, and 14 PWM outputs. The Mega just has more of everything.

Arduino Mega 2560 R3

The brain of the Mega is an ATmega2560, a fully souped up ATmega328. Aside from the massive processor overhaul, the Mega still shares a lot in common with the Arduino Uno. There’s a secondary IC on-board (an ATmega16U2) to convert USB-to-serial to allow USB programming. It runs at the same speed – 16 MHz. All of the pins are broken out in a way that keeps the board shield-compatible. Because of these similarities, the Mega is a good option for Arduino beginners and experts alike.

If your Arduino project is hitting a wall because you don’t have enough I/O, or if you’re running out of program space, consider stepping up to the Mega.

Arduino Due: Arduino Harder

You thought the Mega was powerful? The Arduino Due is a revolutionary take on the Arduino platform. It sports an entirely different processor architecture – ARM instead of AVR. It’s a 32-bit processor, clocks in at 84 MHz, and has native USB support.

Arduino Due

This thing sports many unique features that other boards don’t have. Stuff like:

  • Two digital-to-analog converters (DACs), which allow the board to output true analog values (instead of PWM). This means you can play audio out it!
  • USB on-the-go (OTG) capability allows the Due to act as both a USB device and a host. So you can hook up other USB devices – like flash drives, WiFi modules, or phones – to the Due.
  • Direct Memory Access (DMA) allows the microcontroller to offload memory-access tasks, so it can perform other operations at the same time.

There are also some new things to watch out for. The Due’s processor – an ATSAM3X8E – can’t work at 5V, so the board only runs at 3.3V This means it may not be compatible with all shields.

The Due has some amazing functionality, but it’s also a more advanced board. It’s not recommended for beginners, but if you have a project that might take advantage of the Due’s unique characteristics, check it out!

Arduino Yún

The Arduino Yún has true microprocessor power. It actually runs Linux! It works over WiFi! It’s awesome.

Arduino Yún

The Yún combines an ATmega32U4 (the same MCU on Leonardos) and an embedded Linux machine running the OpenWRT Linux OS. The two processors are “bridged” together. You program the ATmega32U4, just like you program an Arduino Leonardo, over USB. The 32U4 can send commands to the Linux processor, just as you might send commands to your Linux computer in a terminal.

This board is packed full of all sorts of neat features. It can be programmed over-the-air, as long as your computer is on the same WiFi network. It’s designed to easily interact with the Internet, so if your intend on making an “Internet-of-Things”-type project, the Yún may be the perfect Arduino.


 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s