In our previous blog post, we briefly looked at the Arduino IDE. But which Arduino should you use for your next project?
The word Arduino refers to an entire family of single-board microcontroller development boards, which are convenient for prototyping and building projects. While most of these boards are based on ATMEL devices (now a subsidiary of Microchip), they have some different capabilities. Some have more IO pins, some have fewer peripherals, some are cheaper, and some are faster. So, when selecting a development board for your project, which one should you go for?
If you are new to the Arduino, then there are two devices that immediately come to mind: the Arduino Uno and the Arduino Nano. The Arduino Uno is one of the most common Arduino boards available, and it has some user-friendly features, including large 2.54mm pitched sockets for connecting to external devices, an onboard LED, inbuilt power handling (such as an external DC power jack), and a large USB B connector for connecting to a PC. The Arduino Nano has most of the same features (with the exception of a smaller USB port and no DC power jack), but it is better suited for projects using breadboards. This makes it optimal for those who are already electronic-savvy and who already have breadboard circuits ready. The Nano is also very small (18mm by 45mm), and it’s ideal for situations where portability is important.
While the Arduino Uno and Nano can accomplish an astonishing number of tasks, you will inevitably want more power and functionality. However, simply choosing a more powerful device might not be the solution to your project, so which board should you pick?
If your project relies on many I/O lines, then you may want to look at the Arduino Due or the Arduino Mega, which both boast up to 54 Digital I/O pins. But not every project needs digital pins; analog pins are just as important! Both the Mega and the Due have analog input pins—the Mega has 16, whereas the Due has 12. But, only the Mega has analog outputs (2), which could be vital in a project that needs to produce an output analog signal, such as a function generator.
More advanced projects may rely on large programs that use a lot of memory—both RAM and ROM. Interestingly, as a microprocessor’s ROM size increases (which holds the code), the RAM usually increases in size as well (this holds your variables and temporary data). As with I/O, the Mega and Due come out on top. The Mega has 256KB of ROM and 8KB of SRAM, while the Due has 512KB of ROM and 96KB of RAM. However, they are not the only boards that are ideal for memory; the Arduino M0, which is based on an ARM Cortex-M0+, contains 256KB of ROM and 32KB of RAM.
The Mega, Due, Duo, and Nano are great for bog standard data processing, but what about more unusual applications? The Arduino MKR Zero is an Arduino that is specialized for audio applications. For example, the MKR Zero has an onboard SD connector that stores external audio files (playable with no additional hardware), I2S, and additional SPI interfaces. What’s more, the Arduino developers have released libraries that allow you to both play and analyze audio data, which makes audio projects that much easier!
Many projects these days require some kind of internet connection, and the Arduino developers have an answer: their IoT range! This range of boards, which includes Wi-Fi connections and Ethernet connections, allows your Arduino project to connect to the internet with ease (thanks to both the inbuilt hardware and software libraries). The Arduino YÚN, for example, has a Wi-Fi module and can be used with the Linux distro Linino OS. The Arduino Ethernet REV 3 is an Arduino Uno board that has an Ethernet connection and a micro SD card reader, which makes it ideal for serving files over a network!
Arduino development boards come in many different forms, and each board is unique in some way. No matter your project, there’s an ideal Arduino board for you. But, if not, you could always design your own!