Should I get an Arduino or a Raspberry Pi?

No readers like this yet.
Raspberry Pi or Arduino?

Opensource.com. Modified. CC BY-SA 4.0. Original images from Adafruit and Wikipedia.

I spend a lot of time at conferences and events like Maker Faires, and having co-authored a book on the Raspberry Pi, I spend a lot of time talking to people about things like small electronics and open hardware. Probably the most frequent question I hear is, "Should I get a Raspberry Pi or an Arduino?"

Depending on the person asking, I've almost always said yes to getting a Raspberry Pi, and not just in hopes of selling a book or two. Often the people who ask this question are at a point where they don't even realize that the two devices aren't the same. This isn't "should I get a Mac or a PC?" or "should I try Ubuntu or Fedora?" with relatively the same endpoints and finer distinctions. The Raspberry Pi is a computer. The Arduino is a microcontroller. If you're starting from square zero and have no idea what to do, you can at least plug an SD card and a monitor into the Pi and have a computer. You can flash the card with Kodi (formerly XMBC) and have a working media center in minutes. It's a quick path to completed-project satisfaction with plenty of room for growth.

People who ask this question are also often asking not for themselves but rather, "Which of these devices should I buy for a child?" And to that end, if you're a kid who opens that box on Christmas morning, it's not exactly a set of Lego bricks with an instruction booklet and an hour or two to a finished piece. There's a learning curve, and again, if you have a Pi, at least you can get a computer up and running fairly quickly, play with it for a bit, and then figure out what's next from there. If you have an Arduino, you instead have a pretty blue board and no idea what to do with it.

Of course, leave it to a nine-year-old to prove my entire theory wrong.

The Arduino?

As you can imagine, in the course of writing that book, my house has become a small Radio Shack. There are wires and buttons and LEDs and disemboweled Game Boys everywhere. (And have been for a few years now.) My children, however, are apparently completely oblivious to this and took very little interest in any of it except when I'd specifically ask them to check something out.

But they did seem interested in software and had been playing with a kid-level app creator, so I bought the older child the SparkFun Inventor's Kit. Murphy's Law being what it is, this is also about the same time she announced that she didn't know what she was going to be when she grew up, but she knew it wouldn't be a programmer because she wasn't any good at it.

Six weeks later, with that Arduino-based Inventor's Kit, her STEAM fair project was an Arduino project.

As best I can tell, the Raspberry Pi was just another computer in the house, and there are plenty of those. It happened to be small, so that's neat. But it was just another computer. And a lot slower than all of the rest of them. The Arduino was a mystery. A puzzle to solve. Secrets to unlock. And most importantly, came with the huge satisfaction of realizing you've created something that you had no idea how to make when you started.

I credit that Inventor's Kit with most of the work of making her enjoy both building the hardware and the software. Its booklet starts you at the place most of us start—making an LED blink. And then you learn what a potentiometer is and how to make it work. Then more LEDs, sensors, motors, and more. She learned that she could create code by building off the examples of others, which is far easier than starting from scratch, which is what had given her the impression that she was "no good at it." It was a really rewarding experience that made her realize she could create bigger things.

Or, the Raspberry Pi?

So, the Arduino it is, then?

No, not necessarily. The Raspberry Pi is, of course, not "just" a small, slower computer. If it were, we couldn't have written a whole book of projects for it! There are projects (and people) that are more well-suited to one device or another. And thus the recommendation for "which one should I get?" is more nuanced.

I think the best way to get started is to choose a project, or if you really have no idea where to begin, a kit like the one I bought my daughter. The Maker Shed sells a few Raspberry Pi kits. Adafruit has a whole section for young engineers with kits. If price is a factor and you're a good shopper, you can sometimes acquire the parts in these kits for less than the kits. But then you don't have the guidebook for the kit. These sites all run regular sales as well, so get on their mailing lists and keep an eye out.

You can also create your own "kit" by finding a project you want to make and obtaining the parts. Instructables is a great place to find projects, as are many other sites. But when you find something you think you want to build, read through the instructions. Do they seem complete and easy to follow? Crowdsourced ideas are great, but not all good builders are also good writers! You don't want to end up frustrated with a half-finished project because the instructions were missing a useful level of detail.

Guides to builds

