There are so many different types of processor/controlling boards that you can use for your projects. From that bucket, two of the most commonly used controller boards are Arduino and the Raspberry Pi. So which micro controller is best for your project? Arduino or Raspberry Pi?
For Beginners who are getting started with Electronics Hobby circuits and Robotics, both these boards LOOK similar. In this post, we’re going to take a deeper look at the differences between Arduino and Raspberry Pi and how to choose one for your project.
Arduino or Raspberry Pi For My Project?
What is Arduino
Arduino is actually an open-source platform with easily programmable microcontroller boards, combining the power of strong microcontrollers and user-friendly IDEs where you can write and upload programmes, which runs on your computers. Due to its low price and low power consumption, it is effectively used in various industries, robotics, and home automation projects.
When people say they have Arduino board, they’re probably talking about the UNO. It’s the perfect microcontroller board for beginners Arduino Projects. You can get them from Amazon for a cheap price.
Parts of Arduino
All the Arduino boards are powered by a microcontroller chip, which contains RAM, FLASH memory, timers and various hardware that supports communication protocols like serial, I2C, and SPI. On the outside, there are voltage regulators, passive components and the GPIO connectors. It is a relatively simple design with an even simpler software structure. The GPIO Pins can be used to connect various sensors to take input as well as output devices like LEDs and motors.
What is Raspberry Pi
Raspberry Pi is a
Raspberry Pi is a
There are so many
Parts of Raspberry Pi
Even though Raspberry pi is so small, it contains all the components that
On the right side we have 4 USB 2 ports where we can connect our mouse, keyboard,
Then we have ethernet port where we can connect ethernet cable for network access.
A 3.5 mm jack from where we get the audio output and composite video output,
The whole pi is powered by this
A POE connector This is where we connect the POE hat for powering it up with
Raspberry Pi and GPIO Pin
Introduction of GPIO pin was something that changed the way we look into these Single Board Computers.
Like Arduino, these pins allows us to interact with
Using these pins we can control DC motors, Servo motors, LEDS and create fully automated or remote controlled robots, home automation and all kind of stuffs.
Behaviour of these pins – Whether it is input or output pin, can be controlled programmatically using python.
There are some pins which can be used for special purposes like giving out PWM signals to control servo motors or act as I2C interface etc.
Now Lets take a look at the differences between Raspberry Pi and Arduino on various Aspects
Differences Between Arduino and Raspberry Pi
Based on Processing – Arduino Vs Raspberry Pi
Arduino is powered by a Micro Controller. What is a Micro controller? Well, a microcontroller is like a tiny computer within a chip; a single chip that contains memory, timers and some dedicated general purpose and special purpose IO pins. They are widely used embedded systems, robotics and home automation projects where GPIO Pins are specific. Specific? Well, I will get back to that in a minute.
Raspberry Pi is powered by a Micro Processor. Microprocessors are for general purpose and are not made for a particular task but they performs tasks that are more complex and require hard work such as complex algorithms, software development, games etc. That means Raspberry Pi is more similar to the CPU of your computer. Raspberry Pi has a clock speed that is almost 40 times faster than Arduino.
Based on Coding – Arduino Vs Raspberry Pi
In Arduino, The code that you write in the Arduino IDE, which is a simple code editor, is the one and only code that runs on the microcontroller board. Your C-code is compiled into machine language and then it runs on the Arduino in a loop. This code will start from the beginning when we power on the micro controller and will run again and again until it is powered off.
Raspberry Pi has an OS inside which, we write the code, which can be executed whenever necessary. It can run multiple programs at the same time. Most commonly used OS is Linux and the language we use to write the code to control GPIO pins is Python.
Based on GPIO Capabilities – Arduino Vs Raspberry Pi
Arduino (UNO) can provide upto 40 Milli Ampere Current through its GPIO Pins. Input/Output pins works with 5V as well as 3.3V depending up on the board you are using. There is an inbuilt ADC for most of the Arduino Boards that enable us to take analog readings from sensors such as accelerometer or temperature sensor. It also have multiple dedicated PWM pins for controlling the speed of DC motor or controlling Servo Motors.
Raspberry Pi can provide a maximum of 5 Milli Amps through its GPIO Pins. One major disadvantage of Raspberry Pi is that all the pins in the Raspberry Pi GPIO pinset are Digital. It cannot be used to take analog voltage input. If you want to take analog input, you will have to use an external ADC. Input/Output pins works under 3.3V. Providing a voltage above that can burn off your board. Here, there are 4 hardware PWM pins and all the pins can be used as Software PWM pins. More details on Raspberry Pi GPIO can be found here.
Based on Power Consumption – Arduino Vs Raspberry Pi
Arduino – In case of Arduino power requirement is much simple. Since it consumes very less power, you can power it with a mobile phone power bank for days or you can simply connect it to your PCs USB port and your code will start running immediately. If the power supply is interrupted, all you have to do is restart the entire board. Arduino doesn’t need a shutdown process.
Raspberry Pi – Raspberry Pi consumes comparatively more power when compared to that of Arduino. Raspberry Pi should be powered down properly by shutting down. If the power supply is interrupted, the file system may get corrupted.
Note: Power Consumption depends upon the processes, hardwares and addon boards used with the board. If you are using more accessory/sensor boards with your Arduino/Raspberry Pi, current usage will be further increased.
Based on Cost – Arduino Vs Raspberry Pi
Arduino have many types of boards which varies widely with functionality and cost. Arduino clones are available in the market which more or less does the same job as that of genuine arduino and are much cheaper.
Raspberry Pi also have boards that ranges from 5$ to 35$ in the market but unlike Arduino, clones are not available.
Based on Connectivity – Arduino Vs Raspberry Pi
Arduino – Well, talking about connectivity, there are so many different types of boards for Arduino. Each board has its own way to connect to other devices. For example Arduino MKR 1000 has inbuilt WiFi chipset which will enable use to connect to other devices via WiFi and send/receive network data packets. Arduino GSM 1400 has inbuilt GSM module which will enable us to put SIM cards into the board and make phone calls or send messages using GSM network.
Raspberry Pi – Raspberry Pi comes with builtin ethernet port, WiFi as well as Bluetooth connectivity. You can use it as a router, switch, VPN Server/Client, WiFi access point or anything you can do with a Linux machine.
Note: There are many modules (GSM Modules, GPS Modules, WiFi/Bluetooth Modules etc..) that are compatible with both arduino and Raspberry Pi which will extend their connectivity. There are various communication protocols such as SPI, I2C that are supported by both boards which can be used to extend the capabilities by enabling communication with Ad on boards or get data from sensor modules such as Ultra sonic sensor, accelerometer etc..
Arduino or Raspberry Pi for my Project?
The question still remains. Which one is best for my project? Arduino or Raspberry Pi?
Well that depends entirely on the complexity and application of your project. If you want to build a simple burglar alarm that triggers a buzzer when some one opens a door, you can do that easily with an Arduino. If you want to trigger the buzzer, take a photo using a webcam and send to you as a mail, you should go for Raspberry Pi.
If you are a beginner and you are getting started with simple hobby circuits or robots such as line follower, burglar alarm, automatic night lamp and if you are trying to get familiarize with components, simple modules and coding, I would tell you to go for Arduino.
If you want to try more advanced robotics, home automation, IOT and network level application such as setting up VPNs, WiFi networks or if you want to try things like image processing and all or if you have a lot of data to be processed, complex math to be performed, you should definitely go with Raspberry Pi.
I hope now you have an answer for your Question – Raspberry Pi or Arduino for my project. Hope this post was useful.