Pinterest Stumbleupon Whatsapp

The Arduino and Raspberry Pi may look quite similar – they’re both cute little circuit boards with some chips and pins on them – but they are in fact very different devices.

You’re looking for a small computer, perhaps to power a DIY Network Security Camera — it’s a common decision needed for a variety of fun projects. You’ve heard good things about the Raspberry Pi and Arduino, but you can’t decide which is right for you. Which is going to prevail as the most useful once you’ve disassembled the security camera thanks to that incident with the neighbours? Which could you play movies on? Don’t worry, we’re here to explain all!

If you’re more of a visual learner (like me), this article is available in video form here:

What’s The Difference?

The Arduino is a micro-controller, and not in fact a mini-computer. A micro-controller is just a small part of what makes a whole computer. The Arduino only provides a subset of the functionality of the Raspberry Pi.

Although the Arduino can be programmed with small applications written in C++, it cannot run a full scale “operating system” and certainly won’t be replacing your media center anytime soon. The Raspberry Pi on the other hand, is a full blown computer. If you’re reading this site, I’m going to assume you know what that means.

Strengths & Weaknesses

So is the Arduino useless then? Hardly – an Arduino is perfect for electronics projects. It contains a set of inputs and outputs that can be connected directly to components and sensors, and is incredibly easy to just jump straight into making something. This makes it ideal for prototyping things, or making small projects that don’t require the complexities of a Pi.


The Arduino runs the Arduino firmware – a basic bit of core software which allows it to communicate with a computer over USB and gives access to all the features. You generally wouldn’t replace this firmware, but it is possible. Once your code has been loaded, you can just plug it in anywhere and it’ll start working immediately – you don’t need to reboot, plug in a keyboard, or choose an application to run. It does the one job it’s been programmed to do, does it well, and it does it immediately.

