Microcontroller is designed to perform specific tasks based on the inputs given and does some processing and returns a result where it could perform single thread operation.

The best example would be a washing machine where the specified task (washing) is always going to be the same based on the input given by the end-user.

The basic example of a MICROPROCESSOR would be a computer where it acts like a CPU. It could perform several multi-thread operations like mathematical calculation, web browsing, gaming and lots more…

Okay, Let’s dive into Arduino vs Raspberry Pi …

There are a large number of control boards two of the most popular are the Arduino(MICROCONTROLLER) and Raspberry PI(MICROPROCESSOR)

If we take a look on the product page of the control boards there is going to be several boards,

Arduino – uses microcontroller

Arduino has no interpreter, no operating system, no firmware.

Basically requires to connect to a computer for uploading the operation that has to be done. Which uses C code where it is compiled to machine language and runs in the Arduino.

You can run Node.js code on it using the Johnny-five project, which is pretty cool.

Arduino is good at interacting with the input and output as they are just a set of repeated instruction, they are a bit fast.

The memory, I/O ports, timers, serial interface all are connected internally to the Arduino board. Arduino is cheap in cost.

Raspberry PI – Uses microprocessor

Raspberry Pi is a series of single-board computers. You could use Noobs to install Linux(raspbian) as operating system. Where you code using python, java, Node-RED, Sonic PI, Mathematica, Wolfram, etc. Raspbian has an Inbuilt IDE. There is a list of operating system which you can install based on your comfort

Noobs ( New out of the box Software) – It is an easy installer for raspbian(Linux) operating system.

Debian with Raspberry Pi Desktop is the Foundation’s operating system for PC and Mac. You can create a live disc, run it in a virtual machine, or even install it on your computer.

Raspberry PI is good at processing and advanced mathematical computations. Which allows them to connect with audio and videos. communicating with other devices is easy.

Has weak input and output which requires transistors to drive the hardware. The memory, I/O ports, timers, serial interface has to be connected externally to the board Raspberry Pi is a bit costly when compared with Arduino.

Raspberry PI uses a microprocessor so it has an operating system itself but needs an application or software to program, it has to pass through multiple levels so basically is slow when compared with Arduino.

Detailed specification

Conclusion

After having a look at the specification chart. Most of the people would prefer getting a raspberry pi … But it depends on what kind of project you choose? Arduino is always the best choice to communicate with sensors. Raspberry pi are always good at multi-processing.