Advertisment

The Foundation Course: Hackable Hardware for IoT

author-image
Jayanta
New Update

If I have to dedicate last two years of innovations to a specific tech, then I will certainly dedicate it to Hacking Ready hardware boards. If you were not living in a cave over the past 2 years and if you are one of the PCQuest reader kinds, then you would definitely have heard of Raspberry Pi.

Not just us, but every tech media and often mainstream media have talked about it in plenty. Why? Simply because it brings the know-how of computers (hardware) and its components in front of the world and lets you legally hack it inside out to learn, play and teach. This is probably the true revaluation point for open source hardware--just like Linux revolutioned the software world when it came into being around 23 years ago.

Advertisment

There are two more contenders in the IoT hardware domain--Spark Core and PCDuino.

All of these hardware devices bring the power of building IoT devices in any tech enthusiast's hands, due to their low cost, easy programming, and rich functionality.

So instead of waiting for consumer electronics manufacturers to bring you expensive equipment that will tell you when your eggs are getting exhausted or going bad, you can take things in your own hands. Hack your fridge and AC and build the above functionalities for less than 5 grands or so, with a bunch of IoT services on the cloud and a few hackable open source hardware. Now that makes sense. Right? And not only that, it gives the industry time and first hand exposure on testing out great IoT applications for a much lower investment, and by enthusiasts. Pretty much like open source software, isn't it? Also, it lets a few innovators make a great deal of fortune. Don't know if I can sell my calendar controlled social

AC on kickstarter or not, but you never know!

Now enough of building excitement around these devices. Let's understand their technicalities in more detail.

Advertisment

Raspberry Pi

Quick Specs

OS: ARM Linux

Interface: Digital GPIO

Interconnect: 100 Mbps LAN

Price: $35 - Model B with 512MB RAM + 700MHz Processor (overclockable to 1GHz)

As you might already know through many of our old articles, RaspI is a cheap open source hardware board which lets you run an Arm version of Linux on it. And it gives you the option to interact with the physical world using GPIO pins. The GPIO or General Purpose Input Output pins are versatile and programmable pins which could be triggered as an output pin or could be used to read voltage as an input pin. And that too probably by using every open source language, and even with Shell Script. It's all about sending an echo 1 to a file and triggering a relay. Or just reading 1 or 0 in a file to grasp input from an external 2 state sensor. And just because of the fact that it's plane Linux, there is no need for any kind of embedded programming knowledge.

With basic Linux know how, you can start building simple IoT devices--Remember my AC example! You can definitely write a shell script which can parse your Google Calendar and send a Turn On signal to another RasPi at your neighbor's place anywhere else on the planet connected to the Internet, and trigger a relay to turn on or off the AC, or whatever you can think of!

But then there is a catch--The GPIO ports of RasPi are all digital, which essentially means that they can either give 1 or 0 or take 1 or 0. So basically you can only read two states or write two states with it. You can also use certain electronic properties to read variable sensor values using a Pi, but then you also have to be an electronics hacker to do that. That's a bit complex, and not possible for every type of sensor.

Overall, with a sub-$40 price tag and Linux embedded into the device, the Raspi is usually the preferred choice for beginners.

PCDuino

Quick Specs

OS: ARM Linux + Arduino Script and shield Support

Interface: Digital GPIO + Specialized Analog Pins

Interconnect: 100Mbps LAN

Price: $59 - 1GB Ram + 1GHz processor

Before the advent of RasPi, Arduino was the most popular development board. With its own kind of language, it was so much fun that electronics and computer enthusiasts across the world had adored it for years. And so much was its popularity that people started building shields for it. These are like extended boards that can be connected atop an Arduino and deliver extended functionality, e.g. Add a GSM shield to get GSM functionality from an Arduino board!

But it was a bit expensive and didn't have a general purpose OS loaded into it. So to fulfill the fetish of Linux Developers who also loved to hack hardware came the PCDuino. As the name suggests it's PC + Arduino. This one is essentially a development board which can run Linux pretty much like RasPi, but also comes with an API which lets you do Arduino like coding on it.

That's not all, it has the GPIO headers placed in a way that it can work with Arduino Shields, pretty much like an actual Arduino. Isn't it awesome? Wait...there's more. It also has a few analog pins, not exactly GPIOs but analog, which can be triggered using Arduino codes. What this means is that you can hook sensors with varying outputs like a temperature sensor and start reading and posting data over the Internet.

Spark Core

Quick Specs

OS: Cloud based interface

Interface: Digital GPIO + Analog GPIO - 8 each

Interconnect: WIFI

Price: $39

The final contender and the smallest among the lot is a tiny piece of Cloud controlled hardware. Now what that means is that the device itself has no video output capability, neither does it let you connect a mouse or keyboard to it. All it has are sets of analog and digital pins. Yes! pure GPIO pins, both analog and digital. And WiFi. So all you have to do is to connect the device to the power and connect it to a WiFi network using a free mobile app available for both Android and Apple smartphones.

And once done, the device finds its unique place to its backbone cloud (accessible freely for lifetime with the hardware). You can access the device via a browser to program and flash code to, and of course to trigger and read values from the GPIO pins by using the cloud based APIs provided. We did a detailed hands-on on how to build simple Internet switches using the Spark Core and Spark Cloud and available APIs last month.

The beauty of this device is that it takes care of both sides of an IoT infrastructure dependency, that is, the hardware and the Internet service. With PCDuino and RasPi, you have to use a separate Internet service, like IFTTT.com or https://thingspeak.com/ to let the device talk to other devices over the Internet. Or you have to develop your own. But with Spark, it's all taken care of. Also, in case you want to build a project which should be confined to your own infrastructure, to give you more control and security, you can do that as well.

And this all works with Arduino like scripts flawlessly. But of course you will miss a full blown OS here. A device like Spark Core is ideal for sensor readings and sending data to IoT Services. First, because it has an equal number of Digital and Analog Pins (8 each), and because its very small and comes along with an Internet/cloud enabled API stack.

It will be too easy to fix in a Spark Core in any consumer electronics and control system and get feedback from it. I was even able to find a small unused space in my compact coffee maker to fix the Core in there and make my Coffee Maker WiFi enabled and controlled over the Internet.

Happy Hacking!!

Advertisment