Okay, so you’ve decided to be a maker and you’ve created a little electronic project for yourself. Maybe an automatic garage door opener, or maybe a simple media server for your home theatre. As you learn your way further into the DIY world, you realize that you need to decide on the hardware that will be the basis of your project. You’ve checked the Internet for help, and found out the two popular hardware choices for DIY projects: the Raspberry Pi and the Arduino.
Since you’re just starting out, it seems both hardware choices serve the same functionality. They both are able to run the program needed for your project and they both have a big community that can help you. So, which hardware should you choose?
Before we can make that decision, we need to understand which hardware is best. Let’s start with the Raspberry Pi.
To put it simply, the Raspberry Pi is a computer with a very, very small physical size. Despite its small size, the Raspberry Pi is actually a full-fledged computer capable of running an operating system and executing various programs. By connecting the mini-computer to a screen via an HDMI cable, and to an input device like a keyboard or a mouse, people will be able to use the Raspberry Pi just like any other computer out there. The latest version even has wireless connectivity built right into the device, making it very easy for the hardware to be connected to the Internet.
So, what about the Arduino? The Arduino is a microcontroller board–an integrated circuit with a computing chipset capable of running a simple program. If smart devices are run by computer processors, then “dumb devices” are run by microcontrollers. These dumb devices include things like a TV remote, air conditioner, calculator, and other simple devices.
Okay, so now we have completed our crash course for both platforms, let’s actually compare them, starting from the hardware aspect.
Raspberry Pi is a full-blown computer, so it has most of the stuff you’d expect from a computer system. It has a quad-core ARM-based CPU running at 1,200 MHz, 1 GB of RAM, microSD card slot for storage, 4 USB 2.0 ports, and it even has a GPU to drive the display output via an HDMI port. The Raspberry Pi is also equipped with a variety of modules that enables the hardware to easily connect to other devices like camera and touchscreen.
Meanwhile, the Arduino is a simple microcontroller board. It has a processor running at 16 MHz, a built-in LED, and a bunch of digital and analog pins to interface with other devices. The hardware also has a USB port that’s used to upload a custom program into the board.
Just from the hardware specification alone we can see that both are on a totally different level. The Raspberry Pi has a processor running at 1,200 MHz CPU clock, which is roughly similar to a low-end smartphone, whereas the processor in Arduino only runs at 16 MHz CPU clock. This means an Arduino board is only capable of running a simple program, while a Raspberry Pi can handle a much more complex one.
So far it seems that Raspberry Pi is a much better choice for DIY projects. But well, we all know that a smartphone is also much more limited and slower than a desktop computer, yet no one is going to say that smartphone is useless. To understand the strength of the Arduino, we need to look at and compare the software running the hardware we’re discussing.
Since Raspberry Pi is a computer, the device requires an operating system to be able to function. An operating system offers many benefits, like a built-in file system and multitasking system, but it also has disadvantages like needing to be booted up first and programs requiring additional configuration so they can run automatically.
On the other hand, an Arduino is running its own firmware that will execute a custom, user-uploaded program as soon as the device is turned on. The software on Arduino is more much limited, but it also means using it is pretty simple and straightforward.
This theme of simplicity and complexity also extends to the software development for both platforms. Developing a software for Raspberry Pi is complex, just like developing any computer software. Meanwhile, Arduino provides a development tool that allows you to quickly develop a program in your desktop computer and easily upload it to the Arduino board via USB cable.
So with all that said, which hardware platform is the right choice?
Well, it depends on your project. If your project is simply about reading sensor data and processing that, then the simplicity of Arduino will help the development of your project immensely. If your project includes a lot of task and processes, like uploading data to the internet, sending you e-mail, reading image data, and other stuff, then the power of Raspberry Pi will help your project successfully do all those tasks.
And, if you’re just starting out and haven’t really decided on your future project though, I’d suggest you to go with Arduino. The simplicity and ease-of-use of an Arduino board makes it a really great learning tool where you can focus on making new stuff instead of making your things work together.
About the Author
RakaMahesa is a game developer at Chocoarts, who is interested in digital technology in general. Outside of work hours, he likes to work on his own projects, with Corridoom VR being his latest released game. Raka also regularly tweets as @legacy99