You may, then, want to turn to the wide selection of books for your starter projects. For the Raspberry Pi, I'd (of course!) start with my own book, Raspberry Pi Hacks. There are quite a few others, though, and books specifically for the latest version, the Raspberry Pi 2, are starting to appear. You shouldn't have problems building most projects from older books or projects online on the new Pi, though.

For the Arduino, one of my favorites is Arduino and LEGO Projects, because you get to put together two of the most fun toys in the house! I also like anything Simon Monk writes, so to that I might suggest 30 Arduino Projects for the Evil Genius.

While you're considering what you want to build, think through a few of these questions as well:

  • Is this for a child? Consider not only that child's age, experience, and patience, but also your own. How much time are you willing to spend working with the child on the projects?
  • Are there parts you'll need that are easier to obtain for one than the other? There's a vast Arduino community that has created shields (add-on parts that perform specific roles) for just about anything you can imagine. The Raspberry Pi community is large and growing, but you may find is easier to find particular parts for a given project for one than the other.
  • Do you need or want any/all the built-in goodness of a Raspberry Pi, like HDMI and USB ports?
  • What's your final goal? Are you hoping to learn programming? Do you want to play with a device for a while and then repurpose it? (The Arduino is good at doing one thing at a time, but not so good at multiple functions if you decide you want to move on to a more complicated project without buying a new board.)

Some of these questions you may answer on your way to choosing a project, so keep that last one in mind as you go. They're both inexpensive boards, but if you want to reuse it in the future, you'll need to think about multiple projects as you're planning. And in the end? Maybe you'll decide you need them both! In fact, with projects like the AlaMode, you can use them together.

Good luck, and happy building!

