The Arduino platform is based on a microcontroller, while the Raspberry Pi is a single board computer. They both have a very large community and may look similar on the surface, but they are very different to work with.
Unless you’re really hardcore and want to build a complete circuit board from scratch before even getting started prototyping, you’ll want to choose a hardware platform to work. While a good platform will help you build faster, this will influence the choice of all your other components and the architecture of your project. As such, it can limit your options and make your life harder if you don’t understand what each of them can do.
What Is Arduino?
The Arduino platform first gained popularity as an open-source platform for the Atmel AVR 8-bit micro controller that’s easy to use for beginners.
Since the goal of a microcontroller is to control multiple devices, there are many input/output pins available on the device to integrate with various sensors and devices, and multiple communication protocols such as i2c and SPI are supported. There is also a large collection of “shields” that can be stacked on top of the main board so you can add more hardware features easily to prototype more complex use cases.
The Arduino name refers to the official boards, the most popular one being the 8-bit Arduino Uno, but there are now many other Arduino-compatible boards for various microcontrollers and processors of various sizes and logic levels such as:
- Arduino Nano for a smaller and low-powered board
- Arduino Due for a more powerful, 32-bit microcontroller.
- ESP8266 boards for Wifi-enabled projects
Programming the board is done in a subset of C++ in the Arduino IDE on your own computer. Microcontroller programs usually feature a large control loop that reacts to various inputs, timers and other external interruptions. When you’re ready to push code to the board, you’ll need to plug it in your computer via your USB port and push it from the IDE. The microcontroller will then execute the code when it powers up.
You can time actions a lot more precisely than with a computer even if it’s a lot less powerful since you’re in control of everything, unlike a computer which has an operating system in the background managing various processes and operations.
What Is Raspberry Pi?
The Raspberry Pi is a fully functional single-board computer, and a pretty powerful one for the price. As such, it includes all the parts you’d usually see in a computer such as a SD card (for storage and hosting the operating system), network connectivity, HDMI ports and USB ports. You can also easily plug in a monitor, a keyboard and mouse when you need to work with it. There are many versions of the Raspberry Pi now available; in doubt, you can always go with the latest once since they’re pretty cheap.
Even if the original Raspberry Pi is pretty small, you can also find the Raspberry Pi Zero if you want a smaller form factor. It’s less powerful and has less ports, but it’s more than enough for many projects.
The most popular operating system for that computer is the Raspbian Linux distribution, which contains most of the tools you’ll need to get started. If you have a Raspberry Pi to spare, there are many other great distributions such as:
- Retropie, for retro-gaming and emulation.
- OSMC, for a media center.
- Pi-hole, to block all ads on your computer network.
Hardware-wise, a Raspberry Pi also includes GPIO (General Purpose Input/Output) digital pins so you can interface directly with hardware from your programs, which is why this platform is more interesting for electronics compared to the average computer (beside the price).
As with Arduino, you can add “HAT” modules on top of the GPIO pins to extend the Raspberry Pi with more devices. But contrary to the average Arduino board that works with 5V logic level, those GPIO pins are at 3.3V logic level: it’s still pretty common and you’ll find all the devices you need, but you have to be careful so you don’t mix the two kinds since 5V devices could fry the Raspberry Pi. Also, given that you’ll run an operating system, that there are only digital pins available, you’ll be more limited than with a micro-controller as what you can interface with directly.
If you need to manage many inputs, especially analog inputs and don’t want to worry about an operating system interfering with your delicate timing, then you should choose the Arduino platform.On the other hand, if you’re looking for a large amount of computer power but won’t use complex hardware inputs and outputs, then the Raspberry Pi is the best choice.
This doesn’t mean that you can’t combine the two, letting the Arduino take care of the majority of the electronics heavy lifting while having a Raspberry Pi as the brain of the project. However, if you’ve never worked with either platform, you may wish to start with a smaller project so you can get your hand dirty with each platform separately first.