Exploring the BBC Micro:Bit Software Stack

The BBC micro:bit has been with us for about eighteen months now, and while the little ARM-based board has made a name for itself in its intended market of education, we haven’t seen as much of it in our community as we might have expected.

If you or a youngster in your life have a micro:bit, you may have created code for it using one of the several web-based IDEs, a graphical programming system, TypeScript, or MicroPython. But these high level languages are only part of the board’s software stack, as [Matt Warren] shows us with his detailed examination of its various layers.

The top layer of the micro:bit sandwich is of course your code. This is turned into a hex file by the web-based IDE’s compiler, which you then place on your device. Interestingly only the Microsoft TypeScript IDE compiles the TypeScript into native code, while the others bundle your code up with an interpreter.

Below that is the micro:bit’s hardware abstraction layer, and below that in turn is ARM’s Mbed OS layer, because the micro:bit is at heart simply another Mbed board. [Matt] goes into some detail about how the device’s memory map accommodates all these components, something essential given that there is only a paltry 16 kB of RAM in hand.

You might wish to program a micro:bit somewhat closer to the metal with the Mbed toolchain, but even if that is the case it’s still of interest to read a dissection of its official stack. Meanwhile, have a look at our review of the board, from summer 2016.

The Micro:Bit Gets A Foundation

It has been announced that the BBC are to pass their micro:bit educational microcontroller board on to a non-profit-making foundation which will aim to take the project to a global audience. The little ARM-based board with its range of simple on-board peripherals and easy-to-use IDEs was given to every British 13-year-old earlier this year with the aim of introducing them to coding at an early age and recapturing some of the boost that 8-bit BASIC-programmable computers gave the youngsters of the 1980s.

Among the plans for the platform are its localization into European languages, as well as a hardware upgrade and an expansion into the USA and China. Most excitingly from our perspective, the platform will henceforth be open-source, offering the chance of micro:bits finding their way into other projects. To that end thay have placed a reference design in a GitHub repository.

We’ve covered the micro:bit story from the start here at Hackaday, from its launch to the point at which it shipped several months late after a few deadlines had slipped. We reviewed it back in June, and found it a capable enough platform for the job it was designed to do.

This is an interesting step for the little ARM board, and one that should take it from being a slightly odd niche product in one small country to the global mainstream. We can’t help however thinking that price is it’s Achilies’ heel. When it costs somewhere close to £13 in the UK, it starts to look expensive when compared to the far more capable Raspberry Pi Zero at £5 or a Chinese Arduino clone at about £2.50. Here’s hoping that economies of scale will bring it to a lower price point.

Germans React to UK’s micro:bit

Getting kids interested in programming is all the rage right now, and the UK is certainly taking pole position with its BBC micro:bit, just recently distributed to every seventh-grader in the land. Germany, proud of its education system and technological prowess, is caught playing catch-up. Until now.

The Calliope Mini (translated here) is essentially a micro:bit clone, but one that has learned from the experience of its spiritual forefather — the connection points are spread around the outside of the board where the crocodile clips won’t accidentally touch each other.

Not content to simply copy, the Calliope also adds additional functionality. A microphone and speaker are integrated onboard, as is a Grove-style I2C connector. They’ve even added a TI DRV8837 H-bridge motor driver, so students could make a rolling robot straight out of the box.

Continue reading “Germans React to UK’s micro:bit”

Hands-On With The BBC Micro:Bit

It’s been a long wait, but our latest single board computer for review is finally here! The BBC micro:bit, given free to every seventh-grade British child, has landed at Hackaday courtesy of a friend in the world of education. It’s been a year of false starts and delays for the project, but schools started receiving shipments just before the Easter holidays, pupils should begin lessons with them any time now, and you might even be able to buy one for yourself by the time this article goes to press.

The micro:bit top view
The micro:bit top view

It’s a rather odd proposition, to give an ARM based single board computer to coder-newbie children in the hope that they might learn something about how computers work, after all if you are used to other similar boards you might expect the learning curve involved to be rather steep. But the aim has been to position it as more of a toy than the kind of development board we might be used to, so it bears some investigation to see how much of a success that has been.

