Bukit Mertajam, Penang

Arduino Buying Guide

Arduino is getting popular, but let’s admit it, there are many Arduino main board and I am sure you are scratching head when you want to buy one  Here are some guidelines, hopefully it helps you make 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 type of boards because of needs  Some are designed for fully embedded without programming interface which you would need to buy separately, but is compact and low cost. Some can run directly from a 3.7V battery, 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 in our technical forum.

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

111712_0914_ArduinoBuyi3Arduino DUE

AT91SAM3x8E7-12V 3.3V 84MHz 54* 12 12 4 512KbUSB NativeStandard, big, shields compatible
111712_0914_ArduinoBuyi4Arduino LeonardoAtmega32U4 7-12V 5V 16MHz 20*12 7 132KbUSB NativeStandard, small, shields compatible

111712_0914_ArduinoBuyi5UNO R3

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

111712_0914_ArduinoBuyi6Duemilanove (Retired)

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

111712_0914_ArduinoBuyi7Mega2560 R3

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

111712_0914_ArduinoBuyi9Mega ADK

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

111712_0914_ArduinoBuyi10Pro Mini 328

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


 Atmega328P 3.35-12V3.3V 8MHz148 6 1 32Kb FTDI compatible bridge or Wireless via XBee1compact, shields incompatible
111712_0914_ArduinoBuyi12BBFuinoAtmega328 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 loading program. An XBee module is not included with this board.

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


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 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 tip, during development, do get yourself an adapter, 12V, 2A is more than enough. Or grab a Li-ion 3.7V rechargeable battery, two cell in series give you 7.2V, while 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 the older and current board uses 5V. Yet, newer IC and microcontroller can only withstand 3.3V for better power efficiency and due to silicon process. This is important because you need to make sure the voltage is correct when you interface with shields, external component, sensor, devices. Wrong logic interface will likely kill the device and also Arduino controller.

Clock Speed: This is the speed of microcontroller being clocked and is related to the speed of 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 application, graphic LCD, audio, MP3, etc.

Digital I/O: The number of Digital Input and Output pin you can utilize for 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 interface uses digital pin, 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 pin that can generate PWM output. Commonly being use 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 microcontroller and sensor, microcontroller to subsystem, etc. Classic Arduino uses UART to load program via bootloader, newer version utilize USB direct connection. All Arduino have at least 1 UART, but some did not ported out for easy access. Some have more than 1 UART and can be utilize at the same time.

Program Flash: This is the size of Program memory which being use 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 program from computer. Without this bootloader, is just a ordinary Atmega chip. Bootloader is a method of program loading using low cost method, in Arduino case, utilize the UART (classic) and USB (newer). Without Bootloader, you will need a hardware program to load program which will cost more. Because different Arduino board 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 being hook up to computer for program loading. Some boards have USB socket and USB to UART bridge such as FTDI chip for program loading, easy. Some does not have USB socket, it just provide compatible pin out and you will have to use FTDI compatible header to load 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 mechanical feature. One of the reasons Arduino become famous is the easiness of using it, software and hardware. Most of the main boards are standard in term of shape and size, most important, they allow user to stack shields J. There are 2 standard sizes, small and big. Arduino Duemilanove, UNO, and Leonardo are all designed as small standard size and shape. Most of the shields are designed for small and standard Arduino. However, the big standard size Arduino (Mega1280, Mega2560, Mega ADK and DUE) still compatible with most of these shields J The rest of main board, PRO Mini, FIO, BBFuino would be consider 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 out all features due to the size of table. However, allow me to highlight one more features. The new Arduino DUE is based on 32-bit ARM processor. I am not familiar with ARM, but this architecture is widely used in smart phone’s processor (iphone, S-III, Galaxy, etc) and base on this, I am confident to say it is very powerful. 32-bit means the CPU can process 32-bit of data in single instruction, or sometime 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 decision.  Any question, welcome to discuss in our technical forum.


Related Posts

Comments (1)

I have cy arduino Uno+ Blue Bee+xbee Shield+2amotor driver…How to Connect This Things and Make a Mobile Control robot…

Leave a comment