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 of compiling and ordering the information on the different arduino boards that exist on 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 |
---|---|---|---|
microcontrollerclock speed | ATMega 32816MHz | ATMega 256016MHz | ATMega 32U416MHz |
microcontrollerFlash memory | ATMega 32832KB | ATMega 2560256KB | ATMega 32U432KB |
microcontrollerSRAM | ATMega 3282KB | ATMega 25608KB | ATMega 32U42.5KB |
microcontrollerDigital I/O Pins | ATMega 32814 | ATMega 256054 | ATMega 32U4twenty |
microcontrollerAnalog I/O Pins | ATMega 3286 | ATMega 256016 | ATMega 32U412 |
microcontrollerPWM pins | ATMega 3286 | ATMega 256014 | ATMega 32U47 |
microcontrollerserial ports | ATMega 3281 | ATMega 25604 | ATMega 32U41 |
microcontrollerVoltage | ATMega 3285V | ATMega 25605V | ATMega 32U43.3V |
microcontrollerVoltage (Power supply) | ATMega 3287 – 12V | ATMega 25607 – 12V | ATMega 32U4USB, 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 boardArduino Uno R3 | Usb connectorUSB-B | Weight25g | Width53.4mm | Length68. 6mm |
Arduino boardArduinoNano | Usb connectorMini USB-B | Weight5g | Width16mm | Length45mm |
Arduino boardArduino ProMini | Usb connectorMini USB-B | Weight5g | Width16mm | Length45mm |
Arduino boardLeonard | Usb connectorMicro USB (USB B) | Weight20g | Width16mm | Length66.6mm |
Arduino boardMicro | Usb connectorMicroUSB | Weight13g | Width16mm | Length48mm |
Arduino boardNano Every | Usb connectorMicroUSB | Weight5g | Width16mm | Length45mm |
Arduino boardMega 2560 Rev3 | Usb connectorUSB-B | Weight37g | Width53.3mm | Length101.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 boardArduino Uno R3 | Usb connectorUSB-B | Weight25g | Width53.4mm | Length68. 6mm |
Arduino boardArduinoNano | Usb connectorMini USB-B | Weight5g | Width16mm | Length45mm |
Arduino boardArduino ProMini | Usb connectorMini USB-B | Weight5g | Width16mm | Length45mm |
Arduino boardLeonard | Usb connectorMicro USB (USB B) | Weight20g | Width16mm | Length66.6mm |
Arduino boardMicro | Usb connectorMicroUSB | Weight13g | Width16mm | Length48mm |
Arduino boardNano Every | Usb connectorMicroUSB | Weight5g | Width16mm | Length45mm |
Arduino boardMega 2560 Rev3 | Usb connectorUSB-B | Weight37g | Width53.3mm | Length101.5mm |
So you can 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.