top | item 14061178

In love with the BBC micro:bit

184 points| Niten | 9 years ago |markshroyer.com | reply

79 comments

order
[+] primitivesuave|9 years ago|reply
My organization is working with the BBC Microbit Foundation to make these devices more popular in the US education system. I find the Microbit to be far less intimidating than the Arduino, since the IDE is entirely web based and students can copy a program onto it just as they would copy a file onto an external USB drive.

One feature that kills it in the classroom is the Microbit's built-in 5 x 5 LED matrix, which means right out of the box it's "blink" program is much more interesting than the Arduino's one orange LED. Some kids will just spend the entire first day playing with the LED matrix, like getting their name to scroll across it, or programming the LEDs individually to make cool patterns. The Microbit also comes with an external battery holder for two AAA batteries, and feels a lot better to carry in your pocket than an Arduino or Raspberry Pi.

After seeing the tremendous adoption in the UK and meeting the Microbit founders, I am very confident this board will play a big role in introducing K-12 students to digital electronics.

[+] simooooo|9 years ago|reply
Read that 5 times before I realised "killed it" was good. Oh dear
[+] tyingq|9 years ago|reply
I agree...that little 5x5 matrix provides a way to introduce real concepts in a way that is still fun.

Easy ways to demonstrate bitwise ops, double buffering, 2d arrays, ring buffers, pwm, etc.

[+] mynameisvlad|9 years ago|reply
I'm volunteering with a school in the Puget Sound as part of TEALS and would love to get in touch about augmenting some of our curriculum with these bad boys (especially since the block language is similar to Snap, which is used in Intro CS). Do you have an email I can reach you at?
[+] jaustin|9 years ago|reply
I work for the micro:bit Foundation, who have taken ownership of the project on from the BBC - great to see some love on HN for this! There's more at http://microbit.org but for the Hacker News audience you're probably interested in http://tech.microbit.org though ;). There's even a reference design to make your own microbit-derived designs.

We'll be hiring tech people again soon, so if you want to come and help us teach kids around the world to be inventors, keep your eye on https://micro-bit-educational-foundation.workable.com/

Finally, as the author hoped, the revision of the hardware now shipping is more resilient to ESD than the previous one :)

[+] makmanalp|9 years ago|reply
Is this the new version?

https://www.sparkfun.com/products/14208

One minor comment - the article really made me want one, and when I went to the home page, it took me around five or six clicks to get to a place where I can buy one! Finally I found it at the very bottom of the page under "About". And even then when I click on the adafruit one and it takes me to the adafruit homepage. Why not have a giant button on the homepage? Do you folks really not want people to buy your stuff? :-)

[+] dhon_|9 years ago|reply
What did you change to improve ESD resilience?
[+] zitterbewegung|9 years ago|reply
I helped test the microbit and I wrote a small program for pedagogical purposes. The hardware was very neat and I liked the leds on the back.

Originally there was going to be a coin cell battery but they removed it because children might eat it. Also there is a Bluetooth radio on the microbit but the runtime was 12k and there wasn't enough space to load micropython and Bluetooth at the same time .

A link to the example is here https://github.com/bbcmicrobit/micropython/blob/master/examp... .

[+] askvictor|9 years ago|reply
There is a radio module for Micropython that allows devices to communicate with each other without the full Bluetooth stack
[+] PMunch|9 years ago|reply
As a CS student normally working with lower level languages and IoT devices using Arduino I was a bit skeptical when first trying out this. I've tried MicroPython based devices before but they have left a bad taste in my mouth with their need to have Python on a device that I'm probably only going to start once and then leave indefinitely for a task. But I have to say I was very pleasantly surprised by the MicroBit. I participated at a mini-hackathon with Zach Shelby at the University of Tromsø and I ended up using almost exclusively the JavaScript drag-and-drop stuff. Mostly to try it out and see how much you could do with it, and it actually worked really well. Teaching kids to program without having them worrying over missed commas or mismatched brackets is certainly something that would be beneficial. And it really didn't put as many limits on what I wanted to do as I expected either. Only time I dropped down to code was when I wanted to start organising my program for reuse. And Zach was very friendly and talked about how the devices worked under the hood and explained how the compilation was done in the browser so the only thing you load over is a hex of precomplied code. This allows you to really utilise all of the hardware for the device and even means that they could update things on their end which would make your experience smoother without having to upgrade the device.
[+] linker3000|9 years ago|reply
With regards to worries about shorting the connector with crocodile clips on the large I/O pads - the adjacent contacts are 'guard' ones connected to the same place so there's no problem.

I have been working with the micro:bit in my role as a volunteer STEM ambassador almost since it became available and it's a fun tool. My main STEM angles are computing and electronic engineering and initially it was very hard to get good info on the I/O functionality (coding and electronic), but things have come on in leaps and bounds, notably with the micropython guys, and I have concentrated on developing some fun 'advanced expansion' projects, such as a loud 3V audio amplifier (powered from the micro:bit), sound detector and a 5 band audio 'spectrum analyser'. Currently I am working on an alarm clock radio with the micro:bit being a plug-in add on controller (via its buttons and bluetooth). The LED matrix is good for a quick win with visuals, but adding a small OLED display makes a world of difference to what you can do - it would have been really cool if one of the small 0.91" OLED panels was baked in to the micro:bit.