User profile image.
Ruth Suehle is the community leadership manager for Red Hat's Open Source and Standards team. She's co-author of Raspberry Pi Hacks (O'Reilly, December 2013) and a senior editor at GeekMom, a site for those who find their joy in both geekery and parenting.

21 Comments

or ODroid ..

BUY Both - that's the best answer.

In reply to by Jeff Kabanuk (not verified)

Great article.

I tell people that neither are really going to feel useful to them until they have a project in mind.

Once they have some idea of what they want to achieve, then they can think of an Arduino as a real-world representation of the programme that they will write, while the Pi is the whole computer that will both run the programme and do other things that they might dream up. It's up to them to decide whether they want the ability to [or sometimeo the burden of] handling all the other things that the Pi can do, or whether they want the dedication and relative simplicity of an Arduino.

". . . relative simplicity of an Arduino." Maybe. We use them as fuzzy logic based controllers where we develop the fuzzy algorithms in Matlab and down load the finished microcode into the target Arduino boards. I suppose it might be possible to use a Raspi that way but suspect the on-board OS, which is not a real time OS might get in the way. Perhaps the Arduino solution is relatively simple, when you consider that a Raspi solution might not work at all.

In reply to by sethkenlon

I'm not sure if the RasPi is performant enough for your application. Having said that, there are several choices for hard real-time OS in Raspberry Pi, depending on if you want a Debian base or a RedHat base.

If you want something more powerful than both, you might try the Parallella. It's a bit more pricy than a Pi, but if you can parallellize your algorihms, you get the power of a single core of an i7 in the same form factor (and power consumption factor) as the Pi.

In reply to by Tom Curl (not verified)

Nice article! I like the raspi as it puts the whole programming environment on the device. I don't use it that way personally, but it is a great way for people to learn.

This is a great article, as each of the two devices have their strengths and weaknesses like speed, memory or power consumption.

It's a bit misleading to classify the Raspberry Pi as open hardware. The hardware itself is not open. I cannot and may never be able to get a Raspberry Pi 2 schematic and as far as I know still can't get a Raspberry Pi B+ schematic.

It's a good little computer. And you've got a good article here. But this is a fairly big issue with the Pi for some of us. And I find the Pi Foundation's attitude toward open source disturbing when they can't be bothered to opensource their own hardware.

The Foundation would if they could. It's Broadcom that's a problem.

In reply to by Casey (not verified)

Take a look at CHIP: https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer/description

I think it boils down to what you want to do. If you want to control a load of components such as LEDs & motors, and read data from sensors and potentiometers, the Arduino is a no brainer. If you want to learn software programming and possibly control the odd LED, the Raspberry Pi is the ticket. <a href="https://codeduino.com/information-and-news/hardware/arduino-vs-raspberry-pi/">This page</a> compares them and shows that the Raspberry Pi can't do analog inputs, so no sensors or potentiometer inputs. However, you can always connect a Raspberry Pi up to an Arduino and get the best of both worlds.

Did working project with both of them.
The Atmel AT family has very cool interfaces and the GNU g++ ... tool chain offers a stable platform for your hardware oriented work/fun-work. The Raspberry Pi is a peace of cake when it comes to scripting languages ... made me dive into Python.
Looking forward to combine both via I2C.

Another great board to look at is the ESP-12 which is available for under $5 and much more powerful than the Arduino with 32 bit 80 MHz MC, 4MB flash, 96 KB RAM and integrated WiFi. For development, you have a choice between the Arduino IDE, Lua and NodeMCU, and MicroPython. The only catch is the the ESP8266 is 3.3v not 5v so you need to take care with what you connect to it.

I have a large assortment of Arduino and Raspberry Pi but my latest favorite is the freeSoc2 from Sparkfun. It is a microcontroller with a 32bit processor, hardware floating point and most important, a bunch of software configurable analog and digital hardware, essential building blocks for any project. Check it out, it could be the basis for your next book, and a lot of fun.

I think this article is really off base.
Essentially the authour is saying "If your kid is as lazy and unmotivated as you are, just buy them a Raspberry Pi and pretend it's just a cheap PC". The result of which will be a kid with a computer that gives them a disappointing desktop experience and leaves them wondering why they would care when they can use their PC, Mac, or tablet instead. Especially once they try use their favourite app specific to the platform they're used to.

Using the Pi as a simple PC does a disservice to the Pi and the kid.

Personally whenever I get this question, I always say "buy both". They're cheap enough that you don't have to choose, and shouldn't. Next it's important to understand and communicate that these aren't consumer appliances. They're not plug it in and it does (something) type devices. They are for tinkering and learning and solving problems. If the person isn't interested in that, save your money and let them go back to wasting their minds playing Candy Crush and surfing Facebook.

For someone that does want to learn, tinker, explore, and control the world around them, these two devices are amazing, low cost, low effort, entries into the world of embedded computing and electronics. And they're in no way competitive. They're complementary. If they weren't there wouldn't be a Kickstarter every other week selling the next big thing in Pi/Arduino integration. It's like saying your pickup truck and your travel trailer are competitive. The truth is that they're both much better together, even though they can be used stand alone.

As for the Out Of Box satisfaction. I would argue that it's much more rewarding to hook an Arduino up to your computer, load up one of the demo's and voila, you've made something blink or move or whatever. Plugging in a Raspberry Pi and seeing a desktop OS boot is about as exciting as booting up any other computer. Not to say there aren't exciting things you can do with the Pi, there are. But the most rewarding tasks won't happen withing minutes of plugging it in. The rewards will come with time and effort.

Overall these are both great devices that have had immeasurable impact for hobbyists, tinkerers, educators, students and others. Why choose only one?

Anyone here think people should be told of the Beagle Bone Black? 1Ghz CPU, 512 MB, 2 RTUs, 96 GPIO pins (thats right, 96 -> 4 X 24), Debian OS (current versions), HDMI out. And these are specs that have been out for awhile. Here's the rundown: http://beagleboard.org/support/bone101

Beaglebones are great boards! They just didn't happen to be what this post was about. :-)

In reply to by Joe Almeida (not verified)

Get the Odroid-c1, more bang for the buck.

Neat article! I've used Arduino for its low power consumption.
The Radio Shack reference reminded me of my home growing up. :-)

Best,
Mayur

PSOC 5LP or PSOC CY8CKIT-044 both are great boards and they are easier to use than the PI or the Arduino. They also come with free Software for development. They also interface with the Arduino shield boards.

Thanks for a great REAL-WORLD article on the two options. As the parent of an very intelligent 8 year old boy who is very into minecraft, scratch and meccanoid robotics, I found myself looking at the LilBits series of toys on Amazon.

Reading a review or two, I came to realize that those are nifty little kits that are OBSCENELY overpriced. So I got to thinking that maybe I could find something similar without the "startup hype" and resulting price hype.

This was the second article I read. The first was also very informative. But your article gave me what I think is the BEST TOOL for choosing... "Find a project and see which of the choices will best complete that project..." What a great way of looking at it!

Part of me is very lazy and wants to go buy a LilBits kit for $250 and be done with it. But part of me doesn't want to reward the inventors for their awareness of my laziness. Thanks for the well written article on this topic, despite what Tachyon says.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.