BBC micro:bit - is it just for education?

In 2015, the BBC (British Broadcasting Corporation) gave away a development board called the BBC micro:bit (named after the BBC Micro) to every Year 7 (11-12 year old) student. The goal was to try to "encourage kids to learn how computers work, rather than simply consuming media on them." I do not live in the UK, so I did not get one. However, they are now being sold commercially. The $15 dollar board has a bunch of goodies packed in, including Bluetooth, a 5*5 led matrix, two buttons, an accelerometer, and more! But is it any good? Let's find out!

micro:bit box front
micro:bit box back

The box does not give much information as to what's inside. It does say that a portion of the sales from the micro:bit goes to the Micro:bit Educational Foundation. Let's open the box!

Inside of box

Inside there is a quick start guide, a "safety guide" which is not very helpful, and the board itself, packaged in a very strange anti-static bag.

The micro:bit itself!

Here's the micro:bit itself! It is quite small. Here it is next to a Raspberry Pi Zero in a case:

micro:bit vs Pi Zero.

The micro:bit has a Micro USB connector. When I plug it in to my computer, it powers on and runs a demo program showcasing the hardware. The LEDs are bright!

TOO BRIGHT!

The demo program is only interesting for a minute or two. Time to try programming it!
The quick start guide tells me to go to the website "microbitworld.me". I try going there, but it seems to not exist anymore. I was able to find microbit.org. It seemed relatively straightforward to program, it used MicroPython or a block-based Javascript Microsoft made. I decided to try Python first. I was easily able to make text scroll across the screen. I also tried the Microsoft language. I built a sound-effects machine by connecting my headphones to the alligator clip terminals on the board. When it came time to upload my code, all I had to do was download a .hex file and put it onto the micro:bit's internal storage (it shows up as a flash drive).

I had previously made a program for my Pyboard, which also runs Micropython, called iSec (different from iSec Capture), which is a miniature security system featuring a code that would need to be entered to stop an alarm. A page on the iSec is (hopefully) coming soon! I was excited to try to port this to the micro:bit, which uses a slightly different syntax for accessing pins. But how could I put the micro:bit into a breadboard?

Sparkfun breakout board.

Enter the Sparkfun micro:bit breakout board ($5)! This plugs into the bottom of the micro:bit and gives you a place to solder header pins. Some people would be upset at having to use a breakout board, but I like the idea. If I have multiple circuits that use the micro:bit, I can unplug the micro:bit from one and plug it into another.

The final feature I want to cover didn't work for me. It was the micro:bit app. The micro:bit has Bluetooth connectivity, which should allow one to flash the board from their phone. Since the software development is all done online, you should not need a computer to program it. However, I was not able to get the micro:bit to pair. I am not sure if this affects the "radio", which allows two micro:bits to talk to each other. I am not that sad that this feature doesn't work, because I would never want to code it from my phone anyway. I would prefer a real keyboard.

Overall Judgement

I rate the BBC micro:bit 5 stars out of 5. Here's why:

 - The board is very easy to use, and the programming languages are very well supported.

 - The breakout may be a pain for some people, but it allows the micro:bit to be swapped between different circuits easily.

 - The built-in hardware allows one to get started as soon as they get the board.

 - The Bluetooth not working is not a problem for me, as I wasn't planning on using it anyway.

 - Even the board is targeted towards schools, it still is great for other people.

Here's a comparison between Pyboard and micro:bit:


micro:bit Pyboard
Price $15 + $5 for breakout board $40
Built-in hardware 5*5 LED matrix, two buttons, Bluetooth, accelerometer, compass One button, accelerometer, microSD slot, four LEDs, real time clock
Processor 16 MHz ARM Cortex-M0 168 MHz ARM Cortex-M4 w/ hw floating point
RAM 16 KB 196 KB
Storage 256 KB 1048 KB, expandable with microSD
Included items Antistatic bag, quick start guide, "safety guide" Antistatic plastic box, two stickers
Programming Language MicroPython, Scratch (partial support), Javascript MicroPython
GPIO ports (without hardware attached) 11 30

As you can see, the Pyboard is much more powerful than the micro:bit, but that comes at a price. It is twice as expensive as the micro:bit with the breakout board! Most projects don't need that much power, so I would recommend getting a micro:bit instead of a Pyboard if you want to try a board running MicroPython.