Choosing the right board

Making a Choice

On the one hand, anything you can do with an Arduino board should be possible with a Rasp Pi. However, in many cases, a Rasp Pi would be a waste of resources. Using a Rasp Pi can also cause unnecessary complications, such as the need for a continuous power supply and a much longer boot time. On the other hand, while you might be able to use several Arduinos to do some procedures more suitable to a single Rasp Pi, that is likely to be cumbersome and inefficient. Either of these extremes should be avoided whenever possible, if only because they both increase the possibility of something going wrong.

Sometimes, the choice may be simply a matter of the features you want. For example, if you need an Ethernet port, a Rasp Pi is probably a more straightforward choice. Similarly, if you want users to be able to customize by flashing firmware, an Arduino is designed to make that easy. At other times, your own expertise may be a deciding influence. For example, if you are familiar with standard programming languages, a Rasp Pi may be a better environment for you, while if your programming is limited mostly to scripts or your expertise lies in electronics, you might find Arduino C more within your competence.

However, most of the time, the most important factor is the intended purpose. An Arduino is a specialty device, designed to do a few simple tasks over and over. It makes simple logical choices, such as taking a sensor reading, either for the sake of the reading or as a signal to start or stop another operation. At other times, it defines pieces of hardware, such as with the Keyboardio Model 01, which uses Arduinos to assign keys on a keyboard, or defines a piece of hardware's purpose. Once you have debugged the firmware, an Arduino can generally be counted on to run on its own, or in the background, like a printer that waits for input to begin functioning. If you are unsure whether an Arduino is suitable for a project, do an Internet search for "what you can do with an Arduino" and see if any of the uses mentioned in the results resembles yours.

By contrast, consider a Rasp Pi if you want any of the functionality of a personal computer – anything from a graphical display or an input device to Internet access, multitasking, or in-depth calculations. Compared to other computers, a Rasp Pi is a relatively low-powered device, but it is still much more versatile than an Arduino. Doing a search for "what you can do with a Raspberry Pi" may help to clarify your choice.

Perhaps the best selection criteria appeared a few years ago in Make: magazine: "Think about what you want your project to do. If you can describe it with less than two 'and's, get an Arduino. If you need more than two 'and's, get a Raspberry Pi" [12]. Regardless of your choice, you will need to further limit your final decision by deciding which model Arduino or Rasp Pi you need, and whether you will need any hardware add-ons, but at least you will know where to begin.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Arduino programming for open hardware projects

    Whether you are building your own device or customizing one, Arduino technology often functions as the foundation for your open hardware project. Here's how to get started with Arduino products.

  • Arduino's cofounder describes the quest for simplicity

    Arduino's cofounder describes the quest for simplicity.

  • News

    Solomon Hykes Leaves Daily Operations at Docker; Red Hat Celebrates 25th Anniversary with a New Code Portal; Gnome 3.28 Released; Install Firefox in a Snap on Linux; Arduino Adds Rasp Pi and BeagleBone to the Arduino Create Platform; and IBM Launches a New Data Science Platform.

  • FOSSPicks

    Graham checks out Sigil, Dragonfly Reverb, LabPlot 2.8, Node-RED, batufo, rg3d, and much more.

  • Adafruit IO API

    The Adafruit IO API offers a convenient means for network-ready sensors and other components.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News