I can't remember when we first heard about the BBC miro:bit, but it filled us both with excitement. I'm a software engineer who also dabbles in electronics, and Son is a school kid who likes to program in Scratch and who is also becoming interested in electronics. I wanted an to find an interesting platform that we could both to learn together. My wish list was something like:
- Easy to program - We both enjoy Scratch-like programming languages but I feel that they have their limits. Conversely, something like C or Java has too steep a learning curve. The micro:bit does support a number of "block languages", but it also works well with Python. We've both used Python before (me in my day job and Son has gone through a few tutorials) and it seems like the perfect compromise. Python is also an industry standard language and that makes it a useful thing to know.
- Simple to deploy - I've played around with a few micro-controllers and, to be frank, they can be a pain to use. Most of the modern micro-controllers come on nice boards with dead-simple USB communication and well featured IDEs. The micro-bit definitely scores well here.
- Limited, but not too limited - I firmly believe that limits breed creativity. Scratch was becoming difficult for us because our projects were staring to blossom out of all control and consequently many never got finished. I wanted a platform that was limited enough that it would be easy to conceive, create and debug complete programs in a very short amount of time. The BBC micro:bit seemed, once again, like a great compromise. Sure, I'd love a couple more buttons and a display bigger than 5x5 but then the scope for our programs would just get bigger. Better to stick with humble beginnings, knowing that we can extend it with external circuits at a later date.
- Standalone - Must be something that can be easily run un-tethered. I want something that we can make portable toys and experiments with. I want something that we can run without having to lug extra kit around. The micro:bit with a battery pack does all of this well.
- Cheap and sturdy - I want to have a piece of kit that we can take risks with, something that is strong enough to take a few knocks or incorrectly wired connections. I also want something that isn't expensive so that if we do manage to kill it then it's not the end of the world. I feel that risk taking is an important part of learning.