There are two common platforms which seem very common for IoT projects: Arduino Uno and Raspberry Pi. How would I decide which one would be most suitable for a specific project?

I haven't got a specific problem in mind, rather I'm trying to understand what the difference between these types of product are, and how I should go about starting to chose the best hardware for building a project if I want to do it 'right'.

To clarify on the 'different models of Raspberry Pi', this question is more about the OS that the platform runs, Bare-metal/RTOS, or a conventional Linux distribution. Accept that within both SBC and MCU categories, there is a large spread of performance and peripherals to chose from in focusing on any one precise device.

  • What's your specific use case/goal? We can give you much more specific and useful advice if you specify what you're trying to achieve, and although you've already got a good answer, you could get a solution more tailored to you if you edit with your goals. Questions like this where you're just asking 'which is better?' without criteria are often closed, but this could be a useful question, so please do edit with your specific use case. Good luck!
    – Aurora0001
    Sep 25, 2017 at 15:15
  • 1
    Among the two: SUV or city car, which one is better for almost any driving situation and why? Could you please let me know?
    – frarugi87
    Sep 25, 2017 at 15:39
  • 3
    This should be closed as too broad, since that's exactly what it is. You can't simply put all possible scenario's in the same box like this.
    – Mast
    Sep 25, 2017 at 15:45
  • 1
    Don't ever use words like "best" or "better" on S.E sites, as your question is likely to be closed as "primarily opinion based". There is no "correct" answer to this question as it stands. Sep 25, 2017 at 15:46
  • 1
    Related/near duplicate : iot.stackexchange.com/questions/1425/… Sep 26, 2017 at 7:38

2 Answers 2


This is widely discussed over the net, but, those are different things. Which one is better, it will depend on what you're building.

My way of choice is:

If I want device that reads a sensor and display the data and send it to a webservice, get an arduino (or much better, a ESP8266 or equal device that already have WiFi)

If I want (one or more of this) to get data from multiple sources, fetch it from the web (like weather forecast), store a database, etc. I will get a pi.

Here is a link that list all the boards and have some filter options.

Here is a link that explains pros and cons of both.

  • 1
    This is the 'right' answer to a very general question. The hub device may be an 'rich-OS' device running Linux or similar, the sensor endpoint is much more likely to be a good fit to an MCU with better real-time characteristics. Assuming the software is not at issue, and you want an optimised system architecture. Sep 26, 2017 at 7:44
  • 1
    Great addition. Also, If you want power optimization (if running on batteries) on the endpoint, it's a good idea to get rid of wifi and go for RF.
    – Luis Diaz
    Sep 26, 2017 at 7:54

Personally I use an Arduino for prototyping an IoT idea. There are far fewer overheads to getting a basic concept up and running plus the licenced 3rd party boards are extremely cheap. Once the idea has been proven I then migrate it over to a Pi, which in itself is a challenging activity. There are probably people out there who do it the other way round but from a hardware perspective, Arduino always wins for me as it's had built in analogue to digital capability (something sadly lacking from the Pi).

  • I'm curious about why you would migrate back to a Pi if the Arduino is a good fit... Sep 27, 2017 at 8:27
  • 1
    That's a perfectly reasonable question. I like using the Arduino for prototyping but for the finished product I much prefer the Pi and the huge selection of Python libraries available. The Pi allows me to build a more finished solution with better security and a more stable web connection.
    – Adam893
    Sep 27, 2017 at 10:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.