Currently there are numerous Arduino and Arduino compatible boards available, this post will do a quick comparison between 3 of these boards (Arduino UNO R3, Arduino Mega R3 and the Beetle which is a shrunk down version of the Arduino Leonardo) and then also a quick comparison between Arduino and Raspberry Pi Board Families.
The below picture illustrates the size difference between the Arduino boards:
Here is a basic breakdown of the specifications of the three boards:
Specification | UNO R3 | MEGA R3 | Beetle |
Processor | ATmega328P | ATmega2560 | Atmega32U4 |
Frequency | 16 MHz | 16 MHz | 16 MHz |
Dimensions | 68.6 mm × 53.3 mm | 101.6 mm × 53.3 mm | 20mm X 22mm |
Manufacturer | Arduino | Arduino | DFRobot |
Flash Memory | 32kB | 256kB | 32kB |
SRAM | 2kB | 8kB | 2.5kB |
Digital I/O Pins | 14 | 54 | 3 |
Analog Pins | 6 | 16 | 3 |
The Arduino UNO is a good starting point for anyone interested in beginning some Arduino builds, it is a good all round board for most projects and the only real constraint that I have ever run into with this board is running out of digital I/O and Analog input pins for larger projects.
The Arduino Mega overcomes this problem by offering more than double the pins. From a development and ease of use point of view it is almost identical to the UNO.
The Beetle has the least amount of pins exposed, 6 in total, 3 digital and 3 analog, so this can be a serious constraint on the nature of project it can be used for. On the other hand its tiny size makes it possible to use this board in projects where physical size is a constraint (Such as the Insect bot I posted about in an earlier post).
Now lets look at the Raspberry Pi (Raspberry Pi 2 B to be precise) in comparison to the Arduino boards. Below are 2 Pictures showing its size in comparison to the Arduino UNO and Mega.
Here is a basic specification breakdown for the Raspberry Pi (Raspberry 2 B):
Specification | Raspberry Pi 2 B |
Processor | Cortex-A7 |
Frequency | 900 MHz quad-core |
Dimensions | 85.60 mm × 56.5 mm |
Manufacturer | Raspberry Pi Foundation |
Flash Memory | MicroSD slot |
SDRAM | 1GB |
So, which should you use? Arduino or Raspberry Pi? The answer is… It depends. Both boards have their strong and weak points. Let us look at some key distinguishing points between the two board families:
- Price
- The Arduino boards tend to cost a lot less than Raspberry Pi boards.
- Memory
- Raspberry Pi Boards have vastly more memory.
- Processing Power
- Raspberry Pi Boards again win this one by a huge margin.
- Ease of Hardware interfacing
- Arduino Boards make direct hardware interfaces with sensors and actuators much easier.
- Online community
- Both have a strong and thriving online community for help and support.
- Development
- Arduino is C only using the free Arduino IDE where as the Raspberry Pi has a variety of development options, including Python, Java, C, C++.
The Arduino makes hardware interfacing with sensors and actuators a great deal easier. However the Raspberry Pi offers vastly more memory and processing power. So which one to use depends very much on your projects’ requirements.
To put it simply there is no right or wrong choice, use what works for you or simply what you want to use.
This does however not mean that you cannot use both on a single project by setting up serial communication between the 2 boards. I am currently busy doing this on a project (see The Geek under the THE KILLER ROBOTICS FAMILY SO FAR! post).