
In love with the BBC micro:bit - Niten
https://markshroyer.com/2017/03/microbit/
======
primitivesuave
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
Read that 5 times before I realised "killed it" was good. Oh dear

------
jaustin
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](http://microbit.org) but for the Hacker News audience
you're probably interested in
[http://tech.microbit.org](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/](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
Is this the new version?

[https://www.sparkfun.com/products/14208](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? :-)

------
abchatra
I am dev who builds Microsoft MakeCode
([https://makecode.com](https://makecode.com)) editor for micro:bit. Try out
these fun projects on micro:bit and give us feedback 1\. Rock-paper-scissors
([https://pxt.microbit.org/projects/rock-paper-
scissors](https://pxt.microbit.org/projects/rock-paper-scissors)) 2\. Guitar:
([https://pxt.microbit.org/projects/guitar](https://pxt.microbit.org/projects/guitar))
3\. Milk Monster: ([https://pxt.microbit.org/projects/milky-
monster](https://pxt.microbit.org/projects/milky-monster))

------
zitterbewegung
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...](https://github.com/bbcmicrobit/micropython/blob/master/examples/counter.py)
.

~~~
askvictor
There is a radio module for Micropython that allows devices to communicate
with each other without the full Bluetooth stack

~~~
chrismartin
...and you can use it to build multiplayer games!

[https://github.com/c-mart/microbit/blob/master/space_shoot_m...](https://github.com/c-mart/microbit/blob/master/space_shoot_multiplayer.py)

------
gunmania0
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/](https://lancaster-
university.github.io/microbit-docs/)

~~~
Niten
Nice, thanks for the link! I didn't realize there was a web-based C++ IDE
targeting the micro:bit.

~~~
jamesadevine
Yes, the runtime is actually built on ARM's mbed, which means their online IDE
can also build micro:bit programs :)

------
linker3000
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.

------
senko
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).

------
PMunch
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.

------
askvictor
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
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
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

~~~
monk_e_boy
I've taught close to 500 kids how to code on them. The number one thing they
want to do is show better graphics. Number two is sound.

For me, [stepping through the code] I would expect as a normal part of coding.
Not having it seems to hark back to some primitive time.

~~~
Avshalom
The problem is that if you let them have good graphics their artskills start
getting in the way of the programming.

~~~
monk_e_boy
We do things like scroll your name - one character at a time is rubbish.

Then we do a digital pet (think tamagotchi) and again, with a low pixel count
this is crap. They want to draw unicorns or fish or bunnies. None of this is
possible.

After that they want it to beep when the pet is hungry. No can do.

All pretty basic stuff.

~~~
clort
you can't wire a speaker to an output pin?

if I recall on the Apple II, the speaker was a single bit on/off .. I played
games that had music playing concurrently with the onscreen action and even
speech!

I understand about the pictures though and I can understand if they kept it
simple on purpose to prevent them from being able to download a picture and
show it.. I work in a school and while we have a 3d printer on loan from a
local company, in the main kids want to print a Voldemort, not something they
made themselves..

~~~
mavhc
You can do that, it supports music, and speech

[http://microbit-
micropython.readthedocs.io/en/latest/tutoria...](http://microbit-
micropython.readthedocs.io/en/latest/tutorials/speech.html)

------
askvictor
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
Botched...?

~~~
askvictor
The delay in shipping meant they didn't arrive until well into the school
semester, meaning teachers didn't get sufficient time to play and incorporate
them into the curriculum. I have also heard that due to insufficient teacher
training (and play time) that a lot of them are sitting unused. Certainly some
teachers are doing awesome things, and the resources and community building
behind the project are great, but the realities of teaching on the ground have
meant that a lot of the potential is unrealised. I say this based on hearsay
and second hand information; I'm not in the UK so don't have any direct
knowledge.

~~~
clort
I work in a school, and I know at least the teachers did get hold of a few
before the students did though I don't know what has been done with them so
far as I'm not near the ICT dept -- its worth noting that the ones that were
given away to the year 7 students were _theirs_ for their own use and do not
belong to the school. This meant that the school had to buy some if they
needed them for classroom work, since the students might play with their own
at home, but could not be guaranteed to bring them in. For the teachers to
incorporate that into their curriculum, they are going to need to budget for
30 at least probably a few more for spares.

------
Jun8
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
Try Maplin, an electronics chain. It's like what Radio Shack used to be.

------
viubui
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 ?

~~~
abritinthebay
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++?"

~~~
viubui
actually I was going to suggest Scratch as the sensible alternative! Or Logo
or Smalltalk

but is drawing shapes with Canvas or SVG really more difficult than blinking
an LED with Python ?

~~~
TheOtherHobbes
Yes. Much.

I have some experience of trying to teach kids how to use a Pi, and even
simple Python part can be a nightmare. SVG is a non-starter.

Also, don't underestimate the fact that the LEDs feel physical while a screen
feels virtual. The journey from a single light to an array of lights to shapes
shown on the array to shapes shown on a screen is intuitive and fairly
obvious.

If you start kids on a screen, even with a turtle, they miss the basics.

------
ntoll
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/](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
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.

~~~
ntoll
Cute idea. Care to suggest a URL of two about pluggable ROMs for interpreters?

~~~
LeoPanthera
In the 80s they were called "language ROMs"

There's some high-level stuff here
[http://beebwiki.mdfs.net/Paged_ROM](http://beebwiki.mdfs.net/Paged_ROM) (see
"Languages") and I have asked my BBC Micro developer friends to send me some
more useful docs, which I'll forward to you as soon as I get them.

Edit: Actually that page has some pretty low-level stuff on it as well, which
may keep you busy for a while.

------
kdelok
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/](https://create.withcode.uk/) is worthwhile.
They've got a nice little microbit emulator for trying things out before
downloading onto the microbit.

------
deboboy
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
A computer without a screen just doesn't provide inspiration for creativity.

------
ausjke
can you buy them from USA? any distributor or any in the pipeline to do that?

~~~
Symbiote
There is a list of resellers:
[http://microbit.org/resellers/](http://microbit.org/resellers/)

------
sebow
"I'm in love with the BBC"

------
mietek
16 KB of memory?

The “64” in “Commodore 64”, the name of a computer introduced in 1982, stands
for 64 KB of memory. (A 128 KB version followed 3 years later.) It is now 35
years since 1982…

~~~
monocasa
To be fair, the British government didn't give a Commodore 64 to every British
child for free.

~~~
mbrookes
Not every child - every Year-7 (11-12 year old) child, whose school had a
teacher interested enough to apply for them.

My child's DT teacher did, but they used it for one lesson, then were given it
to bring home. It's now in a drawer somewhere.

That was last year. I haven't heard of any plans to repeat the exercise.

~~~
clort
As I understand it, it was not the DT teacher -- the government gave one to
every year 7 child for themselves to keep and use however they wish. This is
nice in a way but the teachers at my school bemoaned that they couldn't really
use them in the class, since the students could not really be counted on to
bring them in when required. If you think that the school would benefit from
them, then contact the PTA or the school governers and get them to ask parents
to donate unused micro:bits to the school?

~~~
mbrookes
Incorrect: [https://community.tes.com/threads/the-micro-bit-school-
regis...](https://community.tes.com/threads/the-micro-bit-school-registration-
form.719900/)

