Arduino is a simple development kit and prototyping tool to use its cheap MCU in projects, and proved to be a valuable “kit” as standalone, as its also very cheap and easy to use, with lots of “shields”.
Raspberry Pi is a SOC, employing GPIO like Arduino. It is not useful as a development kit; as building or prototyping on ARM using, say, Python, and trying to move it to a cheap soc like mediatek’s does not make sense.
The key differences can be classified in to two i.e.,
- The Raspberry Pi 3+ uses a Broadcom BCM2837B0 SoC with a 1.4 GHz 64-bit quad-core ARM Cortex-A53 processor where most arduino boards use 8-bit atmel micro controllers.
- You can show out graphics and movies after attaching an LCD in which Arduino cannot do it obviously.
- Using many features that can be done in Raspberry Pi simultaneously like using Bluetooth, WIFI, Ethernet networking, and USB at the same time, you can do each of them in Arduino individually using a shield for each feature but not simultaneously as most of the shields cannot accept other shields to be installed over it.
- Its high processing speed enables it to get rid of some circuits like the PWM circuit as it could do it using a simple software code that will not delay the processor much as in Arduino, so you can extend your capabilities even if you do not have the hardware to do it as long as your GPIO pins are available enough, of course, you cannot bypass some circuits like analog reading as it needs a hardware and cannot be programmed.
- Arduino has in built memory where in Pi we need to insert SD card.
- Raspberry pi can be programmed as you program your laptop, it is not limited to a certain language like C in Arduino where Pi can be programmed using different languages including C, like python, java , C++, etc. Also, you can install a meta-operating system like ROS for robotic applications that need a direct connection with sensors through pins in some cases.
- Although Arduino can do multi-threading using FreeRTOS,Chibi Os etc., the pi is more reliable and faster it can process images, read sensors, take decisions and command actuators simultaneously.
- You can utilize Pi as a web server as you can install an apache , nginx etc., on it.
- You can use raspberry pi as full pledged computer.
Now let’s come to the original question
Apart from processor speed and memory size, an Arduino is capable of anything a Raspbery Pi can do. but we need to spend a lot of money on Arduino shields to get SD storage, four USB ports, a keyboard, mouse, HDMI screen and a camera interface etc., and that to we can’t use all of them at once. we have to research and include a lot of third party libraries to get multi-tasking and other facilities that Linux. As a result, a program of any great complexity would be harder to program on the Arduino and memory size of arduino is also less when compared Pi.
Though it is easier to do realtime on the Arduino, as programming on the bare Raspberry Pi hardware with out an OS is a bit of a challenge.The Raspberry Pi is a mini-computer, the Arduino isn’t .
Check our awesome projects compilation with raspberry Pi.