Do-it-yourself projects (DIY) with hardware and software are becoming in­creas­ing­ly popular. Hobby craftsmen from all over the world try their hand at creating useful everyday tools such as remote controls for the garage door or ther­mome­ter devices, as well as playful projects such as drones, robots, or their own gaming consoles. At the center of these creative works are special hardware com­po­nents from various providers designed for these specific purposes. In addition to their compact design, they’re generally char­ac­ter­ized by their par­tic­u­lar­ly af­ford­able price, which is usually in the low one- to two-digit dollar range.

Among the most popular technical mini-com­po­nents are un­doubt­ed­ly the British single-board computer Raspberry Pi and the Italian mi­cro­con­troller Arduino. Both are often regarded as competing solutions, but in principle they operate on com­plete­ly different struc­tures.

Raspberry Pi vs. Arduino: DYI building blocks with different ap­proach­es

When the first version of Raspberry Pi appeared on the market in early 2012, it was already behind the pub­li­ca­tion of the first Arduino board by seven years. It’s no co­in­ci­dence that the Italian physical computing platform, which takes its name from a bar in Piedmont (which served as a regular meeting point for some of the project founders), is con­sid­ered a classic in the hobby craft scene. The typical Arduino setup combines a mix of open source software and hardware com­po­nents that allow the user to operate in­de­pen­dent­ly, interact with objects, and enable simple in­ter­ac­tion with computer ap­pli­ca­tions. An I/O board (Input/Output) with an Atmel mi­cro­con­troller (mostly from the Atmel AVR series, e.g. ATmega328) as well as an in­te­grat­ed de­vel­op­ment en­vi­ron­ment are some of the typical features. This is written in Java and provides its own code editor as well as various libraries for the sim­pli­fi­ca­tion of pro­gram­ming in C and C++, among other things.

Arduino Raspberry Pi
Pub­li­ca­tion 2005 2012
Homepage arduino.cc rasp­ber­rypi.org
Type Mi­cro­con­troller Single-board computer
Ar­chi­tec­ture AVR, ARM ARM
Power supply USB, external power source USB, external power source
USB con­nec­tion Yes Yes
HDMI con­nec­tion No Yes
Software In­te­grat­ed de­vel­op­ment en­vi­ron­ment based on Java Optional (special operating systems such as Raspbian)

Raspberry Pi doesn’t have a bar to thank for its name – culinary pref­er­ences may have played a role, though. Adorned with a raspberry as its official logo, the company continued the old naming tradition of computer man­u­fac­tur­ers such as Tangerine Computer Systems, Apricot Computers, or Apple, who clearly got their names from fruit varieties. The Pi part, which stands for “Python In­ter­preter”, is a result of the original plan to provide the Raspberry with a built-in in­ter­preter for the Python pro­gram­ming language. Unlike Arduino, the Raspberry Pi models have not only much higher available pro­cess­ing power, but also their own memory and video output ca­pa­bil­i­ties. The mini­com­put­er from England can therefore be operated in­de­pen­dent­ly and run ap­pli­ca­tions that only require a Raspberry Pi operating system to be installed.

An Arduino and Raspberry Pi com­par­i­son

The biggest dif­fer­ence between Arduino and Raspberry Pi: While the first is a mi­cro­con­troller that can only run compiled C-code, the second can also function as a stand­alone system. But Raspberry Pi isn’t simply always the better choice for every type of DIY project, as is evidenced by the ad­van­tages and dis­ad­van­tages, possible uses, and re­spec­tive community.

Ad­van­tages and dis­ad­van­tages of Arduino

Adruino boards are mainly char­ac­ter­ized by two features: On the one hand, they deliver fully built-in processor per­for­mance including pe­riph­er­als (inputs/outputs and in­ter­faces), which makes them at­trac­tive to users with little elec­tron­ics knowledge. On the other hand – a point that earns the Italian mini-platforms valuable points in the “Arduino vs. Raspberry Pi” com­par­i­son – the hardware-based de­vel­op­ment en­vi­ron­ment delivers a pro­gram­ming interface with various prepared libraries which make pro­gram­ming much easier. Fur­ther­more, the IDE is cross-platform (since it’s written in Java) and so is available with the same ap­pear­ance for Windows as well as for Linux and macOS. For this reason, it’s not sur­pris­ing that Arduino devices are popular exercise com­po­nents for schools, uni­ver­si­ties, and other ed­u­ca­tion­al in­sti­tu­tions.

Note

