Arduino vs Raspberry Pi
Arduino VS Raspberry Pi
Arduino VS Raspberry Pi
During my presentations at teacher's conferences as well at various Maker fair I always being asked from most of beginners -
3. Where do I use Arduino?
4. What is best place to start for beginners?
5. Which is better for my project?
In past couple of years the difference between those two are narrowing down as technology advances. Most of things, what Pi can accomplished can be done through Arduino and vise versa for the beginners. Which is main reason for the confusion.
As an engineers, I can say they are very different technically. Though I would not expect a beginner to understand technical specs and that is why I decided to write this blog in layman's term. That makes easy for educators, hobbyist and students who are starting their journey.
Microcontroller vs Microprocessor
The Arduino is based on Micro-controller traditionally. As new family of Arduino are coming with processor & FPGAs. While Raspberry Pi is micro-processors based computer technically knows as System On Chip (SoC) type.
For an example, all the application specific electronics around us like remote controller, traffic lights, refrigerator, aircon and many more which does repetitive or specific application tasks. That may not change functionality from traffic lights to aircon without software modification as well hardware. These type of devices are based on Microcontrollers.
While on the other hand Raspberry Pi is designed considering general purpose application like smart phone, tablet, computer etc which can relatively change functionality with various application (Apps). These type of devices are based on SoCs. Which can have expendability with USB or HDMI or SD card. Also, they have enough human interface device (HID) to expand functionality.
This may not be simple in technical terms as Microprocessor and Micro-controller based products do overlap many places. For beginner these are feature's checklist that can make your decision quick and very accurate;
Pros using Arduino
Power - is your intended application going to require portability then Arduino is good option as they are relatively less power hungry and also official Arduino boards are designed with optimal hardware.
Portability - Due of self content features Arduino can offer small, battery operated compaq solution.
Cost - Total cost of Arduino board starts from $ 20 AUD (Nano every board). Additionally you will need a USB cable and a computer to program.
Expendability - With 1000's of shield and electronics components you can expand your Arduino to technically infinite possibility.
Teaching electronics & Coding - Connect various environment and physical sensing modules using breadboard or Grove modules.
Programming languages - Starting from non programming electronics modules (Littlebits, Science Physics kit) to graphical and Arduino programming. Arduino family supports Arduino programming language which is based on C++, assembly as well few third party software offers graphical programming like mBlock, Scratch, CodeCraft.
Eco-system and tool chain - Arduino being oldest programmable device it consisting of large community, eco-system of many expendable modules and user friendly tool set.
Pros using Raspberry Pi
Video capture - as this type of device require high CPU power and processing Raspberry Pi family should be idea option. Also, Pi board include standard display ports like HDMI.
High level programming languages - Being Linux OS support on other end supports many high level languages lik JAVA, HTML, C++ and many more.
Display - If you need to display on standard display like monitor or TV then Raspberry Pi is most suitable. As Arduino, do not have HID they are not plug and play with TV or monitor. They do have many other option like 7 segment display, TFT display, capacitive touch display (Like pre-smart phone generation) also e-link (like kindle).
HID support- Standard peripheral like Hard Drive, USB, HDMI, Mouse, Keyboard, Webcam are plug and play.
Low cost computer - Raspberry Pi could be a great alternative to computer/laptop for education. Most popular application for Pi is to make personal media centre & music station, arcade game emulator, weather station, server and many more.
If you are wanting to teach electronics and or coding then start with Arduino. Start with graphical coding (Scratch, Blockly) to introduce electronics. Expand complexity with shield or sensors. Using same hardware, explorer Arduino programming and troubleshooting.
After completing teaching in Arduino, you can to Raspberry Pi, starting with making your own computer and then take dip dive into programming higher level languages like Python or JaveScript. Where you can teach making your own server, database, machine learning and image recognisation.
Main reason, I would not suggest Pi in school is due to security and network activities. Also, I believe most of school already have computer and laptop. Though if your school do not have laptop or computer then Pi could be great starting point.
DIYer / Maker
If you are someone looking forward to explore both and want to gain education around technologies then I would suggest teaching path would be idea.
Depending on your experience in past you can also start with Pi if you feel comfortable with software more than hardware/wiring electronics. Most of computer professional and enthusiast starts exploring electronics using Raspbrry Pi due to familiarity and experience with higher level languages.
In my next post I will take a dip dive into possible path to get started as well as what is Arduino and Raspberry Pi.