First impressions of the BBC Micro:Bit

The BBC Micro:bit is the spiritual successor to the very famous BBC Micro, a computer created back in the 1980s by the British Broadcasting Corporation and Acorn Computers. With the idea of providing the resources for British school children to help learn how to code. This original initiative helped not only an entire generation of coders learnt their art but also help in the blossoming of the UK video game scene, with a lot of the early developers noting that the access to the BBC Micros worked as a gateway into languages.

BBC Micro:bit
BBC Micro:bit board front face

So short history lesson over, how does the BBC Micro:bit fit in to this picture? Well the idea behind the BBC Micro:bit is the same as its older brother the BBC Micro, which is to provide a low cost entry point to learning programming.

Though what makes this stand out from such boards as the Raspberry Pi? Each board has a low cost and both are designed to provide a coding environment suited toward first time coders, in and out of the school room.

Here is where the two boards differ greatly, although the Raspberry Pi was designed to be an in expensive computer sporting all the bells and whistles you’d expect to see on a full size machine, such as USB input, Ethernet connection and a HDMI port out. The BBC Micro:bit on the other hand is an embedded system and thus doesn’t have, any of these connections. However the reason behind the creation of the BBC Micro:bit was never to recreate a desktop personal computer. So what is it supposed to be used for and what does it sport on board?

BBC Micro:bit board layout
BBC Micro:bit layout

With a width of 5cm and a height of 4cm the BBC Micro:bit is a hell of a lot smaller than the original BBC Micro, as such what can be fitted on such a small form factor? On the front face of the BBC Micro:bit you get two programmable buttons, 25 individually addressable surface mount LEDs, as well as four holes through the board, 3 digital/analogue I/O rings,1 hole being for power and the final hole being used for ground.

Flip the board over and you get the following looking up at you. Starting in the top left corner is a Bluetooth antenna, move to the left, you’ll be greeted with a micro USB port, allowing you to connect to your pc, which is the main way that users will import their code over to the board, it will also allow you to power the BBC Micro:bit without a battery pack, more about that in a second. Next to this is a reset button, which does exactly that. Finally on the Top left corner you will find a battery pack connector, one of which you will be able to pick up in most ‘essentials’ packages from online retailers such as Pimoroni. From there we will drop down to the bottom of the board which you will see a collection of 20 edge pin connections. Moving over to the right hand side of the BBC Micro:bit there is a compass and accelerometer, both of which can be addressed in your code. Lastly but not least above these chips is the 32 bit ARM cortex M10 CPU clocked at 16MHz, with inbuilt 16k of RAM (random access memory) and Bluetooth low power.

Though don’t put the lack of input ports on the BBC Micro:bit put you off, on the contrary the fact that this board is not designed to be an inexpensive desktop computer, it doesn’t require all those extra items, such as a keyboard, mouse and a monitor. All you need is a USB to Micro USB cable to let you copy your code over to the board. With the 25 individually addressable LEDs you have an inbuilt display, which there is a lot of tutorials from scrolling text or animations and pictures. This display can be tied into the other items on the board, such as the buttons on the face or the accelerometer and compass.

Back of BBC Mirco:bit
BBC Micro:bit board back face

So now you know what you get on the board in terms of components and how the BBC Micro:bit differs from other available boards like the Raspberry Pi, but how do you interact with the board to give your ideas life. This is where the BBC Micro:bit shines, like to the original BBC Micro, the BBC Micro:bit runs BASIC, it also runs the go to language of internet of things projects, Python. Allowing you to access all the I/O, buttons and LEDs for your project. The great thing about programming for the BBC Micro:bit, is that you don’t have to worry about downloading any software or be daunted by a seemingly over complicated IDE, all your coding is done on the website, which four different programming environments, so if you have experience of Python coding in a notepad, then you can get going typing away to your heart’s content, used Scratch before, excellent, you have a block code editor lie the Scratch IDE. I have had my BBC Micro:bit now for about three days, personally having only written “Hello World” in Python before and never used the BASIC programming language, I found the programming environment straight forward and very easy to use, that I quickly had text scrolling across the LEDs followed by a short animation. As shown in the screen shots below the different programming environments give different levels support to help even those new to coding like me.

