DIY – dilated to “do it yourself” phrase became common in the 1950s when the trend of people venturing into home improvement and other construction projects. People took DIY and made it a part of their lifestyle as a recreational, creative and cost-saving venture. And reading the article heading, “Which DIY Platform is the Best: Raspberry Pi VS Arduino ?”, one could assume them being competitive hardware in their field fulfilling the same purpose of; serving as teaching tools and are very easy to learn and use. There are many more micro-controllers and microprocessor-based open-source hardware like Olimexino-STM32, Olimex Duinomites, etc. which can carry out the same tasks as Arduino and Raspberry Pi but their properties like being cheap, easy to use outweigh all.
In true sense, Raspberry Pi and Arduino are quite dissimilar. Arduino is a micro-controller, which is a single and unique controller able to run a single program repeatedly at a time whereas; Raspberry pi is a fully functional general-purpose computer with the ability to perform multiple functions.
The Standoff: Raspberry Pi vs Arduino
Raspberry Pi also is known as RPi was released seven years ago in 2012 as a series of small single-board computers. RPi was incubated in the Raspberry Pi Foundation in the United Kingdom to remove the gap of basic computer science in schools and developing countries. Inventor and Founder Eben Upton and his companions at the University of Cambridge were disappointed by the plummeting number of skilled students entering the computer science program. Hence, was created RPi as an easy and cheap to learn and help tinker the hidden computer abilities. Raspberry Pi Organisation consists of two branches: the Raspberry Pi Foundation and Raspberry Pi Trading both with different purposes and working. The Foundation branch is concerned with the vision of promoting and instilling basic computer science knowledge in different educational institutes. And, the Trading branch is envisioned with the project of developing and distributing the Raspberry Pis and helps in understanding which DIY Platform is the Best: Raspberry Pi VS Arduino ?
Whereas, Arduino named after a bar in Italy, where the founding members including inventor Massimo Banzi used to meet which was in itself named after Arduin of Ivrea, King of Italy from 1002 to 1014. Arduino developed by Arduino.cc as an open-source hardware and software company. Arduino represents a community which designs and develops single-board micro-controllers and micro-controller DIY kits for developing digital devices. It’s an Open-source platform developed with products being licensed under GNU General Public License, allowing the right to manufacture Arduino boards and distribution of software by anyone willing. Arduino project started by Banzi and cofounders in 2005 as a program for students of Interaction Design Institute, Ivrea Italy with the aim to provide a cheap and easy way for a beginner and professionals to learn and act on skills. This invention helped students and professionals in creating devices which interacted with their environment using actuators and sensors.
Microcontroller vs. Microprocessor
As we now know, Arduino use micro-controller whereas Raspberry Pi uses a microprocessor as their central processing unit to carry out the intended functions. Arduino is black Integrated Circuit unit called micro-controller. Micro-controllers are designed for embedded applications whereas microprocessors are designed for general purpose. Old micro-controllers were 28 pins Dual-Inline-Pin (DIP) Package and new modern Arduino are Surface-Mounted-Device (SMD). A micro-controller is a combination of one or more processor cores, along with some memory and input/output devices. A small amount of RAM and OTP ROM is often included in the chip in the form of program memory. It’s these components which carry out the actual task of Arduino the rest of the board and the software is there to help interface with it. Micro-controllers are commonly used in automatically controlled devices such as remote controls, office machines, power tools, automobile engine control systems, implantable medical devices, and similar embedded systems.
The hardware of the Raspberry Pi is very different and a little bit more complex than the Arduino. Hence the functions and tasks asked of Raspberry Pi are more difficult and complex. It shares much of its build with a desktop pc. Microprocessors are computer processors that have embedded functions of a CPU on a single or a few integrated circuit or circuits. The microprocessor is multipurpose, register-based driven by a Broadcom CPU at its core with connected RAM, external storage and ports all around the board. It also shares functions with a simple desktop pc along with build with a vast difference in processing power. It runs on a LINUX based operating system which is required to handle basic tasks, controls different ports like HDMI, USB, and RJ45, run programs and renders a graphical interface to help display to the user.
This design of RPi allows it to carry out tasks which are impossible for Arduino and its microcontroller. But for some applications, it could result in unnecessary and inconvenient. As for on-off and simple automatic operations using Raspberry Pi will be cumbersome, time-consuming and not intelligent as those tasks can be easily achieved by a simple Arduino.
For comparison here between Arduino and Raspberry Pi, we will consider one model of each of their many. For Arduino, we will be considering Arduino Uno a single-board microcontroller and for Raspberry Pi, we will be taking Raspberry Pi Model B to find out which DIY Platform is the Best: Raspberry Pi VS Arduino ?.
Being cheap and easily available introductory cost of Arduino Uno stands at $30. Size of the Arduino Uno is 7.6 X 1.9 X 6.4 cm. Memory or ROM stands at 0.002 Megabytes or 2 Kilo Bytes SRAM (Static Random-Access Memory) and Flash memory is 32 Kilobytes or EEPROM (Electrically Erasable Programmable Read-Only Memory). The Central Processing Unit (CPU) includes one of Atmel AVR (8-bit), ARM Cortex-M0+ (32-bit), ARM Cortex-M3 (32-bit) or Intel Quark (x86) (32-bit) with clock Speed of Arduino Uno is 16 MHz (Megahertz) with no onboard network and no multitasking possible. There is only one USB port for input only. No operating system. The required input voltage range is 7 to 12 V (volts). The Integrated Development Environment (IDE) for Arduino Uno is Arduino. The Arduino micro-controllers are easy to program using Python, C or C++ programming languages. These specifications may range from model to model and different types of Arduino available in the market with the latest version being Arduino 1.8.9.
Raspberry Pi was created cheap, easy to use and compact and it’s Raspberry Pi Model B’s introductory price of $35 and size 8.6 X 5.4 X 1.7 cm is its proof. Raspberry Pi Model B has a read-only memory of 512 Megabytes and flash memory is provided by an external SD card and could range from 2 to 16 gigabytes or 1 Gigabyte of LPDDR2 RAM at 900 Megahertz. The System-on-chip used is Broadcom BCM2837B0 with CPU of 1.4 gigahertz 64/32-bit quad-core ARM cortex-A72 with a clock speed of 700 Megahertz. Graphics of Raspberry Pi Model B is driven by Broadcom VideoCore IV 300 MHz/400 MHz’s. Onboard network available is the 10/100 wired Ethernet RJ45 with newer models also having the capability to attach to wireless networks. Contrary to Arduino multitasking is possible with input voltage prescribed of 5 V. All LINUX based operating systems like FreeBSD, LINUX, NetBSD, OpenBSD, etc. can operate on the system. Compared to Arduino Raspberry Pi is loaded with different and useful ports like Ethernet port, two USB ports, HDMI port to connect to any graphics output display and a micro USB (OTG) port, with some latest versions having 3.5mm audio jack. The Integrated Development Environment needed for Raspberry Pi Model B Scratch, IDLE or anything with LINUX support.
Raspbian- a Debian-based Linux distribution specialized version is run by Raspberry Pi as standard. To provide users with smooth experience Raspbian is optimized specially for with the goal of making the best use of the design of the board. The Foundation also provides third-party Ubuntu, RISC OS, 10 IoT (Internet of Things) Core, and specialized media center distributions. Python and scratch are promoted as the main programming language by the foundation with many other languages as an open option. Default firmware of Raspberry Pi is closed-source but open-source firmware is also available. Microkernel, seL4 is among other verified operating systems which can also run on Raspberry Pi. Other third-party operating systems are also available on the official site, for example, Ubuntu MATE, etc. Depending on the available adapters on the board, different operating systems can be installed on Micro, Mini SD card or SD card and used on Raspberry Pi.
For Arduino, only 2KB of flash storage is available for a special firmware called Bootloader. There is no special operating system in Arduino and hence cannot be used to run programs as in the case of Raspberry Pi. Instead, Arduino will boot up and perform the task or instructions established in Arduino IDE, which will run on any LINUX-based machines including Raspberry Pi, Windows, and Mac.
Raspberry Pi vs. Arduino
In the case of first programs being written:
The Raspberry Pi users have to install and configure an operating system. Fortunately, the Foundation provides with a handy zip file named NOOBS which will help in the same. While in case of Arduino you will have to install Arduino IDE in your computer system or tablet whichever is connected to Arduino via USB. Given its purpose, as an educational tool, Raspberry Pi supports a vast range of programming languages. For first time users, the clear choice being Python which also contributed it’s Py in Raspberry Pi. Python is a high-level, intuitive and interpreted language (i.e. it is translated as it runs) with an easy to understand syntax. To help create sophisticated programs Raspberry Pi comes with a preloaded Python IDE known as IDE 3. Arduino doesn’t have an interpreter; code is written, compiled and uploaded to the Atmel chip before the final run.
These two systems are equipped with an array of GPIOs (General-Purpose-Inputs-and-Outputs). Raspberry Pi Model B/B+ comes with Forty pins and Arduino Uno with fourteen. These pins can be modified and decide the intensity of modulation of the device. Techniques like Pulse-width modulation can be used to simulate a voltage between 0 and 5 V by instructing a pin to rapidly switch on and off. Raspberry Pi obviously comes with a lot of connectivity option like HDMI port, two USB ports, OTG port, and Ethernet port with Wireless connectivity also possible. Considering its usage it is justified. Arduino surely provides fewer connectivity options but are enough to fulfill the task. Though, it is possible to increase connectivity of Arduino using Arduino Shields available in the market for example ESP8266-equipped Wi-Fi shield.
More computational and processing resources allow Raspberry Pi to handle large amounts of data and present the same in an interesting way. If a project involves you to drive complex real-world machinery with many moving parts or complex calculations and deals with videos and touch screens. Then the right way to go is Raspberry Pi. Arduino handles less complex operations like switching on-off, open-close operations, etc. but can be upgraded to expand operational capabilities with few shift registers, Multiplexers, LED drivers and Shields.
The single conclusion from the above comparison between Arduino and Raspberry Pi is though they share many superficial characteristics, they are invented to achieve very different purposes. In general, Raspberry Pi is for more software orientated projects and Arduino is geared more towards hardware. If learning code is what you desire for Raspberry Pi is the way to go and if playing with circuit and a little home automation like automatic garage door open and close system, check and report weather stats and playing with circuitry to get the inner inventor skills to tinker Arduino is your buddy. In the end, it all boils down into a simple question: What is your use? And the answer will provide you your choice based on the above comparison to find out which DIY Platform is the Best: Raspberry Pi VS Arduino ?
Considering a real-world application of a beer brewery where different processes requiring on-off application when they reach a particular temperature in the distillation chambers and more Arduino will do the job perfectly whilst raspberry pi can be used to connect and manage all the processes and display the output. An analogy could also be drawn for compression between Arduino and RPi considering a truck and a moped. Both are a means of transport and having similar characteristics of wheels and vehicle of transportation. But if one wants to deliver heavy loads across state lines trucks are the best option whereas if u want to deliver light loads like parcels etc. Within a city in localities, mopeds are the ones to go with. This implies that both are good in their job and shows the importance of choice considering your task answer the question of which DIY kit is best for you? Arduino or Raspberry Pi?
Pulkit Goel is an experienced freelance writer with ability to write on variety of subjects who finds his passion in technology and finance. Apart from his contribution to the techcoffees website from posting tech-based article with the SEO implementation, he devotes his time in handling investment portfolio and guiding people in investment related decision making process.