Arduino vs Raspberry Pi: What's the best hardware for IoT prototyping?

05.11.2021
guide-image

Choosing the right hardware is one of the key questions for building any IoT solution. This decision directly impacts important factors like the functionality, security and scalability of your IoT project. For prototyping and piloting purposes, Raspberry Pi models and Arduino boards are the most common choices, but which one is the best for your solution? You’re about to find out.

What is an Arduino and a Raspberry Pi?

Arduino Raspberry Pi
An Arduino board is a micro controller able to read inputs and execute simple tasks like activating a motor, sending an SMS, reading temperature, etc. programmed though an open-source software. A Raspberry Pi is basically a small scale computer, which runs on a full OS (Linux based), capable of reading inputs and running programs.

For the purpose of comparison, we will look at the Raspberry Pi model 3 and the Arduino Uno, one of the most popular Arduino boards. While a newer version, the Raspberry Pi model 4 exists, the model 3 still shares the same or very similar features that are important in IoT while being more affordable and less power consuming compared to the Model 4. In addition, the model 3 benefits from a significantly larger amount of documentation and support.

Computing Power

The most important question you will need to answer is - What task(s) does your hardware need to do?  

Arduino 

The Arduino Uno typically uses an ATmega328 chip operating at 16MHz with 2KB RAM, 1KB of EEPROM and 32KB flash memory. It can perform simple, single tasks one at a time. For example, streaming input data via cellular as its received by the Arduino would not be possible.

Raspberry Pi 

The Raspberry Pi, as explained earlier, comes with a full-fledged OS, a 1.2GHz 64-bit quad-core ARM Coretx-A53 processor and 512MB RAM, a 32GB SD card and ports for USB and HDMI. It's more powerful than the Arduino Uno and capable of running multiple programs and execute many tasks simultaneously.  

I/O and interfaces

RaspberryPi 3BArduino Uno

Arduino  

The Arduino UNO comes with 14 digital input/output pins, 6 of which can be used as PWM outputs, and 6 analog input pins. PWM, short for pulse width modulation, can be used to create analog signals by digital means, which can be used to create audio signals or providing variable speed control for motors. A USB type B port is used to connect the Arduino to a laptop/computer, where you can use the Arduino IDE software to program it. It does not support a visual output interface through which data could be displayed.

Raspberry Pi 

The Raspberry Pi 3 has 40 pins on board, two of which are 5V power pins directly connected to the power input and another two 3.3V. The 5V power input pins can be used for power supply in low power applications. The 3.3V pins may power other components like blinking LEDs indicating activity, but they cannot be used to power the Raspberry Pi. Apart from the 8 ground pins, there are 28 GPIO (general purpose input/output) pins, meaning they can all act as either input or output pins. Furthermore, the Raspberry Pi 3 has a built-in Ethernet port, two USB 3.0 and two USB 2.0 ports as well as an HDMI output. 

Power consumption 

Power supply is one of the critical aspects of  IoT. If your devices are deployed at locations with no power supply or only send data every now and then, batteries might be the right option.  

Arduino 

The Arduino Uno can be powered with a 9V battery, making it ideal for low-power applications. It also does not need a proper bootup process as it runs the moment it is connected to a power source.  

Raspberry Pi  

The Raspberry Pi model 3 in contrast, requires a proper boot-up and shut-down protocol, much like your computer. Its power consumption is also significantly higher (~700mW) compared to the Arduino Uno (~150mW), making it unfavorable for a battery powered IoT solution. 

External hardware compatibility 

Both the Arduino Uno and Raspberry Pi 3 can be equipped with shields to add functionality, like cellular connectivity. While the Raspberry Pi 3 already has connectivity (Wi-Fi, Bluetooth) and different interfaces in the base model, the Arduino Uno requires more shields, which can be connected to the I/O pins. Depending on the use-case, many shields may be required, which can impact the price of the development boards.

RaspberryPi_Closeup

Developer support 

When working with new hardware and software, rich documentation and support is crucial for efficient development and speed of deployment. Both the Raspberry Pi and the Arduino Uno were originally designed for educational purposes, meaning that both come with a full documentation on hardware and software.

Arduino

Arduino group  offers an active forum covering projects, development, software, and community questions. Their documentation includes quick-start guides, datasheets, pin schematics and suggested open-source libraries.

Raspberry Pi

The Raspberry Pi foundation provides courses for beginners, tutorials on the configuration and applications for Raspberry Pis. Abundant user guides to all accessories / shields and an active support forum are also available.   Apart from the in-house support , several independent creators offer video tutorials on YouTube or documentation on other forums.
 EMnify Imagery-18

Cost

Hardware costs are an important factor when building an IoT solution. Even for prototyping and piloting purposes with 10-100 devices, development boards and necessary add-on shields can become expensive.

The basic Arduino Uno board costs around 20-25$, whereas the Raspberry Pi 3, being one of the newer models, costs around 35-40$. While the Arduino might seem like the preferred choice, one must keep in mind that it requires add-on shields for any extra functionality, like connectivity. Also, as discussed above, the Raspberry Pi comes with more processing power and capabilities compared to the Arduino, making it ideal for more complex IoT solutions.

Summary 

Features Arduino Uno Raspberry Pi 3
Computing Power ATmega328 chip 16MHz, 2KB RAM, 1KB EEPROM, 32KB flash memory Raspbian OS (Linux based), 1.2GHz 64-bit-quad-core ARM Coretx-A53, 512MB RAM, 32GB SD card.
I / O Interfaces 14 digital I/O pins, 6 analog input pins, USB type B 40 pins total (28 GPIO, 2x 5V power input, 2x 3.3V power output, 8 ground pins), 2x USB 3.0, 2x USB 2.0, HDMI
Power Consumption Low power consumption. Standard AC plug 7-12V. Alternatively 9V battery is sufficient High power consumption. Standard AC wall plug, only low power applications can be powered through the 5.5V power pins.
External hardware compatibility Requires shields for any type of connectivity (Wi-Fi, Bluetooth, cellular) Wi-Fi and Bluetooth are integrated. Cellular connectivity requires add-on shield
Developer Support Rich documentation and active forum. Video tutorials of independent creators are also available Rich documentation and active forum. Video tutorials of independent creators are also available
Cost 20-25$ 35-40

Arduino_RPi_Cost

Use-cases 

As we have seen, both the Raspberry Pi 3 and the Arduino Uno have their strengths and weaknesses. In the end, the right choice is highly dependent on your device requirements / limitations. Prototyping and deploying small, battery-run weather sensors to remote locations where they occasionally measure humidity, temperature could be an ideal use-case for an Arduino Uno. More complex tasks can be handled by a Raspberry Pi, like acting as an aggregator of many individual sensor data and as a gateway to your backend application. 

More ways to optimize your IoT solution 

The right hardware choice, whether its Arduino or Raspberry Pi, provides incredible value to your business by reducing developer hours, time-to-market and troubleshooting incidents. Choosing the right hardware, however, is just the first step to future-proof your IoT application.

 

All cellular IoT solutions require a reliable and secure connectivity partner that understands individual needs – providing tailored data plans,  and a powerful platform that is built to scale easily with automated connectivity management via API and no-code integrations. 

Want to start prototyping your devices with the best cellular connectivity for global IoT?  

Order your free trial kit today and start testing our platform with 3 free SIM cards and a balance of 10€.