Opening the package, the micro:bit kit is rather minimalist. The board itself, a short USB lead, a battery box and a pair of AAA cells, an instruction leaflet, and the board itself.  Everything is child-sized, the micro:bit is a curved-corner PCB about 50mm by 40mm. The top of the board has a 5 by 5 square LED matrix and a pair of tactile switches, while the bottom has the surface-mount processor and other components, the micro-USB and power connectors, and a reset button. Along the bottom edge of the board is a multi-way card-edge connector for the I/O lines with an ENIG finish. On the card edge connector several contacts are brought out to wide pads for crocodile clips with through-plated holes to take 4mm banana plugs, these are the ground and 3V power lines, and 3 of the I/O lines.

Continue reading “Hands-On With The BBC Micro:Bit”

Snake On A BBC Micro:bit

The first of the BBC Micro Bits are slowly making their ways into hacker circulation, as is to be expected for any inexpensive educational gadget (see: Raspberry Pi). [Martin] was able to get his hands on one and created the “hello world” of LED displays: he created a playable game of snake that runs on this tiny board.

For those new to the scene, the Micro Bit is the latest in embedded ARM systems. It has a 23-pin connector for inputs and outputs, it has Bluetooth and USB connectivity, a wealth of sensors, and a 25-LED display. That’s small for a full display but it’s more than enough for [Martin]’s game of snake. He was able to create a hex file using the upyed tool from [ntoll] and upload it to the Micro Bit. Once he worked out all the kinks he went an additional step further and ported the game to Minecraft and the Raspberry Pi Sense HAT.

[Martin] has made all of the code available if you’re lucky enough to get your hands on one of these. Right now it seems that they are mostly in the hands of some UK teachers and students, but it’s only a matter of time before they become as ubiquitous as the Raspberry Pi or the original BBC Micro.  It already runs python, so the sky’s the limit on these new boards.

Continue reading “Snake On A BBC Micro:bit”

British Kids Finally Get Their Micro:Bits

The little board that has at times seemed so plagued with delays as to become the Duke Nukem Forever of small computers has finally shipped. A million or so British seventh-grade schoolchildren and their teachers will today start receiving their free BBC micro:bits.

Announced early last year, the plan was to rekindle the learning of code in schools through handing out a powerful and easy to program small computer to the students. The hope is that it will recapture the spirit of the 1980s, when school computing meant programming Acorn’s BBC Micro rather than learning how to use Microsoft Word.

Sadly the project has been delayed multiple times, the original target of last October was missed, and a revised estimate from January suggested they might ship at half-term (about four weeks ago). With only a few days to go before the Easter school holidays the kids will have to try them out at home, but at least they’re arriving.
Continue reading “British Kids Finally Get Their Micro:Bits”

BBC Micro:Bit Gets An App

It’s a small, cheap, British single board computer, and nobody can get hold of them. Another Raspberry Pi Zero story, you might think, but no, this is about the other small cheap and difficult to find British SBC, the BBC micro:bit. Samsung UK have produced an app for the micro:bit that allows owners to write code on their Android phones, and upload it to their micro:bit via Bluetooth.

The micro:bit story has played out with agonising slowness over the last year, but it seems that there may now be light at the end of the tunnel. The idea is a good one: give a small but very capable single board computer to every Year 7 (about 12 years old) child, and watch them learn something more useful about computers than how to use a Windows application. It has echoes of the BBC Micro 8-bit computer for schools sponsored by the UK government in the 1980s, and the hope is that it will help reproduce the same technical literacy enjoyed by 1980s kids.

The plan was for the youngsters to receive their boards last October but the project as been plagued by a series of delays and the latest estimate from January was that the boards would reach the kids after the school half-term. In other words within the next couple of weeks, depending on which part of the UK the school is located in.

We recently had a brief opportunity here at Hackaday to examine a micro:bit in the wild. It is a capable little board in its own right, being at heart an mbed, however the recommended web-based micro:bit IDE and compiler differs from the more usual mbed toolchain. One thing that caught our attention in the demo we were given was the micro:bit’s use of USB to deploy code; since schools lock down computer hardware to the n’th degree we were concerned that the micro:bits might not be visible on school USB ports. Easy Bluetooth deployment through the Samsung app promises to bypass that barrier, which can only be a good thing.

We’ve been watching the micro:bit story here at Hackaday from the start, most recently we noted the arrival of Python on the platform. If it has a formative influence on the generation of developers and engineers you’ll be hiring in the mid-2020s then we expect it to feature in many future stories.