Parallel to the sim­pli­fied C-code, Arduino users can also write classic code at any time or use an al­ter­na­tive de­vel­op­ment en­vi­ron­ment – this makes the boards an af­ford­able and efficient al­ter­na­tive for pro­fes­sion­als as well.

The sim­plic­i­ty of the Arduino boards isn’t always ad­van­ta­geous, though: Although the in­te­grat­ed de­vel­op­ment en­vi­ron­ment is a great support for hardware control, newcomers to pro­gram­ming will hardly learn anything about writing classic code in this way. There’s also the general risk that the ready-to-use libraries could com­plete­ly dispense with in­di­vid­ual pro­gram­ming and un­nec­es­sar­i­ly limit the possible scope of action. Another dis­ad­van­tage of Arduino comes into play if the standard design of the mi­cro­con­troller board is to be extended by ad­di­tion­al in­ter­faces and input/output functions. The stan­dard­ized hardware allows for un­com­pli­cat­ed upgrades via so-called shields – but the purchase of these add-on modules for Ethernet, LED, and others will quickly skyrocket your project costs.

Benefits Drawbacks
Instantly op­er­a­tional hardware/software setup Low learning factor for elec­tron­ics and pro­gram­ming (when using DIE)
Own de­vel­op­ment en­vi­ron­ment with various libraries (cross-platform) Upgrading with shields can be expensive

Strengths and weak­ness­es of Raspberry Pi

Another dis­tin­guish­ing char­ac­ter­is­tic of Raspberry Pi is that it provides a ready-to-use hardware setup, which relieves the user of the effort of compiling the technical foun­da­tion for DIY projects. As opposed to the Arduino boards, Raspberry Pi contains all of the com­po­nents to make the stand­alone operation of the mini­com­put­er possible. In addition, most models are network-capable by default (Ethernet, WiFi, or both) – only the A and A++ models of Pi 1 and the min­i­mal­is­tic Pi Zero are missing the cor­re­spond­ing ports. Thanks to this, Raspberry Pi can serve not only as a direct pro­gram­ming platform but can also be used for the operation of ap­pli­ca­tions such as private clouds, web servers, or VPN servers.

The main goal of the Raspberry Pi Foun­da­tion, which is behind the de­vel­op­ment of the mini­com­put­er, has been to fa­cil­i­tate access to hardware and pro­gram­ming for users with limited know-how from the very beginning. While the project does manage to largely reflect this wish, the im­ple­men­ta­tion in par­tic­u­lar can turn into a real test of patience. You not only have to select and download the operating system, but also bundle it in an ap­pro­pri­ate SD storage card. The ensuing in­stal­la­tion and con­fig­u­ra­tion of the system software is also not as self-ex­plana­to­ry for every newcomer as those in the Raspberry camp might expect.

Note

Various providers offer SD cards (paid) on which an ex­e­cutable Raspberry Pi operating system (usually Raspbian) is already installed.

Another drawback: The base price is only between 5 and 40 dollars, depending on the model and provider – but for the operation of the Raspberry, all sorts of ad­di­tion­al ac­ces­sories, such as power cables, HDMI cables, etc., are required.

Benefits Drawbacks
HDMI and network-capable by default (with the exception of some models) Software is not part of the package, and must be down­loaded and installed by the user
Suitable for simple as well as complex tasks Purchase of a number of ad­di­tion­al pieces required for stand­alone operation

Community check: Arduino vs. Raspberry Pi

People who plan and develop projects with hardware pieces like Raspberry Pi and Arduino often like to share their results with other hobby craftsmen. Video portals such as YouTube or Vimeo as well as DIY websites like hackster.io present thousands of tutorials and guides – from users, for users. Both Arduino and Raspberry Pi are well rep­re­sent­ed. The DIY com­po­nents, the mi­cro­con­troller on the one side and the mini­com­put­er on the other, have huge com­mu­ni­ties united behind them. As a result, you can find not only in­for­ma­tion about pre­vi­ous­ly completed projects, but also help with any questions con­cern­ing your own projects at any time.

Note

The pre­vi­ous­ly mentioned Arduino shields for extending the technical foun­da­tion of the elec­tron­ic board were developed largely by members of the Arduino community.

Some of the most important sites for Arduino projects are:

  • Reddit: An enormous Arduino channel exists on Reddit where users share their project ideas, post photos or videos of results, or ask questions regarding the mi­cro­con­troller board.

  • Official Arduino forum: Around 500,000 reg­is­tered members use almost the same number of threads to discuss the different Arduino models, possible ap­pli­ca­tions, technical questions, and much more.

  • Arduino Play­ground: Arduino Play­ground is a com­pre­hen­sive Wiki where in­ter­est­ed users can publish their own code snippets, tutorials, tips and tricks, present projects, or simply browse.

