Micro:Bit Control App

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

MakeCode Template

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”
  • 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 board has limited amout of RAM memory and using bluetooth uses most of it. If you add more functions such as display control and using sensors you will soon face the limits of cumputing 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.

I assume that all of these issues are solved with v2 version of M:B but have not tested it yet on bluetooth performance.

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.

Try out other Micro:Bit Apps!

What robot design will work best with this app?