My digital forensics and cyber security club (mostly high ability Y9s) loved seeing their python code scroll their names across the screens and soon graduated to setting each other code challenges.

A bunch of Y13s revising data structures loved being able to define and display custom images.

But I can’t use them yet with a whole class – I’ve only got 5. Even when I’ve got enough to give away to Y7s, I doubt it’ll be long before one gets left at home, broken (or sold on eBay!)

So how can I use them in class? There’s no doubt that the excitement factor goes up when students see their code on a physical device rather than just on screen. But it’s also hard do deny that boredom and frustration would be an issue if students had to wait to try out their code because of a limited number of devices.

You can currently program a micro:bit in any of four languages: CodeKingdoms (JavaScript), Microsoft Block Editor, Microsoft TouchDevelop and Python. Three out of the four languages offer a device simulator so that you can test your code without a physical micro:bit but the one I’m interested in – python – currently doesn’t.

The other languages are great, but python is the real game-changer for use in school as it can build on all of the python projects and challenges we already teach at KS3, so it’s a real shame there isn’t a python simulator (yet) on the official site.

To fill the gap, I’ve started making a micro:bit simulator for that allows you to test your micro:python code before (or without) putting it onto a micro:bit.

It’s not finished yet, but so far you can control the display and the buttons so it’s enough to get started and I hope to add the rest of the micro:python library support as soon as I can.

Why bother with a simulator?

I know that running code on an actual physical device is much more fun and rewarding than simulating it on a desktop/notebook/tablet but aside from situations when you don’t have access to a micro:bit, being able to quickly test, debug and run line by line can be really useful and streamline the development and learning process.

Using a simulator on also means it’s easier to share and run code, making the coding process more collaborative and fun.

If you happen to know someone (or if you are) from the BBC and can advise me about the licensing / legal aspect of this – I’d love to hear from you. I don’t want to infringe on any intellectual property rights but I do want my students and others to be able to create with code.