Little computers, everywhere: Makers and the Internet of Things

With the launch of Imagination's MIPS-powered Creator CI20, there are now low-cost developer boards for all the main Internet of Things platforms.
Written by Simon Bisson and Mary Branscombe, Contributor

Growing up in the heyday of 8-bit computing, it wasn't difficult for me to start coding - and to start building my own early Internet of Things (IoT). With a box of bits from a surplus electronics store, several metres of ribbon cable, some Meccano, and a BBC Model B, I had a robot crawling around a school electronics lab, following lines and hiding in the darkest corners. So how do we give students today the same experiences, as computers become sealed appliances?

It's a question a lot of people have been asking, and one that's being answered by a raft of small single-board computers such as the Raspberry Pi and Arduino. They're cheap and ubiquitous, and much more than purely educational devices which would only be for teaching programming or playing Minecraft. Like many of their 8-bit predecessors, they're also tools that will help build the IoT.

A selection of single board devices: Raspberry Pi B, Creator C120, Intel Galileo Gen 1, Arduino Esplora, Netduino Plus.
Simon Bisson

Take the latest of these single board computers to arrive: Imagination Technologies's Creator CI20. Perhaps best known for the Pure line of digital and internet-connected radios, Imagination is also the company behind the MIPS line of embedded system CPUs, and the PowerVR OpenGL graphics chipset used in many smartphones.

The CI20 is slightly larger than other single board computers, but packs quite a punch as it boasts a dual core 1.2GHz processor. There's support for both Linux and Android, giving you access to two familiar development environments. Linux support makes a lot of sense, as it's an open platform with libraries for most common IoT services (mainly thanks to the work being done by Arduino and Raspberry Pi developers). Android is an interesting choice, as Google is pushing it down from the smartphone into embedded systems - and the combination of its UI tools and IO libraries makes it an interesting alternative platform for IoT developers.

While the MIPS processor might be less well known than the alternatives, you've probably got at least one in your home or your office - in your router or your printer. It's a popular low power, embedded systems processor, and millions are shipped every year. Imagination wants to take MIPS from its traditional, relatively specialist, embedded systems market to making it a widely used IoT platform, and it sees the Creator board and the Maker community as keys to this.

Giving hobbyists the tools they need to build new devices is key to this approach, as it's those hobbyists who become the next generation of hardware entrepreneurs. You only need to go to a Maker Fair to see the wide sweep of innovation, and the path it takes from maker project to product.

What makes the most sense in the Creator is the Raspberry Pi compatible I/O connector. With the vast number of Raspberry Pis in use, its connector is becoming as popular as Arduino's, with kits of parts being kickstarted or available from the usual online sources.

There's also a similar specification to Arduino's Shields for Raspberry Pi daughterboards, known as Hats. Using a popular connector and the same base OS makes it easy to port code from one platform to another. All you'll need to do is recompile Raspberry Pi Linux code on Creator to get hardware working with the MIPS platform - as long as binary libraries have been ported from ARM to MIPS.

So what next? Arduino still seems to have the Maker movement sewn up, with its simple programming model and its open hardware architecture. That's why it's interesting that Microsoft has adopted the Arduino Wiring APIs in its Windows on Devices SDK. Writing code for the Intel Galileo boards Microsoft is using as part of its beta programme is a matter of writing Wiring code in Visual Studio, wrapped in C++.

Galileo boards' IO connectors are pin compatible with Arduino, so you can quickly plug in existing hardware and use existing headers and Wiring code to quickly add new actuators and sensors to a board. With companies like Sparkfun providing all kinds of add-ons for Arduino, and publishing the C headers and documentation, you can go from nothing to a functional IoT application in hours.

Once you have a documented set of IO ports on a single board computer, you're able to quickly start using it as the heart of your programmable world. A friend has instrumented a cat flap with a Raspberry Pi, and it tweets every time her cat comes in and out (and takes a picture). Another is using Arduino devices to instrument a winery, quantifying fermentation in the same way as a Fitbit or Microsoft Band monitors your health. Projects like those used to need boards that were beyond the reach of most hobbyists - and expensive enough to make most professional developers think twice.

Now you can go to the web, hand over a relatively small amount of cash, and buy a virtually disposable computer. Adding hardware is just as easy, with pluggable boards and components - or just connecting jumpers between the appropriate IO ports on the computer and a breadboard. That second option is an interesting one, as it lets you start to build and design more complex sensors and actuators, bridging the digital and analogue worlds in intriguing new ways.

The list of possible projects is endless. How about a bird feeder that can identify squirrels and lock its feed hopper? Or a smart light switch that can identify when it's dark and when someone is in the room? Or a sensor that detects when an alarm clock has rung, and opens the bedroom curtains?

Little computers are the heart of the IoT, and putting them in the hands of makers is the way to encourage an explosion of innovation. With hardware from all the main processor families: Intel, ARM, and now MIPS, there's a huge opportunity for developers of all ages to start building the next generation of computing.

Read more:

Editorial standards