BBC micro:bit

Hardware

Platform Nordic nRF51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.

Microcontroller

NRF51822

Frequency

16MHz

Flash

256KB

RAM

16KB

Vendor

BBC

Configuration

Please use bbcmicrobit ID for board option in “platformio.ini” (Project Configuration File):

[env:bbcmicrobit]
platform = nordicnrf51
board = bbcmicrobit

You can override default BBC micro:bit settings per build environment using board_*** option, where *** is a JSON object path from board manifest bbcmicrobit.json. For example, board_build.mcu, board_build.f_cpu, etc.

[env:bbcmicrobit]
platform = nordicnrf51
board = bbcmicrobit

; change microcontroller
board_build.mcu = nrf51822

; change MCU frequency
board_build.f_cpu = 16000000L

Uploading

BBC micro:bit supports the following uploading protocols:

  • cmsis-dap

  • jlink

Default protocol is cmsis-dap

You can change upload protocol using upload_protocol option:

[env:bbcmicrobit]
platform = nordicnrf51
board = bbcmicrobit

upload_protocol = cmsis-dap

Debugging

Debugging - “1-click” solution for debugging with a zero configuration.

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

BBC micro:bit has on-board debug probe and IS READY for debugging. You don’t need to use/buy external debug probe.

Compatible Tools

On-board

Default

CMSIS-DAP

Yes

Yes

J-LINK

Frameworks

Name

Description

Arduino

Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

Zephyr

Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures