Once in a blue moon, a technology comes along that meets the needs of learners, classrooms, and is sufficiently powerful to create opportunities beyond the limits of our imagination. The BBC micro:bit may just be that rarest of edtech unicorn.
In 2015 the BBC sought to reassert its relevance in a changing media landscape by convincing the conservative British government that every child in the UK should be given a personal computer as a way of interesting children in STEM careers and coding. The BBC experienced success with a similar effort in the 1980s by creating the Acorn BBC Micro line of microcomputers for schools. The Raspberry Pi, an affordable and powerful personal computer option already existed and it was British. However, giving a Pi to every British school child would not help the BBC. Therefore, something new needed to be invented and voila! The BBC micro:bit was born. More than twenty industry partners signed on and today the micro:bit is produced and supported by the non-profit Micro:bit Educational Foundation.
The micro:bit ticked one important box for educators. It’s inexpensive – approximately $15, with a USB cable, battery box, and batteries. The major problem with the original plan is that the micro:bit is a “computer” for every child that needs another computer to work. While the Raspberry Pi is a full-fledged computer, the micro:bit is a microcontroller. It as plenty of functionality, but it is not a computer. In fact, you can connect a micro:bit to a Raspberry Pi (or other microcomputer) for robotics, interactive art, and engineering projects. The micro:bit also works with Macs, PCs, Chromebooks, iOS, and Android devices.
It is a testament to the immensely clever micro:bit designers that their invention has survived such a boneheaded conception. For many reasons, the micro:bit may be the physical computing platform of choice in schools for the next five or ten years, even in its current form.
The micro:bit is a new species of technology, the microcontroller development board (MDB). Like other microcontrollers, such as Arduino, the micro:bit is a little brainboard featuring pins for inputs and outputs. Sensors report information to the embeddeded microprocessor. The program you write decides what to do with that information and then produces a result by sending instructions to lights, motors, speakers, displays, or other devices. This is achieved by creating circuitry connecting input and output devices to the microcontroller, usually via breadboards or soldering.
A micontroller development board, such as the micro:bit, has input and output features built right into the board. This lowers the barrier to entry by reducing costs, confusion, and complexity for beginners while offering sufficient power for advanced projects. While you can and will learn a bit about electronics working with the micro:bit, all of the messy bits about circuitry, voltage, resistance, and more have disappeared. Thanks to the micro:bit, novices can have their first physical computing projects built and programmed within minutes.
Since the micro:bit is “a chip as cheap as chips,” educators are more inclined to allow kids to use them in a daring fashion. Use one to learn coding, embed one in a robot, use another to control that robot, sew a micro:bit into your interactive garment, use a pile of them to control a classroom puppet theatre, build a school weather station…
What’s a micro:bit?
The micro:bit is a 5cm X 4 cm microcontroller development board featuring two buttons, light sensor, temperature sensor, accelerometer, compass, 5X5 LED, micro-USB port, 25 I/O analogue and digital pins, battery port, Bluetooth Low Energy, and radio capabilities.
What does that mean?
The A & B buttons may be used individually or together to start or stop something you programmed the micro:bit or connected computer to do. Think of these like buttons on a remote control, game controller, or simple switches. There is no need to add buttons to your invention unless you need more than two.
The 5X5 LED matrix display is capable of scrolling text or displaying pixel art. It is the “face,” gauge, or text display on your micro:bit.
The light sensor may be used to sense the level of light your invention “sees” or register changes in light. The temperature sensor reports the ambient temperature. In other physical computing systems, you would need to add sensors and related resistors to achieve the same result.
The compass allows you to determine the directionality of your micro:bit while the accelerometer reports when the micro:bit is moved, tilted, shaken, or dropped. Imagine making a magic wand, magic 8-ball, or steering wheel and you begin to get a sense of what an onboard accelerometer can do for you.
The twenty-five edge connector pins allow you to connect other motors, lights, and sensors to the micro:bit. You may connect these external sensors and actuators via alligator clip, sewing with conductive thread, soldering (for permanent inventions), banana connectors, and with a growing number of third-party add-on boards that the micro:bit plug into. Use the ring connectors to quickly turn your micro:bit into a Makey Makey or use conductive thread to make it the brains of your eTextiles project! When you see holes in a micro:bit or its cousin, the Circuit Playground Express, you know that it is perfect for sewable circuitry.
The micro:bit features powerful functionality not found in other microcontrollers or MDBs, two-way radio. Micro:bits are capable to “talking” to one another by passing messages. One micro:bit may be used as a remote control for other micro:bits or imagine a colony of robots that chase one another, play hide and seek, or can hunt for food. You can even pass notes between micro:bits! We have only just begun to imagine what radio might mean in projects, but its simplicity in the micro:bit is a very big deal.
The USB port is used to power the micro:bit and to transfer programs to it. Bluetooth is another way of moving computer code between devices, especially phones, tablets, and the micro:bit. It might even be used to control other Bluetooth devices in your life. Scratch 3.0 uses Bluetooth to communicate with the micro:bit
The battery port with JST-PH connector lets you easily connect a two AA battery box to your micro:bit for autonomous use. Load the program onto your micro:bit and it will run whenever its connected to power!
Typically, the micro:bit behaves like a USB flash drive; copy a file to the micro:bit and it runs the program in that file.
The best place to start with micro:bit is to purchase a micro:bit Go Kit. For around $15 (US), you get a micro:bit, battery box, 2 AA batteries, and USB cable. Prices fluctuate. So, do a bit of research and try the reseller links below.
Rarely does a technology become the standard for both hobbyists and professionals like the widely popular family of Arduino microcontrollers. Arduino set out to design a microcontroller that geeky folks could use to create reliable, low-cost, interactive systems. The open-source and extensible nature of Arduino led to the creation of new form factors and an endless assortment of shields adding functionality to the original microcontroller. The fact that some children and educators began using Arduino was a delightful surprise to its creators.
Although countless teachers and kids have used Arduino, that was a happy accident. They were never the intended audience and ease-of-use issues have remained problematic. Arduino is primarily programmed in an old dialect of C. Its syntax is finicky and requires a great deal of precision no longer acceptable. There is no debugger and error messages are incomprehensible. As a result, most users create projects by searching the Web for code to perform a similar task and then either using that code unchanged or making minor modifications. Hardly anyone, except experienced C programmers, ever writes an Arduino program from Scratch. The creators of Arduino think that is just fine and their current development efforts are directed at highly sophisticated users.
This is however an enormous problem for learners, particularly children. Why should one’s imagination be confined to what may be Googled? If you can invent a physical artifact, “brick-by-brick” through tinkering, you should be able to do the same with the program you write to control your creation. There is much to be learned by reading another person’s program/code and modifying it, but that should not be the only path to programming or physical computing. Imagine teaching writing by giving students twenty different words and telling them that their storytelling must be limited to only those words.
The Arduino community has had more than five years to address the need for more accessible software programming environments and has made very little progress.
Today, the micro:bit is taking K-12 education by storm, not just because it is inexpensive, but because it is programmable by anyone. That is because the micro:bit was designed for the education sector and its developers took software seriously. Software is the nervous system of physical computing. Great hardware and the software powering it should be generative. “Messing about” with the micro:bit and the programming environments discussed below should generate project ideas. Each success generates other ideas. Bugs invite debugging.
Microsoft MakeCode (Mac, Windows, Chromebook, Raspberry Pi, Linux)
The free open source web-based Microsoft MakeCode software first brought the micro:bit to life and captured the imagination of educators. It features a block-based programming environment that should not be too exotic for Scratch users. Create your program, download the file, and copy it to your micro:bit. As soon as you do, the micro:bit will run that program whenever it has power (attached to the computer or a battery box) and until you replace the program with new one.
- Every feature of the micro:bit hardware is programmable in MakeCode. This is especially notable for coders interested in using the radio functionality and projects using multiple micro:bits.
- MakeCode may also be used to program other systems, including the Circuit Playground Express, Chibichip, Minecraft, LEGO Mindstorms EV3, Wonder Workshop Cue robot, and Grove Zero system. Being able to use the same software environment to program lots of systems is handy.
- Robust support for adding Packages to add specific blocks for the growing collection of third-party compatible micro:bit accessories
- Built-in challenges, tutorials, and examples
- Large community of MakeCode sharing and advice resources online
- Every download creates a new program file on your hard drive. This means you can go back to a previous version if you wish.
- Projects are limited to what happens on the micro:bit, unlike Scratch 3.0 and Snap! later in 2018.
- Occasionally unresponsive interface
- The downloadè find ècopy file to micro:bit process is cumbersome and confusing to some users.
- Unnecessarily complicated
- MakeCode was designed to teach a conservative notion of computer science. Blocks are named and organized in ways consistent with that worldview, often at the expense of being intuitive.
- The curricular materials created by Microsoft and its partners reflect this design intent. I find them boring, pedantic, and not particularly playful. There is no clear sequence of how projects might built upon each other at the expense of teaching discrete skills like Boolean logic, conditions, and loops.
- Type variables
- Laborious and verbose computer science curriculum created by Microsoft
- The onscreen simulator is less useful than one might think and should rarely, if ever, be used as a replacement for actually programming the micro:bit.
Most browsers allow you to specify where downloads save automatically. If you set the browser to save to the micro:bit, as if it were an external drive, the download èexecute program process may be simplified.
Scratch 3.0 (Mac, Windows, Chromebook, iPads, Android tablets – Bluetooth required)
beta.scratch.mit.edu (changes to scratch.mit.edu 1/2/19)
micro:bit blocks may be added to the free popular web-basedScratch 3.0 by clicking on the extensions button and your projects may combine on-screen graphics with off-screen interactivity.
- Easy to use
- Familiar to Scratch users
- Access to all of the other features, commands, and functionality of Scratch
- Scratch projects may include screen animation, music, text, graphics, and physical computing or just physical computing projects.
- Information, data, and action may be shared between the physical world and the screen.
- Expands notions of interactivity and programming for children
- Projects across ages, curriculum, and geography are possible.
- Lovely project starters
- Projects using Scratch and the micro:bit may be shared and remixed via the incredibly popular Scratch Library in the cloud.
- Untype variables
- micro:bit programs do not run unless the corresponding Scratch program is running and the micro:bit is within Bluetooth range.
- Need to install Scratch Link application for communication between Scratch and the micro:bit
- Bluetooth syncing in a classroom with lots of Bluetooth devices may be buggy.
- No support for the micro:bit’s radio functionality
Microblocks (Mac, Windows, Linux)
A team of quite accomplished developers, including Jens Monig (SNAP!), John Maloney (Scratch 2.0), and Bernat Romagosa (Snap4Arduino), have created Microblocks, a free new block-based platform for programming technology like the micro:bit, in a much more intuitive fashion than MakeCode, but with potentially more functionality than Scratch 3.0. Microblocks eliminates the issue of uploading/downloading code between the computer and micro:bit by running programs on the micro:bit directly. Make a change to a program on your computer and it runs live on the micro:bit. Connect a battery to the micro:bit, disconnect it from the computer, and it continues running the program you just “taught it.”
It’s not pretty, but it is a spectacular improvement over previous ways that children could experience physical computing.
- Exceptional reconceptualization of physical computing programming for kids.
- There is no need for an on-screen simulator, because the code runs live on the micro:bit.
- Programming the micro:bit works exactly as young children (and perhaps their teachers) think it should by eliminating the confusion associated with downloading and copying files between devices.
- Works with the Circuit Playground Express.
- There is a simple standalone IDE (programming app) for MicroBlocks and its technology should soon be available in SNAP! and perhaps other software environments as well.
- The software while fairly stable is in Alpha stage of development.
- Micro:blocks may not feature blocks to handle all of the functionality of the micro:bit.
- The current IDE is bare bones.
- The graphical interface for programming boards other than the micro:bit has yet to be created.
- Due to funding questions, the future of MicroBlocks may be in doubt.
Paula Bonta and Brian Silverman of the Playful Invention Company created a simple Scratch-like block-based programming environment for messing about with graphics on the micro:bit display. Intended to spark girls’ interest in physical computing and coding, art:bit makes it easy to program really cool graphics and animation effects on the micro:bit’s LED display.
- Easy to use
- Runs on Chromebooks
- Not intended for robotics or other engineering projects
- Only supports the micro:bit MDB
- Only runs on Chromebooks – iOS version is reportedly in development
Cousins of the micro:bit
Microcontroller development boards, like the micro:bit, and based on the same ARM microprocessor are likely to emerge. However, they may or may not be supported by the same micro:bit compatible software. The Circuit Playground Express by Adafruit is a round MDB with lots of holes around its perimeter for sewing, alligator clips, or banana plugs. It also features a pixel ring and speaker in addition to all of the functionality of the micro:bit. The Circuit Playground Express is programmable via MakeCode and Microblocks. Hopefully, Scratch extensions will be created as well.
The power and low cost of the micro:bit may lead it to become the basis for other products. The first to be announced is the Hummingbird Bit by Birdbrain Technologies. When released in late 2018, the Hummingbird Bit will combine the ease of use, software compatibility, and functionality of the fantastic Hummingbird Robotics Kit, with the features of the micro:bit, at a lower price and smaller footprint. The micro:bit will be the brains behind the Hummingbird Bit. In the meantime, existing users of the Hummingbird Robotics Kit may add the $15 Hummingbird micro:bit Adapter to their existing Hummingbird Duo board for access to the micro:bit’s onboard sensors, run their projects autonomously from the computer, or program the Hummingbird system with MakeCode.
micro:bit Resellers & Accessories
A growing number of companies are creating clever micro:bit accessories, robot chassis, and electronics invention kits. Here are some of our favorites.
- Circuit Playground Express and accessories
- Robot Shop
- Monk Makes – cool stuff, especially the Speaker for micro:bit
- Gary Stager’s micro:bit Starter Ideas
- Proper classroom care advice for the micro:bit
- micro:bit news, lessons, and project ideas from the micro:bit Foundation
- micro:bit project starter ideas from Code Club
- iOS and Android apps for programming the micro:bit
- Python programming project ideas, tutorials, and lessons from the micro:bit Foundation
- Using the micro:bit with the Raspberry Pi
- Other programming languages for the micro:bit
- The Constructing Modern Knowledge institute for educators
- Maker resources from Invent To Learn
- Schedule professional development from CMK Futures
Veteran educator Dr. Gary Stager is co-author of Invent To Learn — Making, Tinkering, and Engineering in the Classroom and the founder of the Constructing Modern Knowledge summer institute. He led professional development in the world’s first 1:1 laptop schools and designed one of the oldest online graduate school programs. Learn more about Gary here.