Connecting the BBC micro:bit with Nominet’s IoT Tools

12th April 2016

Today we’re excited to be sharing a stage with the BBC and Lancaster University at Smart IoT London, to talk about our work connecting the BBC micro:bit to the internet and turning it into a true IoT device.  We’ve designed and prototyped a way to enable data packets to be transmitted between micro:bits simply and safely.  We think this new functionality can create excellent opportunities to help children learn not just about code, but about the complexities of deploying sensor networks and how the internet works.

In collaboration with the BBC, Nominet researchers have been working to design and prototype the infrastructure that would enable BBC micro:bits to communicate with one another.

Bringing internet connectivity to the BBC micro:bit needs to be simple, safe, engaging, and educational.  An additional challenge is that the architecture of a BBC micro:bit IoT network is quite different to how we conventionally think about IoT networks: all of the code needs to be written on the end point devices. In this case, micro:bits.

We have proposed a simple approach in which data packets can be sent to BBC micro:bits addressed by a unique “handle” which the student assigns to their device.  In our design we don’t need to store any personally identifiable data.  Additionally, each user has a private friends list in which they list the handles they are happy to receive data packets from. These features are all that is needed in order to build some cool stuff.  With two BBC micro:bits you could attach one to your bedroom door and use the accelerometer to trigger a message on the other micro:bit when your door is opened, instantly letting  you know when an intruder is detected.  Or, a system could be built in which the average temperature in classrooms is found by aggregating temperature data from dozens of micro:bits.  In addition to coding,  students can now learn about unresponsive devices and how to manage the messy, chaotic real world of the Internet of Things.

Internet connectivity is delivered through a Raspberry Pi (or one day, perhaps the BBC micro:bit mobile app), which acts as a gateway.  We provide a disk image for the Pi, so it requires zero coding and very little configuration – it just needs WiFi access.  Through the gateway the user can choose a handle and associate it with their BBC micro:bit.  Handles are disposable.  Lost your micro:bit? No worries – just assign your existing handle to a new micro:bit.  Forgotten your password? Not a problem – pick a new handle and assign that to your micro:bit instead.  This system of handles abstracts any personal data from the data packet transmission system.

IoT tools

We have used our existing IoT tools behind the scenes to provide the back end infrastructure for this system.  Our IoT Registry stores the configuration data for the system and provides an abstraction layer between devices and services.  The Bridge is a tool that handles message routing and permissions checks within our IoT system. The entire system set up by assembling these simple building blocks, so we can get complex functionality without having to write a line of application-specific code.  This is really exciting because this works well even though this prototype has a very different workload than the other IoT designs and deployments that we’ve done.

We’re only at the prototype stage but this is a really exciting project and we’re looking forward to exploring the BBC micro:bit’s potential as an IoT device.