Micro:bit IoT in C

The BBC micro:bit is capable of taking on a variety of roles including that of a powerful IoT device. In order to gain full access to its features and to external devices, however, the user needs to use C which delivers the speed crucial to programs that communicate with the outside world.

Written for the electronics enthusiast, 'Micro:bit IoT In C' starts with a first “Hello Blinky” C program with the mbed online compiler, we move to the desktop to using an offline approach using the yotta development environment plus NetBeans to make things even easier. Now we are ready to discover how to control the micro:bit’s I/O lines, exploring the basis of using the GPIO. For speed, however, we need to work directly with the raw hardware and also master memory mapping, pulse width modulation and other more sophisticated bus types.

From here we can start connecting sensors using first the I2C bus, then by implementing a custom protocol for a one-wire bus, and eventually adding eight channels of 12-bit AtoD with the SPI bus, which involves overcoming some subtle difficulties. We then look at serial connections, one of the oldest ways of connecting devices but still very useful. The micro: bit lacks WiFi connectivity but using a low-cost device we enable a connection to the Internet via its serial port which allows it to become a server.

To conclude we look at the micro:bit’s LED display. This may only be 5x5, but it is very versatile, especially when you use pulse width modulation to vary the brightness level, something we demonstrate in a classic game, written of course in C.

Show health and safety information

Please be aware that resources have been published on the website in the form that they were originally supplied. This means that procedures reflect general practice and standards applicable at the time resources were produced and cannot be assumed to be acceptable today. Website users are fully responsible for ensuring that any activity, including practical work, which they carry out is in accordance with current regulations related to health and safety and that an appropriate risk assessment has been carried out.

Subject(s)Computing, Programming, Algorithmic Thinking, Computer Networks, Computer Systems
Author(s)Harry Fairhead
Age11-14
Published2016
Published by
Shelf reference007 FAI
ISN/ISBN9781871962451
Direct URLhttps://www.stem.org.uk/xa7fb

This is a physical resource. Come and visit the National STEM Learning Centre library to see it.

Find out more about the Centre