Micro:bit Review

It seems like everyone is launching educational boards to teach kids to code these days.  While many do an O.K. job, we really like the micro:bit from our friends at the BBC.  Yes, the BBC.  This isn't a pure hardware review of the micro:bit - we are more concerned with how why we plan to use it.

As always we have to start with our disclaimer: we paid wholesale for our micro:bit boards so this review is brought to you in part by honesty.

I think the easiest way to describe the micro:bit is something between an Arduino and a Raspberry Pi.  While on the spectrum between these two industry standards, the micro:bit is much closer to the Arduino - it has some features (e.g built in sensors) that take it just a bit farther.  While more capable on paper than an Arduino it is nowhere near as powerful as a Raspberry Pi - nowhere.

Where the micro:bit shines is how scalable it is as a teaching platform.  This makes sense because the micro:bit was developed to be a teaching platform in the UK.  The micro:bit can be programmed using block coding (similar to our old friend Scratch), using Javascript or Micropython.  This versatility allows you to use the same board to teach coding to elementary school children as you would to high schoolers.  By comparison the Arduino IDE is going to start somewhere in the middle and you can make it as complicated as you want to within the confines of the hardware capability.  The Raspberry Pi does have a higher barrier to entry- although I do blame some of that on many people's unusual aversion to a Linux environment.

One thing the micro:bit does have in common with the Arduino and the Pi is superb documentation.  If you visit the micro:bit website you have all of the information you need to get started in one place.  This is nice because one of the most common reasons for putting a new micrcontroller down is due to a lack of readily available documentation.  There are many well documented examples and the functions are explained wonderfully.

Going back to scalability in programming, we have been using two platforms to program our micro:bit.  First, we use Microsoft's MakeCode for block coding and javascript-ing.  MakeCode is an open-source, online editor which generates a .hex file for you to drag over to the micro:bit (it will appear as a drive when you plug it into your computer).  Did we mention its online and free (?) - however the click-and-drag is a bit annoying.  MakeCode also has a device simulator which is nice to preview how certain things are going to look.  As an aside - MakeCode can also be used for the Adafruit Circuit Playground Express.

The second platform we are using to program the micro:bit is Mu.  Mu is a downloaded executable which was written in Python and has the bonus feature of being able to directly program the micro:bit. Mu is a little bit more like the traditional IDE that you may be used to but it does not have a device simulator.  I personally like Mu more, but I don't have a really good reason why.

In all, I like the micro:bit as a teaching tool; this microcontroller's true niche is as a tool for teaching different age groups how to code on the same piece of hardware.  The price point is also a definite plus as well.  You can get the micro:bit Go Bundle for less than $17 and that lets you take your little project on the move.