Microsoft's Gadgeteer aims to make creating gadgets as simple as building with Lego

Microsoft is hoping the 'Put tab A into slot B' simplicity of its Gadgeteer hardware platform will make it easier to build prototype gadgets.
Written by Nick Heath, Contributor

Ever had an idea for a gadget but not the faintest idea how to get started? The good news is it may be easier to build than you think.

Building a prototype electronic device has never been cheaper or simpler thanks to open source standardised hardware platforms like Arduino and, to a lesser extent, bare bones computers like the Raspberry Pi.

Microsoft is hoping its .NET Gadgeteer platform, which started as a way for its researchers to develop prototype devices, will be adopted by hobbyist electronics makers looking for an easy way to craft new gadgets.

The Gadgeteer is designed to lower the technical bar for people building their own prototype electronics, by allowing gadgets to be slotted together with Lego block simplicity.

A Gadgeteer system designed to capture wildlife images automatically. The system has a Fez Spider main board and various modules including a camera, movement sensor, SD card and button module. Image: Nick Heath / ZDNet

What is Gadgeteer?

The base of the Gadgeteer is a main board — a board with an ARM-based processor, memory, flash storage for the software to control the gadget and sockets for plugging in hardware modules.

Creating a gadget requires plugging modules into the main board — for example, to create a makeshift digital camera a user could plug in a camera, button and screen module. Gadgeteer boards can be used to create a broad range of gadgets, as there are dozens of hardware modules – including sensors, lights, screens, batteries, and more. Boards are small, and range in size down to about that of a matchbox.

Gadgeteer reduces assembly to a process of 'Fit tab A into slot B'. Each module and each socket on the mainboard is tagged with letters. To plug a module into the mainboard users match the letters tag on the module with the tag on the socket, so a module labelled 'XY' would plug into socket 'XY'.

A screen module for Gadgeteer showing the weather status. Image: Nick Heath / ZDNet

"It's really hard to get anything wrong because you literally just match up the letters," said Kenji Takeda, solutions architect and technical manager for Microsoft Research.

No gadget is complete without software, and Gadgeteer tries to make the process of adding logic to gadgets easier by allowing the board and its modules to be programmed using the high-level language C# and using Microsoft's Visual Studio integrated development environment.

Creating code to control these modules is simplified by Visual Studio, which integrates with the Gadgeteer SDK to provide a drag and drop tool for connecting modules to sockets, while Visual Studio's IntelliSense feature provides information about available software interfaces for interacting with the modules, as well as options for autocompleting code.

Software interfaces to control modules are designed to be relatively intuitive, thanks to using class and method names that reflect what they are or the action they carry out.

"This is high-level stuff," Takeda said. "You don't have to do low-level 'bit four flip' type commands that some other hardware platforms make you work with."

Software can be transferred to boards' flash memory via an USB module, and programs can also be debugged while they are running on the device. Software runs on the Net Micro Framework (NETMF) platform, Microsoft's open source platform for running .NET languages on embedded platforms.

Gadgeteer is designed to allow people with an idea for a gadget to build it, even if they lack technical expertise or access to a hardware manufacturer to make the parts they need.

"The idea is to simplify making gadgets so you can concentrate on 'What gadget do I want to build?', 'What's the functionality?' and make it easy to do the software," Takeda said.

Projects created using Gadgeteer include Hive Sense, a project to gather data from bee hives to shed light on why bee populations are in decline. The project uses sensors attached to a Gadgeteer board to measure light, temperature, humidity and pressure inside the hive, as well as using an accelerometer to monitor disruption, such as the hive being opened up.

Other Gadgeteer-based projects include the usual hardware hobbyist projects of rigs for controlling robots and capturing video while attached to balloons at the edge of orbit.

How Gadgeteer stacks up with the competition?

A close-up of the Fez Spider board. Image: Nick Heath / ZDNet

It is possible to get started with Gadgeteer by building a simple gadget for under £100. Mainboards vary in price according to the number of module sockets and hardware specs, for example the Fez Cerberus board costs $29.99 and comes with eight module sockets and an Arm Cortex-M4 processor, while the Fez Spider board costs $119 but comes with 14 sockets and a more powerful Arm Cortex-A7 processor.

Module price depends on the device, for example a low-resolution (320x240) camera module can be picked up for £26.99 and an Ethernet module for £27.

Microsoft doesn't design the hardware itself but rather has released specifications for main boards and modules so other companies can manufacture them. Main boards and modules are made by a variety of firms including GHI Electronics with its Fez series of boards, Sytech and Seed Studio and are available direct from the manufacturers, as well as through Amazon.

Of course .NET Gadgeteer is one of several low-cost hardware platform aimed at hobbyists who want to make electronics, the most famous of which is probably Arduino.

In a recent comparison between the these platforms Gadgeteer was praised for being simple to build with and code for, avoiding some of the low-level bit-shifting coding that can be necessary on Arduino, and for offering processors clocked at several times the speed of those on the vast majority of Arduino boards.

However the piece highlights the relative expense of Gadgeteer modules compared to modules for the similar Grove prototype system.

Gadgeteer's reliance on standard 10-pin sockets for every module is also overkill for simple modules, such as an LED light, which can lead to circuitry going unused, according to the article. The NETMF platform used by Gadgeteer is also not designed for carrying out tasks in real time.

Why Microsoft released Gadgeteer?

.NET Gadgeteer started out at Microsoft Research, Cambridge Research as a platform for the Sensors and Devices Group to rapidly iterate on ideas before Microsoft hit on the idea of releasing it, so other people could do the same

"It was developed in-house as a prototyping platform for devices and we've made it available to the wider world," Takeda said.

"With Gadgeteer I can build a bespoke gadget and tomorrow I can rip it apart and put it back together as a different device."

Further reading about hobbyist harwdare

Editorial standards