How to choose the right Arduino board?
Kacper Kaleta,


Arduino boards come in different shapes and sizes. Some are more powerful than others, some provide features that others don't. There's no good or bad choice here and this makes it even harder to decide which board to use. Check here if you want to compare all the available Arduino boards. In this article, I will try to outline some characteristics of them to make it easier to choose the one that works for you.
GPIO
Make sure that the board you choose gives you the ability to connect all parts of your project. Every Arduino board comes with Digital and Analog input pins; but their number may vary depending on the board. The most common Arduino board – Arduino UNO – comes with 20 GPIO pins, 6 of which are analog input pins. There are some Arduino boards, e.g. Arduino Mega, with more than 50 GPIO pins.

Size matters
The more features a board has to offer, the bigger it gets. If space is not an issue, with boards like Arduino Mega (102mm by 54mm) or Arduino Uno (69mm by 54mm) you have a lot of flexibility. Sometimes, space might be a larger constraint than the number of GPIO pins. If that’s the case, you’ll need to use boards with a lower footprint. The smallest Arduino programmable through USB is Arduino Nano that’s just 45 mm by 18 mm in size. If you want to go even smaller and aren’t afraid of external programs, Arduino Pro Mini (33 mm by 18 mm) might be the best choice for you.

Need for speed
When choosing a board, you may want to know how much processing power it has. Most of the Arduino boards have a 16MHz processing unit. This may not seem fast and, frankly, it isn’t. Microcontrollers just aren’t made to be data processing power plants. Though, 16 MHz is fast enough for most projects that you can see here. The complexity of some of these projects shows that, in reality, speed is not everything. If your project relies on fast reaction times or a lot of data acquisition, you may want to use faster boards like Arduino DUE that runs at 84 MHz (if you are looking for an even faster board, check out the Teensy boards made by Paul Stoffregen – I personally love them ;)).

Hardware Interfaces
Nearly every time you want to use an Arduino, it’s going to be connected to some kind of sensor or device. In order to make the connections easier, some boards come with built-in Peripheral Interfaces. Most smaller Arduino boards are equipped with 1x UART, 1x SPI and 1x I2C interface. Bigger boards might come with more of them or offer additional ones like CAN or Ethernet.

Memory
Flash
This is where your board hides the code you write: the bigger the memory, the more complex code you can write.
RAM
RAM is used to store and manipulate the variables created during normal operation. When you are declaring variables in the sketch, gathering data or outputting text to the LCD screen, SRAM is being used.
e.g. char message[] = “How do I choose the best Arduino board?”puts 40 bytes into SRAM – one for each character and additional ‘