Arduino or Raspberry Pi?

Arduino, Gemma, NodeMCU, Raspberry Pi or even Beaglebone - which board is right for your kids or your students?  This is one of the most asked question here on PodPi.com from our customers.  Here are some key differences between the Arduino and the Raspberry Pi boards. Contact us if you have any questions or comments regarding this article.

Arduino

An Arduino is an Open Source hardware platform designed to support learning electronics.  At the core, an Arduino board contains a microcontroller (single chip) used with very little supporting circuitry to get started. Sensors and other components (LEDs, Servos, etc.) can be controlled directly through I/O ports. This chip does not run an operating system but will instead run a C++ like program in an infinite loop to control basic components and projects.

PodPi manufactures its own line of Arduino Boards (as seen below). We currently have an excess of generic Arduino boards and shields on sale. Reply to this message if interested.

podpi_arduino_board.JPG

A great platform to start learning

Think of an Arduino board as a platform to learn electronics with small projects using sensors, lights, and servo motors. As long as you keep the requirements of your projects to two functions, an Arduino board will be well suited for it.


Coding languages

The Arduino comes with a graphical development environment that helps programming the board. You can download the software (IDE) directly from the Arduino.cc website. The language is called Sketch and is a derivative (simplified version) of C++. The user interface will compile the sketch into byte code that is uploaded to the Arduino board and executed in an infinite loop.


… but PodPi uses JavaScript?

Many customers are asking us why we decided to teach JavaScript with Arduino if Sketch is the native language...  Great question.

Even in its simplified form, Sketch is very similar to C++. While it is a very powerful language, it is very difficult for kids to assimilate quickly. Over the years, we observed students (ages 9-14) using both languages and the ones using JavaScript were more apt at changing the code and experimenting, whereas with C they would only copy and paste the projects.

Note that unlike Setch, JavaScript isnotcompiled nor does it run on the Arduino board. We use the a server implementation of JavaScript calledNode.JSwith an interface calledJohnny-Five. The code executes on your computer and sends the commands to the Arduino board.

In the future, your son or daughter will be more likely to be coding web pages with JavaScript than programming embedded circuits using C++.

Raspberry Pi

A Raspberry Pi is a board with a micro-processor or SoC (also known as System on a Chip) including many other chips to create a functional computer designed for software and high level hardware interaction. It runs an operating system (Raspbian is a flavor of Linux) with a graphical environment like Windows or OS X and supports WiFi networking. You can also control some hardware ports using languages like Python, C or JavaScript.

The Raspberry Pi Zero board is selling for $5 only. While somewhat limited in capability, this is a great board to tinker all sorts of software and hardware projects.
 

raspberry-pi-3-model-b.jpg

A great first computer

A Raspberry Pi could be a great first computer for your child. The board itself is inexpensive, it is almost virus free (viruses are uncommon), runs Minecraft and Scratch. As their skills progress, you can use the board to control an Arduino board...


Coding languages

As mentioned above, the Raspberry Pi is a full fledged computer with an extensive open source community supporting it and the other Linux flavors. You will find that most of today's programming languages run on the Raspberry Pi, from C, Python to JavaScript, Shell, Perl, and many more. If software development is your main interest, the Raspberry Pi is the platform of choice.


Why is your program called PodPi?

Our original PodPi concept was based on the Raspberry Pi platform using smart little Pod-like devices.  The Smart Pods were designed to teach kids a particular electronic topic or concept.  These Smart Pods would plug into a Raspberry Pi console and were accessed in real-time through an interactive web-based comic book.

Raspberry Pi + Pods = PodPi

However, after testing this console with the Smart Pods, we discovered that most students were more entertained by the interactive comics and not learning the key concepts presented. Our goal was always to focus on the educational aspect of the program and we missed the mark. After printing the comic book and using an Arduino board, our students started to experiment quickly and go beyond the lessons. We had reached our goal of teaching the basics of electronics and coding. From here, the name PodPi remained. We may develop a curriculum based on the Raspberry Pi in the future should there be enough interest.