Arduino and Raspberry Pi: your next science project

Walking into the newly redesigned Radio Shack in downtown Manhattan, the first thing that struck me was, where did everything go? As I walked around the minimalistic and heavily consolidated displays, I realized that streamlining inventory was important for the success of the company, newly reborn with colorful and attractive displays for their best selling products.  As I walked past the merchandise, I saw a wall covered in what appeared to be circuit boards, unlike the rest of the store, dominated by phones, headphones, media systems and remote controlled toys. Upon closer examination, I realized that these were Arduino compatible products, and immediately I got a rush of nostalgia, reminding me of the days when every little resistor and transistor was available in the store. They might still be available, but they are no longer the major sellers of the tinker friendly store. Instead, do it yourself enthusiasts are looking towards breadboard solutions to develop their new gadgets, and rightfully so. 

Naturally, I began to wonder just how far these projects have gotten since their inception. Researching further, I realized that the magnitude of growth was far greater than previously imagined. What I thought would be an electronics board with LED control and perhaps FM functionality, unraveled into a world which included Bluetooth, Wi-Fi, displays and controllers, as well as some advanced robotics. I have compiled some interesting devices based on the technologies below, as well as an attempt to clarify the differences between the top two providers, Arduino and Raspberry Pi.

Firstly, I'd like to explain that Arduino is a micro-controller, and Raspberry Pi (henceforth referred to as Pi) is a mini-computer. What this means is that the Arduino can be programmed using simple commands, while the Pi would require more complex commands which are accessed by means of the operating system you choose to run on your Pi mini-computer.  A fantastic guide for beginners can be found here. The Arduino, therefore is suitable for electronics projects, while the Pi is great when an entire operating system capable of various computing tasks is required. The above guide brings the following example which can illustrate the difference when programming either board to light up an LED, for instance.

“On the Arduino, this involves connecting an LED and resistor to two pins, then uploading about 8 lines of code. That's it. On the Raspberry Pi - assuming you have a fully functional operating system already installed and set up as you like - you then need to install some libraries to help you control the GPIO pins (that's the bits you connect components to).”

Now let's dive into the available components:

This project, entitled the Alamode (A-la-mode) by Wyolum, allows one to combine the flexibility of Pi with the simple, solid commands of the Arduino, giving a user the best of both worlds.  Retailing at around $35, this project includes the ability to power off a battery or AC, and is Micro-SD capable.

This is the Spark Core, aiming to bridge the Arduino-Pi gap with a chip (Arduino compatible) that includes Wi-Fi, and specializes in creating hardware that will interact with the cloud. It includes a 72 Megahertz ARM Cortex M3, a Wi-Fi module, and has many in/out pins (which allow further expansion of attachments.)

This is the Parallax Robotics shield kit, compatible with Arduino, and includes everything you need to make your own robot. Retailing around $135, the kit enables the enclosed robotic motors and servos to do your bidding. It includes touch, light and infrared sensors which can guide your robot, and is easy to use, designed with a solder free interface. It also includes the ability to expand with other components.

Next up is the GestureR, a device which allows Arduino to go ahead and read your commands at a distance, enabling the types of gesture control seen on certain phones and gaming systems such as Microsoft's X-Box One.

The Raspberry Pi is a bit more complex and allows the user to attach a screen which displays the chosen operating system. This is the PiScreen, which is a 3.5 inch TFT display which features a resolution of 480x320. It has all the necessary equipment to connect the screen to your Raspberry Pi, and, as usual, the ability to expand further with nine unused GIPO pins.  With a touch-enabled screen capable of displaying 65,536 colors, this may be the right component for those looking to tinker with the full-fledged operating system capability of the Pi. 

On the other hand, we have the simpler MicroView, which includes a small (chip-sized) Arduino with a display built in. The Arduino microprocessor has been shrunk into the 64x48 pixel OLED device, which can also be used to display information from your Pi.  This device will let you see the effects of your commands quickly, and allows development to move quicker. A guide shows the user how to turn on LED's, get readings, take inputs from buttons, sense temperature and light, as well as operate motors and servos. 

There are clearly many more projects and sensors that one can purchase once they have their Arduino or Raspberry Pi (or both) devices in hand, as well as similar modules to the ones above, tailored for either device. The possibilities are truly endless, and these devices will become smaller and easier to use as they get developed. As large technology companies make progress in their various fields, do-it-yourself enthusiasts can keep up by simulating new advances on their own, as well as create all-new technologies with the help of the multiple sensors and various expansion capabilities of these devices. If I haven't included your favorite Arduino or Raspberry Pi gadgets, feel free to add them in the comments below!

Sources: MakeUseOf, GestureR, Parallax, Wyolum, Spark-Core, Kickstarter (PiScreen), MicroView, Radio Shack

Report a problem with article
Previous Story

Microsoft and Dell sign cross-patent license agreement

Next Story

Camera Shootout: HTC One M8 vs Nokia Lumia Icon


Commenting is disabled on this article.

Processing speed and latency can be huge deciders in what you'd need/want for a given project too. A Beaglebone Black has several factors of a magnitude more processing capability than an Arduino Leonardo, but that Leonardo has much much tighter output timings. As an example, you'd be hard pressed to run a strip of WS2812 driven LEDs with a Beaglebone, Netduino (without writing custom firmware anyway), Pi, Gallileo and so on, but to a Leonardo, it's no problem

You can also hook up Arduino to compile and debug via VS (In fact, VS is the best tool for debugging Arduino!)

The Netduino's strength, in my opinion, lies in the hardware robustness (if you load crappy code, it's really easy to factory reset and reload firmware without needing an ICSP) and the power of event based programming, which is not something the Arduino can do

The Arduino, Raspberry Pi, etc. have taken us back to the "golden years" of home electronics which I was just a little bit too young to appreciate before.

I picked up at Arduino and a book from Amazon a year ago and hacking away on it, learning C and basic electronics again has been the most fun I have had with computers in a long time. I realised while I use computers a lot most of what I do is not fun. These tools have brought the fun back into computers for me.

If you enjoy computers then getting an Arduino should be a must! They are just so much damn fun!!

I bought a Pi last week and it's great fun, but the speed mustn't be overestimated - it's butt slow in modern terms. I've only tested Java code as I'm far less familiar with C and Python, so this is probably orders of magnitude slower than those anyway, but it takes 75-85ms to iterate over all the pixels of a 1024x768 image (~700,000 pixels), not even accessing the pixels, just literally running the loop. Overclocked to 900MHz, to grayscale a 640x480 image and save the result to disk is just over 4s.

For robotics of course this isn't really a problem, and I've got a few projects I'd like to build down that alley, but I had a few other ideas that required some image processing that just aren't feasible.

Yeah I remember the first robot we build using just 8051 and ATMega16 microcontrollers. We had to use like five of them, each for controlling a different function (proximity sensing, line detection, motor control etc.) and interfaced them together via SPI or I2C. Boy, that was a lot of work. I believe now all this can be achieved using just one of these.

I bought mine to make a small-form-factor SNES (emulator). Unfortunately, whatever RetroPie uses is nothing as consistent as an old Pentium running ZSNES (varying frame rate, sound skipped). Perhaps things have changed over a year...

Emulating a Macintosh Plus works really well though (all I have been using mine for recently). Haven't tried playing any (HD) videos on it yet, but apparently it can without any problems.

I'm using Pidora at present. See if you can run your code on RISC OS - unfortunately GUI rendering can eat up quite a lot of the Pi's CPU.

A great look at some great devices. Both are handy for different projects. I've got both and enjoy them very much!