When choosing an Arduino board we find that there is not a single model, rather we find that there are several different models with different specifications from each other. Not only in the microcontroller that comes as standard, but also in the configuration of the ports and interfaces that come as standard. That is why we have thought to collect and order the information about the different Arduino boards that exist in the market.
The number of projects that can be done with an Arduino board is very large, you can find many of them on the internet and they will tell you which is the most suitable model for your project. However, as you gain knowledge, you reach the point where you want to make your own projects and it is at this point where choosing between the various Arduino boards and their different models becomes difficult.
The two important elements of Arduino boards
Before going to tell the differences, we must start from the fact that the Arduino boards are mainly composed of two elements that define them. On the one hand, we have the microcontroller and on the other, the board where it is mounted and which contains the different interfaces that communicate with external elements. So the choice of an Arduino board or another will depend on our needs in terms of these two elements.
The different microcontrollers on Arduino boards
Although they use ATMega microcontrollers, they do not use a single model, but several. They all share a common base set of registers and instructions, but with some extensions on some models. This is important due to the fact that in a microcontroller we have very little memory to work with and, therefore, each one of the program instructions has to be measured to the millimeter.
The big difference between a microcontroller and a conventional CPU is that the former work at very low speeds and the memory from which they execute programs is very small. So much so that we’re talking about kilobytes of memory, so a microcontroller can only run one process and they’re so simple they don’t run an operating system. They can’t even run a program that requires multiple processes running in parallel. Microcontrollers integrate a CPU or processor, RAM memory, programmable ROM or nonvolatile memory, and interfaces for peripherals on a single chip.
Next, you have a table where you can consult the specifications of the ATMega microcontrollers used by the different Arduino boards.
microcontroller | ATMega 328 | ATMega 2560 | ATMega 32U4 |
---|---|---|---|
Microcontroller Clock Speed | ATMega 328 16MHz | ATMega 2560 16MHz | ATMega 32U4 16MHz |
Microcontroller Flash Memory | ATMega 328 32KB | ATMega 2560 256KB | ATMega 32U4 32KB |
SRAM microcontroller | ATMega 328 2KB | ATMega 2560 8KB | ATMega 32U4 2.5KB |
Microcontroller Digital I/O Pins | ATMega 328 14 | ATMega 2560 54 | ATMega 32U4 20 |
Microcontroller Analog I/O Pins | ATMega 328 6 | ATMega 2560 16 | ATMega 32U4 12 |
Microcontroller PWM Pins | ATMega 328 6 | ATMega 2560 14 | ATMega 32U4 7 |
Microcontroller Serial ports | ATMega 328 1 | ATMega 2560 4 | ATMega 32U4 1 |
Microcontroller Voltage | ATMega 328 5V | ATMega 2560 5V | ATMega 32U4 3.3V |
Microcontroller Voltage (Power Supply) | ATMega 328 7 – 12V | ATMega 2560 7 – 12V | ATMega 32U4 USB, 7 – 12V |
USB interface
The second important point is the USB interface used by the different boards, which may seem silly or something that doesn’t make much sense, but when we talk about projects where Arduino boards are used, the dimensions of the board are important and that is why we can find identical boards in terms of general specifications, but that differ in size due to the type of USB connection they use. Which we remember, is the way in which it communicates with our PC and allows us to program the microcontroller.
Arduino board | Usb connector | Weight | Width | Length |
---|---|---|---|---|
Arduino Arduino Uno R3 Board | USB connector USB -B | Weight 25g | Width 53.4mm | Length 68. 6mm |
Arduino Nano Board | USB connector Mini USB-B | weight 5g | width 16mm | Length 45mm |
Arduino Pro Mini Board | USB connector Mini USB-B | weight 5g | width 16mm | Length 45mm |
Arduino Leonardo Board | USB connector Micro-USB (USB B) | weight 20g | width 16mm | Length 66.6mm |
Arduino Micro Board | Micro-USB USB connector | Weight 13g | width 16mm | Length 48mm |
Arduino Nano Every Board | Micro-USB USB connector | weight 5g | width 16mm | Length 45mm |
Arduino Mega 2560 Rev3 Board | USB connector USB -B | Weight 37g | Width 53.3mm | Length 101.5mm |
Interfaces for peripherals
The different boards contain a series of interfaces for peripherals and standard devices that take for themselves the digital pins of the microcontroller. Next, we leave you some examples of plates and their configuration.
Arduino board | Usb connector | Weight | Width | Length |
---|---|---|---|---|
Arduino Arduino Uno R3 Board | USB connector USB -B | Weight 25g | Width 53.4mm | Length 68. 6mm |
Arduino Nano Board | USB connector Mini USB-B | weight 5g | width 16mm | Length 45mm |
Arduino Pro Mini Board | USB connector Mini USB-B | weight 5g | width 16mm | Length 45mm |
Arduino Leonardo Board | USB connector Micro-USB (USB B) | weight 20g | width 16mm | Length 66.6mm |
Arduino Micro Board | Micro-USB USB connector | Weight 13g | width 16mm | Length 48mm |
Arduino Nano Every Board | Micro-USB USB connector | weight 5g | width 16mm | Length 45mm |
Arduino Mega 2560 Rev3 Board | USB connector USB -B | Weight 37g | Width 53.3mm | Length 101.5mm |
Therefore, you will be able to directly interconnect devices and peripherals that make use of this type of interface to your Arduino board. By this I am referring to UART, SPI, I2C and even PWM, in order to connect motors. As for the GPIO interface, it is ideal not only as an alternative programming mechanism to the USB port. As well as being able to interconnect a Raspberry Pi.