Choosing the right board
Open Hardware – Arduino vs. Pi
When it comes to open hardware projects, the choice of an Arduino or a Raspberry Pi board can determine success or failure. Read on for guidance in selecting the best board for your specific needs.
Open hardware would not be where it is today without Arduino and Raspberry Pi boards. Compact, powerful, and mostly open source, both Arduinos and Rasp Pis offer a level of functionality in a small footprint that simply did not exist a decade ago. To casual observers, the two may seem interchangeable, but when the time comes to choose which to develop a project around, your choice can make the difference between success and failure. While some overlap exists, at the very least matching the hardware to the project and your intentions can determine how complicated your device can become.
Many do-it-yourselfers make this choice on the advice of friends – which is fine, so long as their friends' knowledge is as extensive as it sounds. The problem is, people tend to advocate what they know. For this reason, researching the differences between Arduinos and Rasp Pis is generally the safer and most efficient approach. What follows is a general overview of the capacity of both and the purposes for which they are most suited.
SBCs vs. Microcontrollers
While both Arduinos and Rasp Pis are sometimes described as nano computers, only Rasp Pis are computers in the same sense as a laptop or a workstation. Technically speaking, Rasp Pis are single-board computers (SBCs) [1], offering basic computer functionality on a single circuit board. Just what that functionality is has shifted since the first Rasp Pi was released in 2009 and still depends partly on the model. Currently, the fastest Rasp Pi has a 1.4GHz processor, slightly less than that of entry-level Chromebooks, but many times faster than any Arduino. Depending on the model, a Rasp Pi's peripherals can include an Ethernet port, aluminum heat sinks, and LAN and Bluetooth support. Memory is either on-board or provided by an online microSD card. Additional functionality can be added using Hardware Attached on Top (HATs) [2] for purposes like high-resolution displays and sound cards – a development that technically plays fast and loose with the definition of an SBC.
On the other hand, Arduino boards lack the versatility of a full computer. Instead, they are microcontrollers [3] with limited functionality. Rather than an operating system that runs an application, an Arduino runs a limited set of instructions in its firmware. The absence of an operating system reduces the resources to run an Arduino and usually reduces boot time, as well as simplifying firmware modification. Just like Rasp Pis with HATs, Arduinos can extend their functionality with shields [4] – peripherals like sound cards and sensors – although generally they have far fewer features than any Rasp Pi.
These distinctions are murkier than they were a decade ago, but still remain broadly true. You might just manage to give an Arduino the functionality of a Rasp Pi, but the main reason to do so would be just to prove you could. After all, the whole point of both Rasp Pis and Arduinos is to provide off-the-shelf components.
Models
Both Rasp Pis and Arduinos have been around long enough to have a number of different models, almost all of which are under $60 for the basic board. However, you may want to buy a starter kit with some basic instructions and cables or other hardware, which can easily double the price. Alternatively, because both are strongly oriented to education and do-it-yourself applications, you can find no shortage of instructions online. You can also buy hardware separately from online stores such as Adafruit [5].
You can study the Rasp Pi specifications online [6]. Here, it is worth noting that the Raspberry Pi 1 (RPi1) line has been a standard with various updates for seven years. It is suitable for many basic operations. The Raspberry Pi 3 (RPi3) line offers the most advanced features, including 64-bit computing, a 1.2GHz quad-core processor, WiFi, and USB boot capabilities (Figure 1). Another possible option is the Pi Zero, which is smaller than other Rasp Pis physically and has reduced input/output, plus the Pi Zero W has the ability to add HATs without soldering (Figure 2).
Arduinos come in over two dozen models [7], with several new ones added in most years. One or two are distributed only in Europe, and some of the more popular models may be sold out at any given time. Although a thorough description of the available Arduinos would be a magazine issue in itself, hobbyists and embedded developers might start by looking at the Arduino Zero (Figure 3), which seems to have replaced the UNO as the entry-level Arduino [8]. A more powerful alternative for open hardware ranging from keyboards to prosthetics is the Arduino Mega 2560 [9] (Figure 4). However, once you have chosen to use a microcontroller, spend a few hours browsing the descriptions in the Arduino online store to find which board best suits your needs.
With both Rasp Pis and Arduinos, you can also find third-party clones at a somewhat cheaper price. However, many of these clones are proprietary and require drivers to use. Moreover, while I have never used a clone, rumors of quality problems are common when discussing some clone brands. Unless you have a compelling technical reason to use a clone, I suspect that avoiding them would be sensible.
Licensing
In many ways, the Raspberry Pi Foundation acts like an open source project. The Foundation contributes to several open source projects, including the kernel, and uses free licenses for most of its own software. In addition, Raspbian, its main operating system, is a derivative of Debian, and most of its other supported operating systems are based on Linux distributions as well. However, its CPU's firmware is proprietary and developed by Broadcom.
In comparison, Arduino describes itself as "an open source electronics platform" [10]. It uses version 3.0 of the Creative Commons Attribution ShareAlike (CC BY-AS) license [11]. Under this license, designs and documentation derived from Arduino properties must credit Arduino and use the same license.
Buy this article as PDF
(incl. VAT)