The biggest challenge I originally found was the lack of a focal point for teachers, volunteers and developers to share ideas - I subscribe to many educational forums and groups and the most active I have found is the micropython mailing list (but if anyone knows of others let me know) and there seemed to be little encouragement or management from the official micro:bit side to centralise and promote the community spirit, plus there was a huge delay in getting out the full technical specs and schematics - and boy was it was impossible to get hold of an edge connector for months - so there was a lot of poking and prodding needed to work things out; very kindly some of the tech guys from the companys involved in micro:bit distribution and add-on kits were extremely generous at sharing what they had found out in the early days, especially about the quirky way the LED matrix is wired and driven. A bit more oversight from the project originators in the early days would have really helped.

PS: Totally agree about the RAM - 16K is just a tad tight and 32K would have been a better size.

[+] gunmania0|9 years ago|reply
There is actually a C/C++ layer that supports the higher level languages known as the micro:bit runtime[0], which means you can also program the device using C/C++... Another level of progression for children.

[0] https://lancaster-university.github.io/microbit-docs/

[+] Niten|9 years ago|reply
Nice, thanks for the link! I didn't realize there was a web-based C++ IDE targeting the micro:bit.
[+] senko|9 years ago|reply
I've got a 5yo that loves to play with micro:bit. She doesn't read (non-capital) yet, and doesn't know English (as it's not her native tongue), so I read out/explain what each block does, and she decides what she wants to do. Drawing pictures and producing music is currently the most enthralling bit :)

One thing I wish for is that there were visual cues / icons she could distinguish the blocks by (there are a few icons on a few blocks, but not all are covered, they mostly aren't unique, and not intuitive / easy to remember).

[+] askvictor|9 years ago|reply
My (non techie) partner has used these very successfully with older students who have dropped out of or disengaged with traditional schooling; particularly for numeracy outcomes, but more generally as well.

It's important to not forget their potential as a general educational tool, rather than just something to teach coding with. Have a read of Mindstorms by Papert if you are interested in this space.

[+] monk_e_boy|9 years ago|reply
We use it to teach kids to code. It's OK, but the screen is way too limited for it to be much fun. It is crying out for a good colour screen that can show more than one character at a time. Also, debugging is a pain. They need some sort of event log that can be inspected on the pc
[+] mavhc|9 years ago|reply
In some ways the limitations help, don't have kids wanting to program Quake 7.

I use mu, the micropython editor, it shows the error messages on the PC when connected via USB, instead of trying to read them scrolling across the display

[+] askvictor|9 years ago|reply
Having trialled these at my school, I think they have the potential to be the new turtle. I only hope that the botched rollout in the UK hasn't damaged the project's reputation to much.
[+] toyg|9 years ago|reply
Botched...?
[+] Jun8|9 years ago|reply
Quick question: I've been unable to order these in US but will be traveling to UK in May, is there a store that carries these (and other similar goodies)?
[+] jeffwass|9 years ago|reply
Try Maplin, an electronics chain. It's like what Radio Shack used to be.
[+] AlexeyBrin|9 years ago|reply
Seems to be available on Amazon US, for about $30.
[+] askvictor|9 years ago|reply
Pimoroni and pi supply ship internationally
[+] viubui|9 years ago|reply
I must be missing something. Why would a kid get excited about making a 5x5 array of LEDs to blink when they can easily program a ~2000x1000 array of lights (their laptop/phone/tablet screen) using their browser ?
[+] stinos|9 years ago|reply
they can easily program a ~2000x1000 array of lights

Easy for you doesn't mean easy for a 6 year old. Is there really easy pixel-by-pixel programming on any of the devices you mention? As simple as entering few lines of python code and pressing 1 single button? Let alone with direct full-screen access? (I'm really curious, maybe there is).

Also check the example: like 15 lines of Python which make the device play a tone based on the compass. Again: I'm really curious if there are alternatives which achieve this is such an easy way (IIRC even the simplest Arduino style boards I tried required installing an IDE, fiddling with some settings, and the code wasn't nearly as easy as Python). And I'm also not sure if laptop/phone would be amongst those alternatives.

[+] abritinthebay|9 years ago|reply
You certainly are missing many things.

What you describe is several orders of magnitude more complex to do for a child.

It's like saying "why would they build a 2d game with Scratch when they could build a 3D FPS in C++?"

[+] ntoll|9 years ago|reply
Yay... great to see MicroPython on the micro:bit getting some love. In case you're interested, here are the docs for MicroPython on the board -- you can do a remarkable amount on such a small device: https://microbit-micropython.readthedocs.io/en/latest/

(Caveat - I was involved in the MicroPython side of things. So good to see the other dev environments represented in the comments here.)

Hurrah! :-)

[+] LeoPanthera|9 years ago|reply
I wonder whether it would be possible to make MicroPython functional on an original 1980s BBC Micro, which has a 6502 and a whole 32K of RAM. The "beeb" stores interpreters on pluggable 32K ROMs.
[+] pjmlp|9 years ago|reply
Thanks to MicroPython adoption rate, I see it as the BASIC of IoT. :)

Nice work.

[+] kdelok|9 years ago|reply
We've been doing outreach work teaching 11-13 year olds to program microbits with Python. It's been a great tool and allowing the kids to see their code running on such a simple device turns out to be a great motivator.

I also think a shout out to https://create.withcode.uk/ is worthwhile. They've got a nice little microbit emulator for trying things out before downloading onto the microbit.

[+] deboboy|9 years ago|reply
Introduced it to my University of Washington students. It's a primitive but good tool for prototyping. Students don't have to fuss with installing an IDE, learning a new language, etc. Thank you TouchDevelop team.

We have some wacky ideas for microbit:microbit mesh experiments.

[+] forgottenacc57|9 years ago|reply
A computer without a screen just doesn't provide inspiration for creativity.
[+] sebow|9 years ago|reply
"I'm in love with the BBC"