There is a whole generation of computer scientists, software engineers, coders and hackers who first got into computing due to the home computer revolution of the mid-1980s and early 1990s. Machines such as the Sinclair ZX Spectrum, the Commodore 64 and the BBC Micro became the entry point for whole swathes of young people to learn about computing. Unfortunately as we entered the era of the PC and game consoles the “roll up your sleeves” attitude of the home computer revolution started to fade and in turn universities started to see a drop in the number of applications for computer science related studies.
This decline has been partly addressed by the great work of the Raspberry Pi foundation and now by the work of the Micro:bit foundation. You may have noticed the similarities between the name of the 1980s BBC Micro and the new BBC micro:bit. That is of course intentional. The British Broadcasting Corporation was a major partner in the release and the original BBC Micro and now the corporation is playing a significant role with the launch of the new micro:bit.
On the left is a micro:bit emulator which demonstrates how the program will run on a real micro:bit. On the right is the program. There is a forever loop with two blocks inside of it. The first tells the micro:bit to scroll the message “Android Authority rulez!” and the second tells the micro:bit to pause for 1 second after the message has finished. Then the program will loop back and do it all again.
To add a new block you click on one of the menu items in the middle and then drag the desired block from the palette. The program in the screenshot above is for a very simple dice program (or should I say “die” as it is singular) that will display a random number between 1 and 6 when someone shakes the micro:bit.
There are blocks for controlling the LED matrix including showing strings, numbers and user-defined images. There are also blocks for reading the inputs like the compass and the accelerometer, plus blocks for all the normal programming stuff like conditions, loops, variables and simple arithmetic. On top of all that there are also blocks for controlling the input/output pins and even a way to do peer-to-peer communications using Bluetooth.
When you plug the micro:bit into your PC it will appear as a USB flash drive, called “MICROBIT.” To flash a blocks program onto the micro:bit you hit the download button and then drag-and-drop the resulting “.hex” file onto the MICROBIT drive. The micro:bit will automatically start the flashing process and then reboot when completed.
This incompatibility will certainly be confusing to anyone just starting out and could cause frustration if an inexperienced user tries to switch from one environment to the other.
Python is a very popular high-level programming language that is often used to teach programming as it is simpler than languages like C and C++. MicroPython is a lean version of Python specifically designed to run on microcontrollers (like the ARM Cortex-M0 on the micro:bit).
There is no doubt that the micro:bit is a excellent learning tool. It takes a different approach than the Raspberry Pi (which is also an excellent way to get into programming) since it doesn’t need a keyboard, mouse or monitor to use it. However you will need access to a PC for the coding and flashing. Well, actually that isn’t strictly true. It is possible to program the micro:bit from a smartphone or tablet. There are micro:bit apps available for Android and iOS. These apps basically take the place of the PC for the flashing process, which is done over Bluetooth rather than over a USB cable. However the programming environment offered within the app are actually just links to the online web environments.
The aim of the micro:bit is to encourage creativity in terms of software and hardware among young people and it certainly does just that. My kids are keen to play around with the micro:bit (now that the review is done) and I think that because the LED matrix is simpler to program than say sprites in a game on something like the Raspberry Pi then entry point is lower (which is a good thing).
If you are thinking about getting a young person a present which might actually be educational rather than just provide amusement, then you should certainly think about the micro:bit.