How to control your Micro:Bit robot?
Micro:Bit Control App is a simple gamepad interface that you connect with any BBC:Micro:Bit robot to control it remotely via bluetooth from desktop or mobile device.
The app is available online as a Progressive Web App (PWA) so you do not have to install anything simply open it as a website.
Supported platforms:
- Desktop Windows 10 and MacOs – on computers supporting bluetooth 4
- Android – works in Chrome browser or you can install it as a regular App (installation instruction below)
- Chormebooks
- iOS – Finally! you can use web-bluetooth on iPhone or iPad via BLUEFY WEB BROWSER (available in the App Store), not the most elegant solution but at least it works :-)
Getting started:
- upload sample code to your BBC Micro:Bit
- got to Micro:Bit Control website
- click robot icon in upper right corner you should see your Micro:Bit discovered in the system dialog
- on desktop you can control the robot with keyboard arrow keys, on touchscreen use onscreen buttons
- slider send values form 0 to 180 to the Micro:Bit
If it does not work:
- be sure you have bluetooth and GPS on Android turned on
- be sure you have script on your Micro:Bit that runs bluetooth UART service and the MakeCode project connection settings are set to : No Pairing Required: Anyone can connect via Bluetooth.
Micro:Bit Code
Adapting the code to your needs
The App sends data to the Micro:Bit board as simple string commands.
- UP arrow – sends “up”
- DOWN arrow – sends “down”
- LEFT arrow – sends “left”
- RIGHT arrow – sends “right”
- SPEAKER button – sends “horn”
- each button on release sends “stop”
- SLIDER 1 sends slider value (0-180) preceded with letter “c” for example: c0, c100, c180
- SLIDER 2 sends slider value (0-180) preceded with letter “x” for example: x0, x100, x180
When Micro:Bit receives the commands you can do whatever you want with it with simple IF statements so it is very easy to adapt the code to your robot design.
If you are an eager tinkerer – the app itself is a very basic static HTML page so you could easily copy it and modify the app itself and change the interface. Bluetooth communication works both ways so it is also possible to receive M:B sensor signals in the app if you modify it.
Micro:Bit limitations
If you build your own robot and want to add bluetooth control to it you have to be aware that Micro:Bit has some serious memory limitations when using blueooth.
Micro:Bit v1 and v1.5 board has limited amount 16kb of RAM memory and using bluetooth uses 14kb of it. If you add more functions such as display control and using sensors you will soon face the limits of computing power on the board and expect it to lag, crash and loose connection. You know if Micro:Bit crashed when you see numbers on the screen with angry face after it.
I suggest to keep your Micro:Bit program as simple as possible, especially avoid using the board display and more than one sensor. If you only add bluetooth and servo control the board should work stable.
This problem is gone in Micro:Bit v2 as it has 256kb of RAM memory.
Problems with connecting over bluetooth
If you have problems connecting over bluetooth:
- your board is not discoverable by the app
- your board crashes ofter connecting
Please watch the video below.
To make the board discoverable over bluetooth you have to properly set PROJECT SETTINGS in MakeCode (individual for each project!)
- go to (GEAR ICON) -> PROJECT SETTINGS
- Set project settings sliders to NO PAIRING
- Next click EDIT SETTINGS AS TEXT
- scroll down to section about BLUETOOTH and add this line: “pairing_mode”: 0,


"config": {
"microbit-dal": {
"bluetooth": {
"open": 1,
"pairing_mode": 0,
"whitelist": 0,
"security_level": null
}
}
}
Installing the app on Android
LOFI Control – Micro:Bit app works as a Progressive Web App (PWA) it means that it is a plain HTML+JavaScript website which due to magical achievement of web-bluetooth can communicate with the Micro:Bit if your device supports it. This also means that by now the app will not work on devices that do not support web-bluetooth such as iPhone and iPad.
On Android you can install Progressive Web Apps on your homescreen and use it almost like a native app in fullscreen. To do this open LOFI Control – Micro:Bit app in Chrome you might see pop up window suggesting installation, if not click options (three dots) icon from the menu and choose INSTALL ON YOUR DEVICE. You will see icon for the app on your home screen and the app will work in fullscreen.

Contact me at: halo@lofirobot.com for more info.