One of the big questions in DIY electronics circles is which DIY platform is going to be the best for me? And the two biggest platforms right now is Arduino and Raspberry Pi. Whilst at first glance they might seem the same; circuit board with some electronic chips and header pins. However they really are completely different beasts. Today we’ll be looking at a broad feature comparison on each platform, but if you’re after some more in depth info on both these platforms, check out the specific tutorials for each one.
Raspberry Pi
The Raspberry Pi is primarily designed to act as a standalone micro-computer. It has on board RAM, CPU, USB and Ethernet ports, standard display output options, and much more. It runs an operating system, and can be used to create software applications from a terminal level, through to high level programming languages such as Python and Scratch. You can do an incredible amount of things on your Raspberry Pi without connecting anything other than power, a keyboard/mouse, and a display.
This makes it perfect for learning to program in a variety of languages, as well as interact with a traditional style computer at a deeper level. It’s got a lot more power than any Arduino, however everything you do is at a software level, and whilst it might seem like it’s a simple step to connect sensors and external circuitry up to the GPIO pins, there are a few different elements in the software that you have to go through in order to use it like a traditional microcontroller.
Arduino
Arduino is the world’s most loved microcontroller platform for a reason. It combines microcontrollers and direct hardware interaction with an intuitive, community driven environment with libraries and resources designed to get you creating almost anything. A microcontroller differs to a traditional computer in the sense that on a microcontroller, you are controlling the functionality of the chip, exactly as you need. There’s no software to go through, and you can be assured that it will do what you tell it to do, without worrying about another software abstraction layer. It’s the platform of choice if you want to connect sensors, circuitry, and other hardware up to interact directly with the outside world. There are a few different ways to program an Arduino, but the best way is to use the open source Arduino IDE, where you can write your code, and upload it straight to the board. The downside is that because of the open source nature of Arduino, there are thousands of different variants, clones, and boards based on Arduino, both official Genuino boards, and third party spin offs.