The Raspberry Pi on the other hand is a fully functional mini-computer. It requires an operating system (checkout these 10 Linux Distros Not Just Raspbian: 10 Linux Distros Your Pi Can Run Not Just Raspbian: 10 Linux Distros Your Pi Can Run You're presumably running the latest version of Raspbian on your Raspberry Pi. But is it the best Linux distro for the device? Could there be an alternative that you might find suits you better? Read More it can run), and takes a small amount of time to boot up before it is operational. Storage is provided from a micro-SD card, while built-in Ethernet allows for networking (you can get networking on Arduino Give Your Arduino Project Its Own Mini-Webserver, With An Ethernet Shield Give Your Arduino Project Its Own Mini-Webserver, With An Ethernet Shield A while ago, I showed you how to setup an internet control system for your Arduino - but it had to stay connected to a computer through USB in order to maintain the internet connection.... Read More too, but it requires an add-on “shield”).

At the heart of the Pi is a Broadcom Arm-v6 CPU; it has memory, and a graphics processor driving the HDMI output. You can plug in a keyboard and monitor, load up Linux, and the less technically savvy might have no clue how tiny the machine driving everything really is. The Pi is an incredibly powerful platform in a very small package — perfect for embedded systems, or projects requiring more interactivity and processing power.

Raspberry Pi

That said, the Raspberry is significantly more complex for simple electronics projects. For example, everyone’s first project is some derivative of flashing an LED on and off Arduino Programming For Beginners: The Traffic Light Controller Arduino Programming For Beginners: The Traffic Light Controller Last week, we learnt about the basic structure of an Arduino program and took a closer look at the 'blink' example. Hopefully you took the opportunity to experiment with code, adjusting the timings. This time,... Read More . On the Arduino, this involves connecting an LED and resistor to two pins, then uploading about 8 lines of code. That’s it. On the Raspberry Pi — assuming you have a fully functional operating system already installed and set up as you like, you then need to install some libraries to help you control the GPIO pins (that’s the bits you connect components to).

There are lots of libraries to choose from though, depending on which language you want to program in – including visual designers such as Scratch. WiringPi lets you write in the same language that Arduino is derived from. Finally, you may need to compile your app before running it. The point is, you can do nearly everything an Arduino can, on a Pi — it’s just more complicated.


Another important point to remember here is that Arduino is the most popular platform for electronics projects, so even though electronics projects are possible on Raspberry Pi (10 Raspberry Pi Projects for Beginners Raspberry Pi Projects for Beginners Raspberry Pi Projects for Beginners These 10 Raspberry Pi projects for beginners are great for getting an introduction to the hardware and software capabilities of the Pi, and will help you get up and running in no time! Read More ), you won’t find nearly as many beginner tutorials to help you. It might be best to consider the Pi as an upgrade once you’re ready to handle bigger and more demanding projects.

The Raspberry Pi is a mini-computer, the Arduino isn’t. To understand that point a little more clearly, here’s a small selection of operating systems you can install on the Raspberry Pi:

We’ve written about 7 Raspberry Pi Operating Systems previously.


And here’s a list of operating systems you can install on the Arduino:

  • None

So, you’re decided? Great. Start by checking out how to live stream to YouTube with a Pi Live Stream to YouTube With a Raspberry Pi Live Stream to YouTube With a Raspberry Pi By adding a camera module (or USB webcam) to your Raspberry Pi, you get a portable, lightweight web-connected camera. Here's how to stream some footage to YouTube, live. Read More , or how about building a lightning cloud lamp How to Build a Cloud Lamp with Sound Reactive Lightning How to Build a Cloud Lamp with Sound Reactive Lightning A few months back, a $3000 thunder and lightning mood lamp went viral in the maker community. What we'll make today isn't exactly the same - we're making something more practical. Read More with an Arduino? We’ve got an unofficial Raspberry Pi Beginner’s Guide Raspberry Pi: The Unofficial Tutorial Raspberry Pi: The Unofficial Tutorial Whether you're a current Pi owner who wants to learn more or a potential owner of this credit-card size device, this isn't a guide you want to miss. Read More  that should prove helpful, and one for Arduino Getting Started With Arduino: A Beginner's Guide Getting Started With Arduino: A Beginner's Guide Arduino is an open-source electronics prototyping platform based on flexible, easy-to use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Read More , too.

WAIT! Why Choose At All?

Actually, you can have the best of both worlds; the Pi may be a more complex Arduino, and the Arduino can’t really handle as much as the Pi — but have you considered using them together? The – AlaMode project puts a stackable Arduino clone directly on top of the Pi, giving instant access to all the usual Arduino functions.

Pi and Arduino Together

Or if Python is more your thing, just plug your Arduino into the USB of your Pi and communicate with it directly.

I hope you’re clearer on the differences between Arduino and Raspberry Pi now, and why one may be better than the other for a particular application. Show us some of your Arduino/Pi projects in the comments below!

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Nick
    June 27, 2016 at 11:14 pm


    I've got a question on which side of the spectrum my project lies on:

    I want something that can collect and store data from flex sensors for later analysis by computer - AND I want something that can control multiple servos based on a wireless input.

    It seems that these are two pretty different tasks, and if I were to guess, I'd say that this is probably more than a single arduino can handle.

    Do I need a raspberry pi?

    • James Bruce
      June 28, 2016 at 6:34 am

      To store data, you generally want something with storage or network access out of the box, like the Pi. A Pi 3 would also give you Wi-Fi onboard. For multiple servos, you'll need something extra:

      Seems like Python would be a good fit for your project, allowing you to set up a mini webserver, save the data to disk or access it over a website, and gives you GPIO access to deal with the servos.

  2. ali
    May 22, 2016 at 8:55 am

    Great article! Explained a lot to a, not-so-savvy, computer person. Looking to buy the Pi for a couple of young teens, and this was very helpful. Thank you so much! :)


  3. Robnyc
    April 20, 2016 at 10:59 am

    now in 2016 what would you rcommend? Pi?

    • James Bruce
      April 22, 2016 at 6:52 am

      Nothing has changed, yes.

  4. Sam Barro
    March 10, 2016 at 5:17 pm

    My project is to sense whether a few remote switches are either on or off. These switches are mounted a couple feet from the microcontroller/processor (MCP). Thus, I envisage a Bluetooth "sender" device at the switch location, sending a wireless signal to the MCP location, where a "receiver" can read the signal and transfer the information to the MCP. The MCP will basically relay the switch information to a local set of switches, with perhaps some simple logic processing. It's my understanding that such "sender" and "receiver" devices already exist in Bluetooth technology. Important also is that the physical size of the MCP be as small as possible.

    My gut feeliing is that the Arduino would be up to this task, if it can perform simple logic decisions, and especially considering that the Arduino has "wearable" versions that are very small.

    I'd appreciate any suggestions from the group on whether the Arduino is suitable. Thanks in advance.

  5. Pasan
    December 10, 2015 at 5:05 pm

    Correct me please if I'm wrong, I man can you even compare both at all. Arduino is a microcontroller which can pre program to do some specific tasks. Like bunch of Arduinos in a wireless net work as slaves collecting data from sensors or what ever.
    And then you could use a PC or Raspberry to process all the data and log the data.

    So what is the point of comparing both of those at all ?

    • James Bruce
      December 10, 2015 at 8:46 pm

      Not everyone is as smart as we both are, clearly.

      To many people, Raspberry Pi and Arduino are two little circuit boards with a USB port that basically do the same thing. The whole point of this video was to explain the difference, and why they're not the same; to explain which task each is more suited to, and which would be best for a new user.

      • stevo
        August 29, 2016 at 8:39 am

        It's not about smart or dumb, if you are new to the topic, and you simply start searching the web for Pi, a TON of Arduino stuff pops out at you. The newbie can be confused by this (I was) because the two devices can share components, and introductory projects can be similar. Pi get's the Press, not the Arduino, so Pi gets the first search.

  6. Mary Jean Francisco
    September 27, 2015 at 11:13 am

    Im using Arduino for collecting different data from different sensors. I'd like to interpret the data through a Graphical User Interface using Matlab Application. Can an Arduino alone be connected to PC? or should I use both Arduino and Raspberry Pi? Thankssss :)

    • Michael Monteith
      January 6, 2016 at 3:24 pm

      Mary. Yes. Using the USB port would make the most sense. Unless you needed something wireless and then you could use Bluetooth or WiFi.

      • Joe
        April 5, 2016 at 8:05 am

        Yes? There were 2 questions . And your reply is confusing

    • Aloha
      January 31, 2016 at 2:50 pm

      thank u a loooooooooooot Mary Jean Francisco about this question

  7. Aditya
    May 17, 2015 at 3:03 am

    Thankkkkkkkkks a lotttttttttttttttt ,James.

  8. Mark Wall
    March 23, 2015 at 10:42 am

    Good article. Personally I'd get a Pi (I *have* got a Pi) for learning, but James is correct about extra layers of complexity. I set up and maintain Linux servers which made it easy for me, but younger users and those setting out face many challenges

    1. Need to get the OS on - can get cards ready configured but this is easy
    2. Command line - what do you do next? Ahhh, more steps
    3. Install Apache etc to give a web server and database
    4. Install libraries to make the pins work with electronics
    5. Print out a list of which pin means what pin 1 is NOT output pin 1.. easily solved, install WiringPi (I'm being a touch ironic here... this isn't easy if you're new to Linux libraries and module)
    6. buy leads and connect to a breadboard to light up and LED
    7. Figure out where to put files and write some PHP code to control light
    8. Discover Pi has only one hardware PWM pin - download more libraries to get software PWM.. all whilst reading Arduino has multiple hardware PWM pins

    So yes, lighting and dimming multiple LED's would be far easier with Arduino... but I've now got 16 million colour LED light strips controlled from a web page on my 'phone and learned a lot along the way. And it's a web server. And a database server, And an entertainment centre. Arduino for nice easy electronics projects, Pi for a bigger learning curve but more functions and more ways to control it.

  9. Abwhyte
    February 25, 2015 at 5:24 am

    Believe me, i am still in a haze! Why get a raspberry pi to connect to your pc when you can do all the stuff on that same pc without a raspberry pi? I don't still get it.

    • James Bruce
      February 25, 2015 at 7:48 am

      I'm not sure where you're reading that you connect a Raspberry Pi to a PC; the whole point is that it's a cheap machine that can be embedded other places, saving the cost of putting a complete PC to do the same job.

  10. abhi
    February 3, 2015 at 1:53 pm

    can i perform image processing tasks using pi?please suggest

    • ZZI
      September 7, 2016 at 11:46 pm

      You could certainly try, but don't forget the Pi is a $35 computer. It can't compete with a full computer, and its graphics chip is optimized for media playback, not color accuracy.

      I'm going to go ahead and say you should probably spend a few hundred dollars to make a budget desktop if you want to use programs such as Photoshop or GIMP successfully, even if they'll be laggy when doing so. The Pi can probably do editing in Pixlr without that much issue, though, so long as you get the new Pi 3. Forget the older ones; they're probably not going to cut it. And of course, you should probably go for he lightest Linux distro you can find.

  11. Auto phill
    September 26, 2013 at 9:20 pm

    Thank you. A great comparison. It's the controller for me. Plus a couple of Xbees to enable my early computing to do something really smart!

  12. Suncat2000
    September 20, 2013 at 12:41 pm

    Then I stand corrected. A beginner would have difficulty with both.

  13. Suncat2000
    September 19, 2013 at 2:06 pm

    The best choice for a beginner, with no programming knowledge nor experience, would be the Raspberry Pi. Speaking from experience, the fewer number of parts that have to be assembled, the more likely a project will be completed. The Arduino is pretty cool, but you will need many additional parts and technical knowledge to get it to do something useful successfully, plus a computer to upload its program: in short, too many pieces for a simple introduction to electronics. Let her learn with a few simple parts, gain some confidence in accomplishment, and build a little at a time without lots confusing terms, parts, design, and construction all at once.

    • James B
      September 19, 2013 at 2:11 pm

      Well speaking from experience as being one of those beginners who has used both systems, I completely disagree. It is far harder to get started doing anything with a Pi; you need to install an OS, download a programming IDE and figure out which language you want to write in, figure out to interface with the GPIO, then deal with having just 3.3v and the increased potentially of frying the Pi with more standard voltages.

  14. Howard
    September 15, 2013 at 7:41 am

    Thank you for your clear description of the differences. For one who had previously only eaten raspberry pie i found it very helpful.

  15. once
    September 11, 2013 at 4:33 pm

    tks soso much~~
    i m a looooooooot more clear now
    just...let me check out what's difference bw microcontroller and microcomputer XDD

  16. Meinereiner
    August 27, 2013 at 6:52 am

    Thanks for this great article!
    Theoretically speaking, what parts are missing to make the arduino a full mini computer?
    Or asking another way: isn't a computer something which is able to do what a turing machine can do, so what can a turing machine do , what a arduino can't?

    • MakeUseOf TechGuy
      August 27, 2013 at 8:15 am

      It's significantly less powerful than a mini-computer, but ultimately, sure, they are of the same breed. Comparing either to a theoretical machine invented for philosophical arguments isn't productive though..

      In short, they lack the power, instruction set, architecture, and memory required to be what we would today call a "computer". 50 years ago, the Arduino would have been the most powerful computer around.

    • electro boy
      November 7, 2013 at 2:07 am

      The arduino is based on a microcontroller. Microcontroller's are programmed with a particular task in mind.

      The Pi is based on an processor. Processor's, process the information that is given to them and is therefore far most versatile.

      A Pi is nicknamed a mini computer because it has all of the components of a normal computer and acts like one too; unlike the arduino

  17. Adam
    July 16, 2013 at 4:30 am

    I am working on a robotic project with two 24v motors. Would the Arduino work as a motor controller for both of them? Thanks for the great explanation!

    • MakeUseOf TechGuy
      July 16, 2013 at 7:42 am

      Not directly, no. It would act as a controller for everything as long as you connected the correct drivers for those motors, but directly it cannot power motors like that.

  18. Muhannad Agha
    June 21, 2013 at 1:53 pm

    This was really helpful, thank you so much!

  19. Patrick J
    May 27, 2013 at 10:32 am

    Well, Raspberry Pi is for a whole lot of purposes. Making electronic projects is one of them, thanks to the USB and GPIO ports. But Arduino is just for making electronic projects. Even though both will be a geek's choice, but for different reasons. Otherwise for a normal person, the former is the best thing to get started.

  20. Doc
    May 27, 2013 at 6:09 am

    "functionality of the Rapsberry Pi." Whoops.

    • MakeUseOf TechGuy
      May 27, 2013 at 8:13 am

      Oh, you don't know? that's the nickname for the new model.


      • Doc
        May 27, 2013 at 5:23 pm


  21. null
    May 25, 2013 at 1:17 pm

    The Pi requires a normal SD card, not micro SD. Please fix this. Micro SD can be utillised by using a Micro SD to SD converter.

    • comspec
      December 16, 2014 at 12:55 pm

      Actually the new Raspberry pi model B+ uses a micro SD.
      The "old" model A and Model B use normal SD cards

  22. Nick Boorer
    May 25, 2013 at 7:47 am

    I am considering buying one of these for my 12-year-old niece. I would really like some guidance about what would provide a more enriching and accessible learning experience for someone of that age with, as far as I know, no programming knowledge or experience. I do not want it to end up as an interesting paperweight.

    • James Bruce
      May 25, 2013 at 8:17 am

      An Arduino? Then I would recommend one of these starter kits: - comes with very easy to understand diagrams, about 10 projects, and a range of components to teach her the basics.

      If you're thinking a Pi instead, I wouldn't recommend it. She can already learn "programming" easily on a family computer.

      • macwitty
        May 25, 2013 at 1:52 pm

        Thanks James, even if we are not 12 I think that starter kits will work for us too. We have decided to buy one to make a common summer project with friends and their children

    • Harold
      November 4, 2013 at 11:35 pm

      If you were to get her something, try the Vilros Arduino Uno pack, I started with that one. It gives a couple things like a small IC and some other components. (Including an Uno of course).

    • Tim
      December 19, 2014 at 3:33 pm

      I completely take James Bruce's point, that programming skills can be learned on a home desktop (or laptop) PC, but I also feel there's mileage in the discovery that a computer isn't a big mysterious magic box, but a defined set of components all wired together, and (ignoring the peripherals) the actual computer doesn't have to be very big.

      If one can afford a pi without breaking the bank, a child can have their own little computer for their own projects and really feel they have ownership of it (without the necessity of buying them their own laptop with all the cost and complexity that entails).

      Just a thought.

  23. Rajaa Chowdhury
    May 25, 2013 at 1:24 am

    Awesome read as usual James. :) Bookmarked it too.

  24. dragonmouth
    May 24, 2013 at 11:06 pm

    Not to be pedantic or picky but Raspberry Pi is not a "mini-computer". It may be a 'mini-PC' or a "mini-micro" or maybe if you stretch the definition a lot, a "micro-computer". "Mini-computers" were smaller computers developed for small businesses that could not or did not want to pay for a mainframe. The PDP-8 and PDP-11 series from Digital Equipment Corp are a good example of "mini-computers".

    • muotechguy
      May 25, 2013 at 7:06 am

      Does that definition still qualify in modern parlance? There's a probably a lot of technical terms that have since been redefined from the days when a computer was the size of a room. I mean, wouldn't all computers be "mini" compared to those beasts?

      • dragonmouth
        May 25, 2013 at 1:18 pm

        "I mean, wouldn’t all computers be “mini” compared to those beasts?"
        Is a Beowulf Cluster considered one "computer" or a bunch of micros strung together?

        To paraphrase "A Raspberry Pi by any other name is still a Raspberry Pi""

        • null
          June 26, 2013 at 7:57 am

          ROFL! sorry..just had to laugh.

    • Arjan
      December 28, 2014 at 1:24 pm

      How can something not be a mini-computer, but can be a "mini-PC" e.q. mini-personal-computer?

  25. Guy McDowell
    May 24, 2013 at 9:53 pm

    Good article and timely. The general public is starting to become aware of Pi and Arduino, sort of.

    I haven't purchased either yet, but I will be. For the exact reasons you stated. An Arduino for making prototypes of devices that are pretty much single function, hence they only really need a controller. And a RaspberryPi as a media center or for other places in the house where I'd like a computer, but with a smaller form factor and price tag than other computers.