Your shopping cart is empty!
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.
Board | Main uC | Input Voltage | System Voltage | Clock Speed | Digital I/O | Analog Inputs | PWM Output | UART | Program Flash | Load Program | Shape & Size |
Arduino DUE | AT91SAM3x8E | 7-12V | 3.3V | 84MHz | 54* | 12 | 12 | 4 | 512Kb | USB Native | Standard, big, shields compatible |
Arduino Leonardo | Atmega32U4 | 7-12V | 5V | 16MHz | 20* | 12 | 7 | 1 | 32Kb | USB Native | Standard, small, shields compatible |
Atmega328 | 7-12V | 5V | 16MHz | 14 | 6 | 6 | 1 | 32Kb | USB via Atmega16U2 | Standard, small, shields compatible | |
Duemilanove (Retired) | Atmega328 | 7-12V | 5V | 16MHz | 14 | 6 | 6 | 1 | 32Kb | USB via FDTI | Standard, small, shields compatible |
Atmega2560 | 7-12V | 5V | 16MHz | 54 | 16 | 15 | 4 | 256Kb | USB via Atmega16U2 | Standard, big, shields compatible | |
Mega (Retired) | Atmege1280 | 7-12V | 5V | 16MHz | 54 | 16 | 15 | 4 | 128Kb | USB via FTDI | Standard, big, shields compatible |
Atmega2560 | 7-12V | 5V | 16MHz | 54 | 16 | 15 | 4 | 256Kb | USB via Atmega16U2 | Standard, big, shields compatible, for Android Development | |
Atmega328 | 5-12V | 5V | 16MHz | 14 | 6 | 6 | 1 | 32Kb | FTDI-Compatible Bridge | Compact, shields incompatible | |
Atmega328P | 3.35-12V | 3.3V | 8MHz | 14 | 8 | 6 | 1 | 32Kb | FTDI compatible bridge or Wireless via XBee1 | compact, shields incompatible | |
BBFuino | Atmega328 | 7-12V | 5V | 16MHz | 14 | 6 | 6 | 1 | 32Kb | FTDI 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.