Arduino vs Raspberry Pi
What is a Raspberry Pi?
Raspberry Pi board is a fully functional computer or full-fledged credit card sized. It has all the trappings of a computer, with a dedicated memory, processor, and a graphics card for output through HDMI. It even runs a specially designed version of the Linux operating system and it is easy to install in most Linux software, and used the Raspberry Pi as a functioning video game emulator or media streamer with a bit of effort.
Though the Raspberry Pi doesn’t offer internal storage, we can use SD cards as the flash memory in the total system, allowing you to quickly swap out different versions of the operating system or software updates to debug. Because of this device is independent network connectivity, you can also set it up to access via SSH, or transfer files to it using FTP. It is having 512 MB RAM, 700 MHz microprocessor and hardware support for SPI, I2C and Serial.
Following are some of the main advantages of Raspberry Pi
- It is very easy to connect to the internet
- Entire Linux softwarestack is available
- Can be programmed using a variety of programming languages
Following are some of the main limitations of Raspberry Pi
- Accessing hardware is not a real-time. If the CPU is busy, then interfacing with the hardware can be delayed
- Does not have enough power to drive inductive loads
- There is no inbuilt Analog to Digital converter available
- The hardware design is not open source. Even though it is not a big deal, for some people it might a deal breaker
When to Use & Not Use Raspberry Pi
If your project is very limited hardware interaction, but is slightly complex on the software side or need to be connected to the internet then you should just go with Raspberry Pi. Also, if you want to program using a variety of programming languages, then you should choose Raspberry Pi.
On the other hand, if your project requires a lot of hardware interfaces and need to read data from a lot of sensors or need to control lot of devices, then Raspberry Pi may not be the best choice.
What is an Arduino?
Arduino is a collection of three things. There are Hardware prototype platform, Arduino language and IDE & libraries. The Arduino boards are micro-controllers, not a full-fledged computer. They don’t run a full operating system, but simply write the code and execute as their firmware interprets it.
The main purpose of the Arduino board is to interface with the devices and sensors, so it’s great for hardware projects in which you simply want things to respond various sensor readings and manual input. This may not seem to be a lot, but it is actually a very sophisticated system that allows you to better manage your devices. It is great for interfacing with other devices and actuators, where a full operating system would be overload for handling simple read and response actions. It has 8-bit AVR microcontroller and hardware support for SPI, I2C and Serial.
Following are some of the main advantages of Arduino.
- Very easy to get started.
- Can be used for real-time applications for both hardware, software and IDE is open source.
- Not much programming knowledge needed to do basic stuff.
- It is very easy to extend and has tons of user contributed shields and libraries. Shields are available to do attractive much anything.
Following are some of the main limitations of Arduino.
- It is not very powerful when compared with Raspberry Pi
- You need to program using either Arduino or C/C++
- Connecting to the internet is slightly difficult, but not impossible. Parsing of Arduino with YQL and JSON is possible.
When to Use & Not Use Arduino
- If your project requires you to interact with a lot of external hardware requirements, then you should consider using Arduino.
- On the other hand, if your project requires a lot, so you have to write a complex software entire software stack or protocols, then Arduino may not be the best options.