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.
Infos
- SBCs: https://en.wikipedia.org/wiki/Single-board_computer
- HATs: https://www.raspberrypi.org/blog/introducing-raspberry-pi-hats/
- Microcontroller: https://en.wikipedia.org/wiki/Microcontroller
- Shields: https://www.progressiveautomations.com/collections/shields-and-sensors
- Adafruit: https://www.adafruit.com/
- Rasp Pi models: https://en.wikipedia.org/wiki/Raspberry_Pi#Generations_of_released_models
- Arduino boards: https://store.arduino.cc/usa/arduino/boards-modules
- Arduino Zero: https://store.arduino.cc/usa/arduino-zero
- Arduino Mega 2560: https://store.arduino.cc/usa/arduino-mega-2560-rev3
- Arduino licensing: https://www.arduino.cc/en/Guide/Introduction
- CC BY-SA 3.0: https://creativecommons.org/licenses/by-sa/3.0/
- A simple guide: https://makezine.com/2015/12/04/admittedly-simplistic-guide-raspberry-pi-vs-arduino/
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.