BBC's Micro:Bit computer
The BBC Micro:Bit will start rolling out to all year-seven pupils in the UK from the end of March.
It consists of a matchbox-sized single-board computer with 256KB of flash and 16KB of RAM, manufactured by element14.
The memory size is small because the development environment is done by apps and browsers running on tablets, phones or PCs. This is as a board for running simple programs and interfacing with the surrounding world.
The Micro:Bit comes with lesson plans, obligatory videos and an array of code samples.
Although this is not a Windows or even a .NET platform, Microsoft has provided two languages for programming, and much of the course material.
Why not use the Raspberry PI
Many enjoy Linux command line interfaces, but not the average 12-year-old. Micro:Bits are designed to be used by the smartphone generation and the BBC, ARM et al want to reach all children, not just those whose parents force-feed them C++.
Micro:Bit ships ready for four development systems.
Entry level is Microsoft Blocks, which is drag’n’drop flowcharts similar to Scratch. Here you simply assemble programs and fill in blanks. It is possible to create something which scrolls text or reacts to being picked up without typing any text at all.
The shaking is detected by the accelerometer and messages can be shown on the five-by-five grid of LEDs. This is a basic Internet of Things concept, which teenagers are going to find useful now or later in their career.
You get event driven programming, loops, simple variables and the ability to make it complain if you pick it up. Most children are motivated by a “gadget” doing something rather than the boring miracle of instant message processing.
The BBC is pushing the idea of “creativity”, such as making it into a message-displaying badge and for it to respond to text messages through a phone. This can be achieved quite quickly, unlike those BBC Micro days at the dawn of the 1980s when it took three days typing in code from a magazine.
JavaScript made stupidly simple by CodeKingdoms
Microsoft TouchDevelop has been in use for a while as a simple way to get started in mobile app development for Android and WinPhone. The feedback has been pretty good and again it is helpful and simple.
Code Kingdom’s JavaScript is the next step towards real programming with the drag’n’drop interface to help think about algorithms more than syntax, but it allows movement stepwise between simple-but-limited blocks to straight hardcore text-based coding.
These work by pushing the whole program, plus the Lancaster University Runtime, down the line to the Micro:Bit in an IoT rather than PC development style. The runtime includes a Device Abstraction Layer that means languages plug into a jump table and novice programmers don’t need to care much about hardware at all.
Part of the reason for having two Cortex MPUs is to get problem of having one processor doing the booting, loading and communicating with the host; corruptions can lock the device, which is annoying for an adult developer and catastrophic for children.
So MicroPython can communicate with the host for interpreted debugging and development, which means you can get started on what are rapidly becoming the most common languages for teaching computer science in schools: JavaScript and Python. As the computer is based on ARM’s mbed platform, it can also support C++, for more users. The Micro:Bit has an edge connector and comes with banana crocodile clips to connect to more devices and sensors. Companies such as Already Tech Will Save Us and Kitronik have them ready and available.
The BBC say it will open-source the whole thing and turn it over to a non-profit outfit that will sell Micro:Bits and develop it for the next year.
Hardware
The Micro:Bit sports low-power Bluetooth, so it can be paired with a phone or tablet to respond to texts or be programmed via Samsung’s Android app.
The board's Nordic Semiconductor ARM Cortex core handles Bluetooth as well as the actual execution of the self-contained apps. The NXP Cortex microcontroller communicates with the host via USB, as well as a magnetometer for compass direction, and accelerometer for motion.
The five-by-five LED grid is surface mounted with power coming from AAA batteries which will keep it going for a few days.
Finally
The Micro:Bit is not in the same space as the Raspberry Pi, that other great small computer board aimed at the next generation. The Pi runs Linux and – at a push – something approximating a version of Windows, which the Micro:Bit does not.
Rather, it aims more at the middle ranks of children who haven’t yet got coding in their blood.