Arduino Buying Guide

Arduino Buying Guide

Arduino is getting popular, but let’s admit it, there are many Arduino main boards and I am sure you are scratching your head when you want to buy one  Here are some guidelines, hopefully, it helps you make a wise decision.

WHY ARDUINO?

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Among many differences, all Arduino boards have one thing in common: they must be able to be programmed through the Arduino IDE. This is the software that allows you to write and upload code onto Arduino main board.

WHY DIFFERENT?

It started with one basic board, and evolve to types of boards because of needs  Some are designed for fully embedded without a programming interface which you would need to buy separately, but is compact and low cost. Some can run directly from a 3.7V battery, while others need at least 5V. Check the table below to find the right Arduino for your project. Be sure to read the Acronym below as well for a discussion of terms. If you are still confused and need more help, feel free to discuss this in our technical forum.

BoardMain uCInput VoltageSystem VoltageClock SpeedDigital I/OAnalog InputsPWM OutputUARTProgram FlashLoad ProgramShape & Size
111712_0914_ArduinoBuyi3

Arduino DUE

AT91SAM3x8E7-12V 3.3V 84MHz 54* 12 12 4 512KbUSB NativeStandard, big, shields compatible
111712_0914_ArduinoBuyi4
Arduino Leonardo
Atmega32U4 7-12V 5V 16MHz 20*12 7 132KbUSB NativeStandard, small, shields compatible
111712_0914_ArduinoBuyi5

UNO R3

Atmega328 7-12V5V 16MHz146 6 132KbUSB via Atmega16U2Standard, small, shields compatible
111712_0914_ArduinoBuyi6

Duemilanove (Retired)

Atmega328 7-12V5V16MHz1466 132Kb USB via FDTIStandard, small, shields compatible
111712_0914_ArduinoBuyi7

Mega2560 R3

Atmega2560 7-12V5V16MHz54 16 15 4 256KbUSB via Atmega16U2Standard, big, shields compatible
111712_0914_ArduinoBuyi8
Mega (Retired)
Atmege1280 7-12V5V16MHz5416 154128KbUSB via FTDIStandard, big, shields compatible
111712_0914_ArduinoBuyi9

Mega ADK

 Atmega25607-12V5V 16MHz 54 1615 4 256KbUSB via Atmega16U2 Standard, big, shields compatible, for Android Development
111712_0914_ArduinoBuyi10

Pro Mini 328

Atmega3285-12V5V16MHz 14 661 32Kb FTDI-Compatible BridgeCompact, shields incompatible
111712_0914_ArduinoBuyi11

Fio

 Atmega328P 3.35-12V3.3V 8MHz148 6 1 32Kb FTDI compatible bridge or Wireless via XBee1compact, shields incompatible
111712_0914_ArduinoBuyi12
BBFuino
Atmega328 7-12V 5V16MHz 146 6 1 32KbFTDI compatible bridge Breadboard friendly, shields incompatible
 

 

The mini USB connector on the Arduino Fio is used for battery charging only, not for the loading program. An XBee module is not included with this board.

*The Arduino Leonardo and DUE have 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, thus the higher numbers.

ACRONYM:

Main uC (Microcontroller): The microcontroller is the brain of the Arduino board. The Arduino development board is based on AVR microcontrollers of different types, each of which has 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 tip, during development, does get yourself an adapter, 12V, 2A is more than enough. Or grab a Li-ion 3.7V rechargeable battery, two cells in a series give you 7.2V, while a full charge will offer 8.4V, again sufficient to power up any of the Arduino board.

System Voltage: System voltage means the operating voltage of the microcontroller. Arduino started at 5V, so most of the older and current board uses 5V. Yet, newer IC and microcontrollers can only withstand 3.3V for better power efficiency due to the silicon process. This is important because you need to make sure the voltage is correct when you interface with shields, external components, sensors, and devices. The wrong logic interface will likely kill the device and also the Arduino controller.

Clock Speed: This is the speed of the microcontroller being clocked and is related to the speed of the instruction/program being executed. Though it is not a standard, 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. Higher speed Arduino such as DUE can really perform some complex applications, graphic LCD, audio, MP3, etc.

Digital I/O: The number of Digital Inputs and Output pins you can utilize for the interface and they are being extended out to the side connector. 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. Most of the interface uses digital pins, LED, LCD, Motor driver, Communication, etc. More digital I/O provide more flexibility to interface with other devices  Digital pins are labeled “D” and followed by their number.

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 Output: Pulse Width Modulation pin, this is the number of Digital I/O pins that can generate PWM output. Commonly be used for motor speed control, LED brightness, and as analog output 

UART: Universal Asynchronous Receiver and Transmitter. Commonly used serial communication between microcontroller and computer. Also a popular interface between the microcontroller and sensor, a microcontroller to subsystem, etc. Classic Arduino uses UART to load programs via the bootloader, newer versions utilize a USB direct connection. All Arduino have at least 1 UART, but some did not port out for easy access. Some have more than 1 UART and can be utilized at the same time.

Program Flash: This is the size of Program memory that is used to store your program code or 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).

Bootloader: All Arduino uses bootloader to load programs from the computer. Without this bootloader, is just an ordinary Atmega chip. The bootloader is a method of program loading using low-cost methods, in Arduino's case, utilizing the UART (classic) and USB (newer). Without a Bootloader, you will need a hardware program to load the program which will cost more. Because different Arduino boards use different microcontrollers and programming interfaces, there are different bootloader programs on each. The source code for the bootloaders can be found in your Arduino distribution. All Arduino bootloaders will allow you to load code from the Arduino IDE.

Programming Interface: This explains how the Arduino main board is hooked up to a computer for program loading. Some boards have USB sockets and USB to UART bridges such as FTDI chips for program loading, easy. Some do not have a USB socket, it just provides the compatible pin out and you will have to use FTDI compatible header to load the program, such device is UC00A R2, this is to save cost, and the FTDI board can be used for other Arduino boards.

Shape and Size: Despite the hardware, electrical and software features, there is a mechanical feature. One of the reasons Arduino become famous is the easiness of using it, its software, and its hardware. Most of the main boards are standard in terms of shape and size, most important, they allow users to stack shields J. There are 2 standard sizes, small and big. Arduino Duemilanove, UNO, and Leonardo are all designed in small standard sizes and shapes. Most of the shields are designed for small and standard Arduino. However, the big standard-size Arduino (Mega1280, Mega2560, Mega ADK, and DUE) is still compatible with most of these shields J The rest of the main board, PRO Mini, FIO, and BBFuino would be considered special size and shape because they cannot stack/plug to shields. For example, PRO Mini is designed with the aim of low cost and compact, therefore, shields are not compatible. BBFuino is designed as low cost and breadboard friendly.

I cannot list all features due to the size of the table. However, allow me to highlight one more feature. The new Arduino DUE is based on a 32-bit ARM processor. I am not familiar with ARM, but this architecture is widely used in smartphone processors (iPhone, S-III, Galaxy, etc), and based on this, I am confident to say it is very powerful. 32-bit means the CPU can process 32-bit of data in a single instruction, or sometimes we call it processing bandwidth. Other Arduino main boards which use Atmega328, 1280 or 2560, or 32U4 are all 8-bit CPU J

That’s all for now, hopefully, this information is helpful for you to make the decision.  Any questions, welcome to discuss them in our technical forum.

BUY