MicroCode makes it possible to program the micro:bit V2 without the need for an extra computer or Internet connection. As shown above, the micro:bit slots into a (commercially available) shield that provides a color display and extra inputs. The MicroCode visual programming model is based on Kodu and targets children age 6-9, younger than the traditional audience for the micro:bit. MicroCode features:
- arcade shields for the micro:bit V2 enable “on the go” programming with familiar game console controls
- kid-friendly, icon-based, structured code editor and programming language
- lots of sample programs to get started
- translated in 20+ languages
- remote control a micro:bit robot using MicroCode to follow lines, avoid obstacles and more.
- extend and program your creation with Jacdac accessories (LEDs, servos, …)
Purchasing the hardware
All the above hardware can be purchased from a variety of vendors.
Getting started
Regardless of whether you are using the Arcade shield or web app, you first need to download the (localized) MicroCode hex file to your micro:bit V2. There are two ways to do this:
- visit the web app and follow directions to connect your micro:bit and automatically download over WebUSB
- visit the localization section to download the MicroCode hex file to your computer and copy to your micro:bit V2 (plugged into your computer via USB).
Hands-on resources
The following resources may be helpful to print out:
- MicroCode Quick Start Guide
- MicroCode 101 Slides
- MicroCode Programming Cards (Basic)
- MicroCode Programming Cards (Full)
micro:bit Robots
Remote control a micro:bit robot using MicroCode to follow lines, avoid obstacles and more.
Jacdac accessories
MicroCode recognizes many commercially-available Jacdac modules that allow you to extend the micro:bit device with LEDs, servos, and much more. In this video, we launch an LED animation when a clap is detected.
Localization
MicroCode is community translated through Crowdin. Please read on localization to get started.
- Basque (download)
- Catalan (download)
- Chinese (Simplified) (download)
- Chinese (Traditional)) (download)
- Croatian (download)
- Dutch (download)
- English (download)
- German (download)
- Filipino (download)
- French (download)
- French (Canada) (download)
- Italian (download)
- Japanese (download)
- Korean (download)
- Polish (download)
- Portuguese (Brazil) (download)
- Russian (download)
- Spanish (download)
- Spanish (Mexico) (download)
- Turkish (download)
- Welsh (download)
Web editor
The MicroCode web editor is at https://microsoft.github.io/microcode/. We recommend using the keyboard navigation:
Left
,Right
,Up
,Down
moves the cursor- the
Left
andRight
keys will wrap around in the editor on the same page - the
Up
key on top of the screen will act asback
. It will go back the pages until page 1 is in focus, then pressing up will go back to the start screen. - the
Down
key will wrap around the pages
- the
Enter
orSpace
forA
buttonBackspace
forB
button]
orPage Up
to go to the next page,[
orPage Down
to go to the previous page- Copy the URL to share your program.
Automatic download to micro:bit V2
When the editor does not detect any micro:bit, it will automatically prompt you with instructions on how to connect. Once your micro:bit V2 is paired, the web editor will be able to download your MicroCode program to your micro:bit. This happens on every edit, so your program is always up-to-date (and running)!
If your micro:bit disconnects, you will see a micro:bit icon show up on the upper left corner of the editor. Click on that button to reconnect again.
Accessibility
We want to make the editor as accessible as possible; please send us suggestions to improve its accessibility.
Keyboard navigation
MicroCode can be accessed with the keyboard:
- Arrow keys to move cursor
Enter
orSpace
forA
buttonBackspace
forB
button- Keep moving the cursor
Up
to go back a screen, ifBackspace
is not available; for example, if you are using a 5-input switch panel. - Keep moving
Right
orLeft
to wrap around the user interface; for example, if you are using a 2-input switch panel.
Gamepads
MicroCode supports game console controllers compatible with Web Gamepad.
Screen reader
The editor integrates with existing screen readers, like NVDA.
Tooltip read aloud
By clicking on the tooltip reader
button at the bottom of the editor, the tooltips will be read aloud. This may be useful for students who are still learning to read.
Program slots
There are three slots for saving user programs for later load/restore. From the editor, click on the disk icon in the upper left to select which slot to save the current program to. From the home screen, select the disk icon to load a program from one of the three save slots.
Community
- Microsoft Garage for kick starting this project during the 2022 Microsoft Hackathon.
- @loretod101 on advising on accessibility features, including switch access support.
- @BillSeiver on feedback for tiles, including the
page start
tile - @eliseli_ for the Spanish translation
Contributing
- Post your suggestions or questions at https://forum.makecode.com/c/60.
This project is open source and welcomes contributions and suggestions at https://github.com/microsoft/microcode. Read the developer instructions.