New BBC Micro:bit Adds Microphone And Speaker

There’s an old tale that TV companies only need to make a few years of kids’ TV shows, because their audience constantly grows out of their offerings and is replaced by a new set with no prior knowledge of the old shows. Whether it’s true or not is up for debate, but does the same apply to single board computers aimed at kids? The original BBC micro:bit was first announced back in 2015 and must be interesting its second generation of kids by now, but that hasn’t stopped them bringing out a second version of the little educational computer. How do you update such a simple device? Time to take a look.

Edge connector shown on the original micro:bit design

The form factor of the new board is substantially the same as its predecessor, with the same edge connector and large connection pads, and the familiar LED matrix display. The most obvious additions are a small speaker and MEMS microphone allowing kids to interact with audio in their code, but less obvious is a new touch button in the micro:bit logo. The original had it in the silk screen layer, while the new one has it as copper for a capacitive sensor.

The silicon has an upgrade too, now sporting a Nordic Semiconductor nRF52833 running at 64 MHz and sporting 512k of ROM and 128k of RAM with built-in Bluetooth Low Energy. Binaries are incompatible with the original, however all the development environments can recompile code for a new universal binary format capable of running the appropriate software for either version.

The micro:bit has been more of a hit in schools than it has in our community, perhaps because it has the misfortune to have arrived alongside so many strong competitors. However it remains a powerful contender whose easy programming alongside the power of more traditional toolchains make it a good choice for kids and grown-ups alike.  We took a look at the original back in 2016, if you are interested.

