We’re giving away 5 BBC micro:bits! - Review

Table of contents

RoadTest: We’re giving away 5 BBC micro:bits!

Author: fvan

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: CodeBug

What were the biggest problems encountered?: No access to all pins without breakout board.

Detailed Review:


This is my review for the We’re giving away 5 BBC micro:bits! Road Test.




Let's start by comparing the review sample with a retail model and power on the board for the first time.


BBC micro:bit


Before we get started, let's cover what this board is, and what it is capable of.


The BBC micro:bit is a little development board with a 32-bit ARM Cortex M0 CPU with Bluetooth Low-Energy. There is also an accelerometer and compass, 5x5 LED matrix, 2 push buttons and 3 I/O rings supporting both digital and analog signals. The board is powered using a 3V battery pack with JST connector.

The device was designed to get children actively involved in coding, and has even been given away for free to children of year seven (11-12 year olds I believe) in the UK. As of July this year, it has also been for sale for anyone to purchase.




The review sample consisted of two parts, without any packaging: a green micro:bit a battery pack. The retail version on the other hand, came with a little paper bag.

When purchasing the micro:bit, there are different options: board and battery pack, starter kit with additional microUSB cable, or even full kits with breadboard, dupont wires and so on.



Physical Board


Having both a review sample and a retail model, I thought I'd compare them. I wasn't expecting anything major, but it seems there are various differences after all.


On the front of the board, minor differences:

  • a check mark in the upper left corner of the review sample: some kind of QA/verification confirmation? My fellow reviewers' boards seem to have the same marking.
  • the logo and button markings are less thick, the letters are clearer to read on the retail version.


On the back of the board, the component side, there are few differences. Some components have been moved or rotated, others added or removed. I'm not sure what these differences are or do, but it seems the board underwent a new revision before being released.





With the board being released, various kits and add-on boards appeared as well. One I particularly like is the prototyping plate which holds the micro:bit, a breakout board, battery pack and a breadboard. This makes prototyping really easy, as everything is held in place and doesn't dangle from wires. The only thing I would say is missing, is an ON/OFF switch on the battery pack or on the micro:bit. Sure, the battery pack can be disconnected. But repeatedly inserting and removing the battery pack is bound to put strain on the connector or wires, eventually resulting in failure.




Power On


The BBC micro:bit is preloaded with a demo program demonstrating some of its features such as the buttons and the accelerometer. There is also a little easter egg available at the end.


Here's the demo program in action:




Now that we got to know the micro:bit a bit better, let's compare it to a similar board: the CodeBug.




At first sight, both boards look similar:

  • a 5x5 LED matrix
  • 2 push buttons
  • PWR, GND and some I/O rings
  • a microUSB port


When comparing to a prototype of the micro:bit, the resemblance with the CodeBug is even more striking.


(prototype picture source: https://www.raspberrypi.org/blog/bbc-make-it-digital/ )imageimage


That's about where the common characteristics end. The CodeBug doesn't have the BLE connectivity or the onboard sensors. The processor is an 8-bit PIC and only has a fraction of the flash and RAM of the micro:bit.


Processor32-bit ARM Cortex M08-bit PIC18F
I/O2 buttons / 5x5 LED matrix / 3 I/O rings / 20 small pins edge connector2 buttons / 5x5 LED matrix / 4 I/O rings
SensorsCompass / AccelerometerN/A
Power5V microUSB / 3V battery pack via JST connector / 3V via PWR & GND rings5V microUSB / 3V via coin cell / 3V via PWR & GND rings / 3V via expansion header
ConnectivitymicroUSB / BLE / SPI & I2C on edge connectormicroUSB / I2C expansion header


From what I could find, both seem to retail for about £15, even though their capabilities differ greatly.




Let's move on to the programming of the micro:bit.


There are currently four ways to program a micro:bit, from using blocks to writing actual code:



I tried my hand at Python, using the offline mu Python editor, and it works as expected!


As an exercise, I programmed a little race game using a stip of individually addressable LEDs (NeoPixels). each player gets a button, A or B, and a colored pixel advances on every press of the button. Two more players could be added by using the remaining I/O rings and attaching a button to them.



Here's a demo of the race game:




And the Python code I created:





The micro:bit can be a fun piece of kit. I like the fact that there are multiple ways to program it, and the various onboard sensors allow for interesting applications without the need for add-ons.

The ring style connectors are a bit annoying to work with, as the alligator clips tend to slide, potentially shorting with other pins. To make use of all the pins available on the edge connector, a breakout board is required.


There is a lot of documentation available, which makes it easy to look things up in case of questions or problems.