BBC MicroBit

Overview

The Micro Bit (also referred to as BBC Micro Bit, stylized as micro:bit) is an ARM-based embedded system designed by the BBC for use in computer education in the UK.

The board is 4 cm × 5 cm and has an ARM Cortex-M0 processor, accelerometer and magnetometer sensors, Bluetooth and USB connectivity, a display consisting of 25 LEDs, two programmable buttons, and can be powered by either USB or an external battery pack. The device inputs and outputs are through five ring connectors that are part of the 23-pin edge connector.

  • NVIC
  • RTC
  • UART
  • GPIO
  • FLASH
  • RADIO (Bluetooth Low Energy)
BBC Micro Bit

BBC Micro Bit (Credit: http://microbit.org/)

More information about the board can be found at the microbit website [1].

Hardware

The micro:bit has the following physical features:

  • 25 individually-programmable LEDs
  • 2 programmable buttons
  • Physical connection pins
  • Light and temperature sensors
  • Motion sensors (accelerometer and compass)
  • Wireless Communication, via Radio and Bluetooth
  • USB interface

Supported Features

The bbc_microbit board configuration supports the following nRF51 hardware features:

Interface Controller Driver/Component
NVIC on-chip nested vectored interrupt controller
RTC on-chip system clock
UART on-chip serial port
GPIO on-chip gpio
FLASH on-chip flash
RADIO on-chip Bluetooth

Programming and Debugging

Flashing

Build and flash applications as usual (see Build an Application and Run an Application for more details).

Here is an example for the Hello World application.

First, run your favorite terminal program to listen for output.

$ minicom -D <tty_device> -b 115200

Replace <tty_device> with the port where the board nRF51 DK can be found. For example, under Linux, /dev/ttyACM0.

Then build and flash the application in the usual way.

Using west:

# From the root of the zephyr repository
west build -b bbc_microbit samples/hello_world
west flash

Using CMake and ninja:

# From the root of the zephyr repository
# Use cmake to configure a Ninja-based buildsystem:
cmake -B build -GNinja -DBOARD=bbc_microbit samples/hello_world

# Now run ninja on the generated build system:
ninja -C build
ninja -C build flash