The Arduino vs Raspberry Pi question is something that always crops up among beginners to the maker community. The questions revolve around what the two boards actually do, and the target projects they are aimed for. They are both pretty cheap, the same size, and look very similar, however they are very different.
The Raspberry Pi is a mini-computer running a choice of different Linux operating systems, and the Arduino is a microcontroller – a barebones chip designed to run only the code you have programmed for it, without the overhead of a full operating system.
Edit: This post has been updated many times since the first release in 2013. The Raspberry Pi has had 2 new major releases since then!
The Arduino is a programmable microcontroller. The only functionality is has it what you specifically program it to do. It is designed to read data from sensors and switches, run computations on the data it collects, and send control data back out. It can output data over a USB serial connection to a computer, or other serial devices such as LCD screens of WiFi modules.
The Arduino can send digital signals out of its pins. By sending a high or low value out, you can turn on LEDs, control stepper motors, and activate relays to turn on really high power devices. It can also send out analog signals as PWM – using this you can control devices with a variable voltage, such as dimming an LED, or reducing the speed of a motor.
The Arduino is used in many different types of projects, from musical applications and interactive art exhibitions, to robotics and gaming gadgets. There are quite a few different types of Arduino boards aimed at different uses, from boards with more I/O pins, to boards that can be embedded directly in projects. As the board is open source, there are also lots of “compatible” boards that offer the same functionality for a fraction of the price. The main ATMega chip can be taken out of the Arduino and replaced easily, or embedded directly into a project after prototyping.
The Raspberry Pi is on the opposite end of the spectrum – it features a fully fledged Linux operating system loaded onto an SD card. It has a variety of different connection options, such as audio out, HDMI and RCA video output, Bluetooth, WiFi and an Ethernet port. It does feature some digital pins similar to the Arduino for controlling hardware components. This allows you to use your Raspberry Pi as a computer, complete with internet browsing, games and everything else you can do with a PC. Plug in a keyboard, mouse and monitor, and you have an amazingly cheap computer.
Raspberry Pi projects are often more software based than hardware based. As it is basically a Linux computer, most projects are based around software hacks, media centres and graphics/sound and multimedia. You can run web services, scripts in different programming languages, and larger projects that require more computer power. It can however do some simple hardware control with the GPIO pins.
Arduino vs Raspberry Pi
Arduino vs Raspberry Pi depends on the type of project you want to make, and your experience in programming. If you have no experience in programming or electronics, you will find the Arduino a steeper learning curve than the Pi as you will have to learn both at the same time. The Arduino has been around for quite a while now though and there are tons of useful tutorials around to get you started. If you have some basic experience in programming you should have no problem getting to grips with the Arduino.
The Arduino is based on hardware control, which means you won’t get far without some components: LEDs, LCDs, resistors, motors, sensors etc., depending on what project you want to do. For the Raspberry Pi, you need no experience or components to get it working – just plug and play!
If you want to make a hardware project then the Arduino is often the best choice. It’s low power, cheap to buy, and the digital and analog pins add a whole spectrum of connectivity. The large amount of I/O pins let you connect multiple sensors and components, and you can remove the actual micro controller of the Arduino and embed it directly into your project with only a couple of additional components. However, the Arduino is not as powerful as the Pi, so there’s no audio, video or internet built it.
If you want to make a software project then the Pi is the way to go. The audio, video and internet capabilities make it the winner in this aspect. There’s no need to attach external components, so there’s no real need to learn electronics. The option to control electronics is a great addition, so you can control LEDs and relays as part of your project. As it’s a Linux box, there’s also a ton of source code out there to help get you up and running.
Arduino vs Raspberry Pi Summary
The Arduino is more suited for projects like LED controllers, alarm systems, robots, weather stations, and hardware hacks; and the Raspberry Pi is perfect for things like a NAS server, web server, gaming emulator, media center and magic mirror.
The Arduino vs Raspberry Pi comparison is summarised in the following table…
|Number of Digital I/O pins||14 Digital (6 PWM)||26 Digital (1 PWM)|
|Number of Analog Inputs||6||–|
|Audio / Video out||Via Shield||Yes|
*Prices correct as of 24th May 2018