Which Arduino Board Should I Use?
By Agus Kurniawan
Arduino is one of the most famous development boards. You can attach sensor and actuator devices easily into the board. But which one should you be using?
Each Arduino model has unique features. To optimize Arduino board usage, you should know and understand what kind of Arduino model it is. I will introduce various Arduino models based on complexity level and usage range.
Arduino Boards for Beginners
An Arduino UNO board is a development board which I recommend to anyone who wants to learn Arduino programming. There are many Arduino shields which are attached to the board. Furthermore, most tutorials and books use Arduino UNO as an experimental board. Arduino UNO has completed I/O protocols, such as digital and analog I/O, SPI, UART, and I2C/TWI, so you can utilize these I/O pins to work with sensor and actuator devices. Arduino UNO is easier to find and buy.
Figure 1. Arduino UNO board from Arduino LLC
Arduino Boards for Advanced Users
In some cases you want to optimize your board’s I/O or want to debug your programs. The Arduino MEGA 2560 board provides more I/O pins (about 54 I/O pins) and advanced MCU to accelerate your program. This board runs on the top of MCU Atmega 2560 with an internal flash memory of 256 KB. The Arduino MEGA 2560 board also has two UARTs. You can review this board on this site. For Arduino MEGA 2560 from Arduino SRL, you can review it on this site.
Figure 2. Arduino MEGA 2560
Most Arduino boards don’t have a built-in debug chip, so if you want to debug our program, you should add an additional debug tool. Fortunately, we can use the Arduino ZERO board from Arduino LLC and the Arduino M0 PRO board from Arduino SRL, which are supported for debugging without additional tools. These boards have Atmel’s Embedded Debugger (EDBG) to be used for debugging. I suggest you to use these Arduino models if you have concerns about debugging without additional tools.
Figure 3. Arduino ZERO
Arduino for Internet of Things
Today the Internet is a common term used to describe how to access data from a remote site. We can access the data from any device and anywhere. In the context of Arduino, it’s very useful if our boards can be connected to the Internet. Imagine your boards sense the physical object and then send it to our smartphone. This happens if our boards are connected to Internet.
There are many options for Arduino shields for network modules to make our Arduino boards connect to the Internet. This means you should buy additional modules to make your boards connect to the Internet. Fortunately, various Arduino board models have a built-in network module in the board. We explore some Arduino board models with Internet connectivity capability.
Arduino UNO WiFi is an Arduino UNO board with an additional chip (ESP8266). This chip can be used to connect existing WiFi networks and also can work as an access point (AP) node. Arduno UNO WiFi is manufactured by Arduino SRL. You can see the Arduino UNO WiFi form in Figure 4. To obtain more information about Arduino UNO WiFi, you can review it on this site.
Figure 4. Arduino UNO WiFi
Arduino/Genuino MKR1000 is a development board with a ready-for-IoT scenario which is manufactured by Arduino LLC. The board runs with ATSAMW25 SoC, which consists of SAMD21 Cortex-M0+, WINC1500 WiFi module, and ECC508 CryptoAuthentication. It’s designed for IoT connectivity, including accessing the cloud server. Further information about Arduino/Genuino MKR1000 can be read here. This board size, which is shown in Figure 5, is small.
Figure 5. Arduino/Genuino MKR1000
Most Arduino boards work with an RTOS environment. Arduino YUN combines MCU and WiFi MCU, which runs OpenWrt Linux (called Linino OS). This board likes a mini-computer with Linux OS. You can control Arduino MCU ATmega32u4 from Linux. We also can access Linux API from the Arduino program. The Arduino YUN board has built-in WiFi and Ethernet modules to solve your IoT cases. Figure 6 is a form of Arduino YUN. You can review and buy this board on this site.
Figure 6. Arduino YUN
If you’re looking for an Arduino with BLE connectivity capability, you can consider using the Arduino/Genuino 101 board, which is shown in Figure 7. This board uses Intel Curie as MCU, which has a built-in BLE module. You can control this board through Bluetooth on your smartphone, such as Android and iPhone smartphones. For further information about Arduino/Genuino 101, I recommend reading this website.
Figure 7. Arduino/Genuino 101
In general, the original Arduino board price is expensive. If you have pricing issues on your Arduino learning process, you could buy an Arduino-compatible board. As we know, Arduino shares its design and scheme under an open source project. It means we can build our own Arduino board without using the “Arduino” name for our board. Arduino compatible boards usually are manufactured by third-party companies. This section will go through various Arduino-compatible boards in the market.
SparkFun RedBoard is a kind of Arduino-compatible board which is manufactured by SparkFun. This board has a form like the Arduino UNO board and uses ATmega328 as MCU with installed Optiboot (UNO) Bootloader. For development, we can use Arduino IDE to write a Sketch program and then flash the program to the board. If you are interested in SparkFun RedBoard, you can buy it here. You can see SparkFun RedBoard in Figure 8.
Figure 8. SparkFun RedBoard
Really Bare Bones Board (RBBB) is an Arduino-compatible board which is designed by Modern Device. This board doesn’t provide a serial module so if you want to develop a Sketch program, you would need a serial tool such as FTDI cable. RBBB board is displayed in Figure 9. For further information about this board, you can review and buy it here.
Figure 9. Really Bare Bones Board (RBBB)
Feather is an Arduino development brand from Adafruit. Adafruit Feather 32u4 Adalogger is one of the Feather board models. This board provides a MicroSD module for storing data. We can develop an Arduino program using Adafruit Feather 32u4 Adalogger. For further information, you can review and buy this board here.
Figure 10. Adafruit Feather 32u4 Adalogger
About the Author
Agus Kurniawan is a lecturer, IT consultant, and author. He has 15 years of experience in various software and hardware development projects, delivering materials in training and workshops, and technical writing. He has been awarded the Microsoft Most Valuable Professional (MVP) award 13 years in a row.
He is currently a researcher and involved in teaching activities related to networking and security systems at the Faculty of Computer Science, Universitas Indonesia and Samsung R&D Institute, Indonesia. He is also pursuing a PhD in Computer Science at the Freie Universität Berlin, Germany.
This article is excerpted from Arduino Programming with .NET and Sketch by Agus Kurniawan, ISBN 978-1-48422-658-2.