BBC Micro:bit Python IDE
Python programming environment.
BBBC Micro:bit Block Editor
Microsoft Block Editor
BBC Micro:bit Microsoft Touch Develop
My personal choice Microsoft Touch Develop

The BBC Micro:bit is a great inexpensive board with easy to understand programming environments allowing even those who have never coded before a way to use the embedded system, though it’s all well and good making the LEDs light up with an image or scroll text across, but what then??

This is where the Micro:bit Foundation shines, a quick look round it’s site, and you’ll come across a huge library of tutorials, ranging from blinking an led on the matrix to programming your first game. Even beginner coders like me can find it easy to use the step by step tutorials found on the Micro:bit Foundation’s website, first tutorial I decided to attempt was scrolling text across the LEDs a couple of lines of code later and I had my message to share. This was a straight forward process of copying the text I saw in the example, hitting the compile button and dragging it on to my BBC Micro:bit.

With this task completed I decided to attempt something a bit more difficult, so I jumped on to the Foundations website again and looked up the list of advanced tutorials, I wanted to make a game, so I pick meteorite which see you controlling a spaceship attempting to avoid falling meteorites. This took considerably more code to complete, though at each step not only did the tutorial tell me what I needed to put to make it work, it also gave concise and clear descriptions on what the code I was having to input would do and why. After about an hour I had my first working game on the BBC Micro:bit.

On top of this range of instructions, the fact that the BBC Micro:bit has been welcomed with open arms by makers across the world, means that a quick trip to google provides access to wide range of projects from making your own games, be they video games or accessories to board games like a BBC Micro:bit dice, all the way to robotic and internet of things controllers. The possibilities are nearly endless.

The final success of the BBC Micro:bit is the price tag, to start your amazing adventure into the world of Python or BASIC it will cost you the mighty sum of £13, that’s it, some readers my comment that this is more expensive then the Raspberry Pi Zero which is a whole computer! Yes the the Raspberry Pi Zero is only £4 for the board, but then you will need to buy the adapters HDMI, male micro USB to female USB and finally an Micro SD card to burn the operating system to, and once you have all those included the price is increased past the price of a BBC Micro:bit.


In conclusion should you get a BBC Micro:bit?? The short answer is yes. For the slightly longer answer, if you’re wanting to get back into coding with python and basic or you are at the beginning of your coding adventures, the BBC Micro:bit is a great low cost entry to embedded systems. Don’t have a lot of technical experience, not to worry, the BBC Micro:bit is very straight forward, mainly due to the fact that it doesn’t require any external peripherals like a keyboard, mouse or monitor, with a few clicks and a google search you can be up and running with your first programme in a matter of minutes. I got mine on Christmas day, and within 30 minutes I had it hanging from the Christmas tree, scrolling Merry Christmas across the LED matrix. I have had a lot of fun playing with the BBC Micro:bit, and the learning resources will just keep on  growing, when more and more people get their hands on this very capable little board and share their projects with the world.

BBC Micro:bit working
Please follow and like us:
Pin Share


Add yours

  1. Hello Ben, I just got a BBC micro:bit (for my 10 year old). What a wonderful device! I’m commenting here to check my understanding of how to work with it. Hope you don’t mind. There is of course the Microsoft web-interface to coding which (for now) I am not too fond of. I am far more interested in using microPython. As I understand it, there are two ways to use it.

    1) use the Mu editor to write Python scripts and flash the resulting hex code to the micro:bit
    2) uflash the microPython interpreter to the micro:bit device and work interactively (over the serial port).

    Did I get this right?

    • Thanks for the comment. To be honest after having a quick look at the two options you have provided, it looks like both are a reasonable alternative to using the online IDEs. I personally would go for Mu editor, just because it looks like it would take less effort to get up and running. Unless you and your 10 year old would like to learn and understand how serial emulation and communication works.

      Though I should point out that currently I have only used the online IDEs. Though thank you for bringing these to my attention.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.