The Arduino vs Raspberry Pi debate has caused a bit of confusion to beginners on what these 2 little devices actually do. They are both pretty cheap, the same size, and to the untrained eye, look very similar. However they are very different. The Raspberry Pi is a mini-computer, running a Linux operating system, and the Arduino is a microcontroller, without the typical OS style you may be used to. They both are focused on very different ideas.
The Arduino is a programmable microcontroller. The only functionality is what YOU program it to have. It is designed to read data from sensors, compute the data, and either send the data to a PC (or raspberry Pi), or output them to LEDs or LCD screens you have attached and programmed. By controlling relays, you can control high powered components via relays and control motors.
The Arduino is used is 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 boards for different projects.
The Raspberry Pi is on the opposite end – it features a fully fledged operating system loaded on an SD card. It also has audio out, HDMI and RCA video output and an Ethernet port. This allows you to use your Raspberry Pi as a computer, complete with internet browsing, games and more. Plug in your keyboard, mouse and monitor, and you have an amazingly cheap computer.
The Raspberry Pi projects are more software based than hardware based. As it is simply a Linux computer, most projects are based around software hacks, media centres and graphics/sound and multimedia. It can however do some simple hardware control with the GPIO pins.
Arduino vs Raspberry Pi
Choosing which board you want 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 them both at the same time. The Arduino has been around for a while though and there are tons of useful tutorials around to get you started. If you have experience in programming (be it HTML, C/C++ or even BASIC), you should have no problem getting to grips with the Arduino straight away.
The Arduino is based on hardware, which means you won’t get far without some components: LEDs, LCDs, resistors, motors and the like, depending on what project you want to do. You need no experience or components (other than a monitor, keyboard and mouse, which you have right?) to get the Raspberry Pi to do something. Just plug and play!
If you want to make a hardware project then the Arduino is by far the best choice. The analog inputs and PWM outputs add a whole spectrum of compatibility the Pi cannot do natively. Plus the large about of I/O pins let you connect multiple sensors and feedback components. The Arduino however is not as powerful as the Pi, so there’s no proper audio, video or internet out-of-the-box (you can however add basic functionality of this). The Arduino can send data to your PC or Pi, over serial, and you can then create a program to read this data and do something.
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 Arduino vs Raspberry Pi comparison is summarised in the following table…
|Number of I/O pins||14 Digital (6 PWM), 6 analog||8 Digital|
|Audio / Video out||Basic functionality programmable||Yes|
*Prices correct as of 10th July 2014