For those who want to exchange ideas with other Raspberry Pi fans, the following websites in par­tic­u­lar offer the perfect basis:

  • Rasp­ber­rypi.org: The official homepage of the Raspberry Pi project is not only the first point of contact for anyone who wants to get a hold of the mini­com­put­er. In the “HELP” section, visitors can find various guides (for software and hardware, among others) as well as a detailed online doc­u­men­ta­tion. The website forum also has more than 200,000 reg­is­tered members who discuss various topics related to Raspberry.

  • RPi Hub: The RPi Hub on eLinux.org provides a vast amount of in­for­ma­tion for both beginners and advanced users – from guides on the purchase, setup, and startup, to tips and tricks for software and hardware. Rec­om­men­da­tions for further reading material and links to important community pages complete the package.

  • element14: element14 is one of the most suc­cess­ful community websites for elec­tron­ic projects of all kinds. In the Raspberry Pi corner, members discuss current issues and provide reviews of ad­di­tion­al hardware and software. Listings of popular and rec­om­mend­ed posts show new members which topics might be worth a look when they visit for the first time. The internal blog also regularly publishes topics about Raspberry.

Ap­pli­ca­tion scenarios for Arduino and Raspberry Pi: com­par­i­son

The biggest sim­i­lar­i­ty between Arduino and Raspberry Pi is that they are both im­me­di­ate­ly ready for use without the need to assemble and measure elec­tron­ic circuits or fit and solder circuit boards. This is the main reason that both Raspberry Pi and Arduino are so popular for DIY projects in schools and uni­ver­si­ties as well as in the private sector: They give in­ex­pe­ri­enced novices the pos­si­bil­i­ty to quickly achieve initial results, and give advanced users a finished hardware framework.

The fact that the two con­struc­tions are used in different scenarios is because of the essential dif­fer­ences between Raspberry Pi and Arduino: Arduino boards function as mi­cro­con­trollers, which means that they can execute a pre-installed ap­pli­ca­tion as pre­vi­ous­ly defined without much delay. They’re delivered with their own de­vel­op­ment en­vi­ron­ment, which has various ready-to-use libraries available and saves a large amount of pro­gram­ming work. Raspberry Pi, as a mini­com­put­er with its own operating system, can complete sub­stan­tial­ly more complex tasks such as, for example, running multiple ap­pli­ca­tions in parallel or in suc­ces­sion. It also has a number of in­ter­faces and ports stan­dard­ly available (HDMI, WiFi, LAN) that would have to be added to Arduino boards using shields.

In simpler terms, Arduino is par­tic­u­lar­ly suitable for projects in which a simple task is to be executed re­peat­ed­ly. For a task such as measuring the outside tem­per­a­ture and showing it on a display, for example, the mi­cro­con­troller is the perfect platform. However, if you want to not only measure the outside tem­per­a­ture, but also check the weather forecast and start the garden ir­ri­ga­tion system on the basis of pre­vi­ous­ly defined criteria (e.g. high tem­per­a­ture and low rain prob­a­bil­i­ty), then Raspberry Pi is the better choice.

It doesn’t have to be Raspberry Pi vs. Arduino

Arduino boards and Raspberry Pi computers both have their strengths and their weak­ness­es. For smaller projects, therefore, it makes sense to first consider which com­po­nents are necessary for the im­ple­men­ta­tion, and then decide on one of the two basic pieces. However, if your budget allows for it and the planned project is more than just a simple remote control, then it’s perfectly rea­son­able to rely on a com­bi­na­tion of Arduino and Raspberry models.

For example, it’s con­ceiv­able that Arduino will only be used to run an ap­pli­ca­tion after a Raspberry Pi com­pu­ta­tion has taken place. The other way around, of course, it’s also possible that the Arduino mi­cro­con­troller’s task is to start a complex process on a Raspberry Pi. A classic example for this is the project Piano Stairs, with which Bonnie Eisenman, Erica Portnoy, and Vincent Castaneda won second place at Hack­Prince­ton 2013 (Category: “Hardware”): The in­ter­ac­tive stairs play piano tones as you step by using an Arduino to pass the recorded values to a Raspberry Pi. The mini­com­put­er in turn is re­spon­si­ble for pro­cess­ing the values and out­putting the cor­re­spond­ing sounds.

A com­pre­hen­sive guide to the project is available on the DIY developer website in­structa­bles.com.

Go to Main Menu