16 thoughts on “New BBC Micro:bit Adds Microphone And Speaker

  1. correction, it’s 512kiB Flash and 128kiB RAM.

    It’s a pretty big jump though the old Micro:Bit was a Cortex-M0 with 16kiB RAM, this new version is a Cortex-M4 (w/ FPU) and 128KiB RAM. You can do a whole lot with all of that. Of course a microphone and speaker is going to blow though your RAM if you’re recording audio (even at 16000 Hz / 8-bit). 512k Flash could hold quite a lot of audio samples if you’re clever on how you store them and process them. For example, store samples for a musical instrument using a lower dynamic range (8-bit, 6-bit, …), then mix them up at a higher rate with global volume, re-sampling, and ADSR amplitude.

    1. Fixed. Thanks.

      And yeah, it sounds pretty cool.

      As you say, 512k is plenty if you’re doing smart compression. I managed to cram myself saying digits, “negative” and “point” into the space left over in a 16k ATMega once. Sounded like crap, but useful. I could probably fit this whole blog post into 512k. :)

      But a microphone is useful for so many more things. Kids will find cool ways to use it.

  2. I do enjoy seeing updates on the Micro:Bit. They’re interesting little devices with a good goal. If I’m representative of anyone beyond myself, I think the reason hackers don’t usually do much with them is the lack of pins vs the size of the device. They’re not much more than demo units that would need extreme overhauling to do anything interesting. Other products, as pointed out, were more competitive on that front.

    This new offering with bluetooth could get a little more attention, but only marginally. The range is limited for most applications.

    Oh, has anyone ever seen something these should slot into? That header with the pinouts looks like it should fit into something, but I’ve never heard of it or seen it happen.

      1. Very interesting. I actually wondered if the smaller pads were connected to anything or if only the labeled pins were usable. I assumed, incorrectly, that it didn’t make sense to have usable pins that had no labels at all when the board is covered in unnecessary labeling. This has answered all of those questions. It does indeed seem to be a very functional board, but they should consider adding at least some pin numbers to the pads. Thanks!

        1. There is quite a big range of addons available for them in the UK which take advantage of the edge connector. Try, e.g., going to Pimoroni’s website and searching for “bit”: they’ve ported a lot of their own Raspberry Pi boards to the Micro:bit format, and they sell a lot of similar products from other companies too. Kitronik also have a lot of Micro:bit expansion boards in their catalogue. Adafruit have one or two products designed around this but mostly seem to be resellers for Pimoroni/Kitronik boards.

          Am I right in thinking that the Micro:bit is still more popular in the UK than elsewhere? Not long after launch they gave a huge number of them away to schoolkids, so it would make sense that it has a larger fanbase here, and would explain why UK companies like Pimoroni and Kitronik make/stock more boards for it than US companies.

          1. Naomi Wu [Sexy Cyborg] helped redesign it with a much larger LED matrix to display Chinese characters. The original display is too small for that. She made sure they had a proper license and it is now manufactured as the Sino:Bit and has proved very popular. Apart from the display, and the board shape it is identical in function to the Micro:Bit so you can use the same development environment and tool chain.

  3. I have a headache from microbits. I am trying to develop some software to turn the thing into an specialized input device. For the existing one there are a bunch of tool chains, all incomplete in different ways.

    The hardware I need is an accelerometer, that I can sample at around 100 hz, a bluetooth HID, that I will use to send single kepresses, a display that can show a single digit, plus whatever is needed to handle pairing, just at startup, a button that isn’t the reset. (two preferred) and a way to get it a battery to run it for about 4 hours on a charge sending one keypress a second. And if possible this comes all on the board, so they can set it up without having to do any soldering, just stick a handle on it. (which I expect will be made mostly from a one cell USB power bank)

    The old ubit also wins on being very cheap, and since the most likely user of the thing is British, there will be at least one kicking around, that the kid was sent when they entered 3rd grade, and now are bored with. They will need two, but should be able to pick a used one up at a car boot sale for pocket change.

    So I duly ordered a pair of them to play with, and started to look at getting a toolchain running. There are a bunch of choices. When the kids use it, they start with a Scratch like system, that is blobs on a screen. There is circuit python, but there isn’t room for python and the bluetooth support. There are a variety of options for C, including a vendor supported web based, a more typical offline C compiler, etc. There is an add-on for Arduino, but all IO is roll your own; There are others.

    So there are support libraries right? Yes, many. And they all were the result of a burst of energy when the thing first hit the street, and haven’t been touched since. (tho the tool chain, etc has moved on) I am trying to play mix and match to see if I can assemble what I need. Each chain has some of what I need. (tho in the case of the vendor stuff, getting it to compile now is a challenge)

    Unfortunately, the vendor stuff (MBED) particularly the underlying OS has moved from the v2 that the old ubit has to V5.6 and nobody has taken the time to move it to the ubit. it was the vendor tools where you found the working bluetooth HID. (at one time.) Oh yea, the vendor stuff is one level down from what I would like. I just want to say “start being a keyboard, including pair up if you need to” and “send this one keystroke now please” I really don’t want to have to worry about strange things for querying battery state of charge, etc….

    A university did a bunch of work with them when they came out, but they didn’t get to the HID. They got a bunch of stuff that let you connect to a phone app with bluetooth, but the keyboard didn’t seem to get completed. And they didn’t use the vendor toolchain directly, (vendor stuff is online) They used an offline compiler, and jammed gcc in place of the vendors preferred compiler. Then the people that worked on it, all graduated or something, as there haven’t been any updates to the github since 2016.

    There is some arduino support, but the device specific libraries are a bit lacking. (especially regarding bluetooth). And there were some running changes to the hardware, in particular they switched accellerometers (which I need). that the university stuff adapted to, but not anything else.

    In general it seems that for the hobby level stuff, peoples involvement with bluetooth ends when they get the uart working.

    There are alternatives. In particular the adafruit Clue. The next generation chip, a small oled display instead of the 5×5, the same form factor, but with better power options, (the older (anyway) ubit can be fed USB or 2xAA. If you connect a lithium cell to where the AA’s plug in, you let the magic smoke out. The clue will let you feed lithium directly, but it doesn’t include charging provisions currently.

    Since it is an Adafruit product, the library support is pretty good, and growing. (it even seems to have BLE HID. unfortnately the two CPU generations are so different, no way to retrofit the library, but it might just supply suitable wrapper that let me get the the MBED stuff working). I do expect I will have the stuff working on a clue before I get it sorted for the ubit. The drawbacks – the Clue is 3x the price, and likely difficult to get in the UK right now.

    The other one I found is the M5stick. even smaller form factor, and it has built in battery and charging. Its an ESP-32 base. I am just starting to look around for the toolchain. Hopefully it is more coherent. but my first quick foray hit japanese on the third hop (I later found the english version)

    I decided to take another break, and go beat my head against the WordPress wall. (its been years, much has changed) The result is a bit of political snark, The Herman Cain Medal. Recognizing those that used their public platform to hinder public health measures, and otherwise encouraged the spread of contagious disease. Think of it as a cousin to the Darwin Award, Named for the first person to qualify. (my rules say the medal is posthumous only, but there is a dishonorable mention for those still around to make things worse.) Check it out, and if you know of someone that might qualify, there is a way to nominate people. (do it from a desktop, the mobile menu is doing vertical text right now).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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