Supported robots
MicroCode supports the following robots:
- DFRobot Maqueen
- DFRobot Maqueen Plus
- Elecfreaks Cutebot
- Elecfreaks Cutebot PRO
- Forward Educations Smart Vehicle Kit
- InkSmith K8
- KeyStudio KS0426 Mini Smart Robot
- KittenBot MiniLFR
- KittenBot Robotbit
- KittenBot Nanobit
- Yahboom Tiny:bit
Please file a GitHub issue if your robot is not listed. See how to contribute for more information.
DFRobot Maqueen V2+

DFRobot Maqueen Plus V2

Elecfreaks Cutebot

Elecfreaks Cutebot PRO

Forward Education Smart Vehicle Kit

This car is made with Jacdac modules, so only works with micro:bit V2:
InkSmith K8

KeyStudio KS0426 Mini Smart Robot
KittenBot MiniLFR

KittenBot Robotbit

KittenBot Nanobit

Yahboom Tiny:bit

Contributing
The source of the robot firmware are at https://github.com/microbit-apps/microcode-classic/tree/main/robot. We accept pull request to add new robots.
Hardware requirements
The firmware is designed for popular rover robots found in the micro:bit ecosystem (and more can be added):
- 2 motors that can be forward, backward, left, right turns. Precise detection of distance is not needed.
- 2 or more line sensors
- a distance sensor, typically an ultrasonic sensor
The following features are found often but are optional:
- RGB LEDs
- Buzzer
- Programmable LED strip
How to prepare a pull request
To add a new robot to the list, prepare a pull request in microsoft/microcode with:
- a new class extending
Robotand configuring the hardware (see other robots) - a global field instance instantiating the robot (see other robots)
- a URL in the jsdocs of the class pointing to the robot homepage
- add
main{company}{productname}.tsfile that starts the robot - add
pxt-{company}{productname}.jsonfile that overrides the test files to loadmain{company}{productname}.ts - add call to
mkc pxt-{company}{productname}.jsonin.github/workflows/makecode.yml - add image under
docs/static/images - add section in
docs/robot-supported.mdwith your robot picture, and Home URL.
Make sure to test and tune the configuration options in the robot class for your particular chassis/motor/line detectors. You may want to tweak some of the constants in the robot class to optimize the behavior of the robot.