German version

Bluetooth Low Energy COVID-19 Contact Tracing

COVID-19 Contact Tracing apps with a decentralized approach usually are based on the ‘Exposure Notification’ Protocol. The microbit-corona-scanner works with all apps based on this protocol. You can check this list to see if this is the case for your app.

Smartphones with these apps use Bluetooth Low Energy (BLE) to exchange pseudonymous IDs. These IDs change every ten to twenty minutes to prevent tracking of users.
(You can find a more detailed explanation of how this works here in this nice comic.)

A BBC micro:bit can be used to receive and visualize these pseudonymous IDs with the microbit-corona-scanner.

Installing the Firmware

You can download the program for the micro:bit here.
When connected to a computer the micro:bit simulates a USB drive. You can simply drag&drop the corona-scanner-combined.hex file to this USB drive to install it on the micro:bit. Once the installation has finished the micro:bit will flash the designation ‘cs-‘ (for corona-scanner) along with the version number through the LEDs of the board. After this the scanner is active.

Quick Start Guide


Visualizer Modes

Each of the 25 red LEDs is assigned to one pseudonymous Exposure Notification ID. The LED brightness is an indicator for the signal strength. If a smartphone is close to the micro:bit the associated LED glows brighter than for smartphones which are further away. The signal strength is also reduced if materials such as concrete or metal are located in the path between sender and receiver.

Button B can be used to change the visualisation mode:

  • In the first mode LED brightness is an indicator for the signal strength. If no new signal is received from an ID the brightness of the corresponding LED starts to fade and the LED expires completely after two seconds.
  • In the second mode LEDs flash when a signal from the corresponding ID is received. LED brightness is a measure for the signal strength.
  • The third mode is similar to the first mode but LEDs always light up at maximum brightness. This is useful in bright daylight.
  • The fourth mode is similar to the second mode but LEDs always blink with maximum brightness. This mode is meant for bright daylight as well.

The normal operating mode of the microbit-corona-scanner is to show only COVID-19 Exposure Notifications. But we are surrounded by plenty of Bluetooth devices constantly sending other signals and IDs. Among these devices are smartwatches, wireless headphones and speakers, smarthome devices and notebooks. The microbit-corona-scanner can be used to visualise these other Bluetooth beacons as well. To enable this mode press button B for three seconds. (In this mode blinking LEDs indicate COVID-19 Exposure Notification beacons.) This mode can be disabled by pressing B again for three seconds.

Audio Output

The microbit-corona-scanner can also be used to make COVID-19 Exposure Notifications audible. To hear the signals you need to connect headphones to the micro:bit as indicated in the following picture.

Press button A to en- or disable sound output. You can hear a single ‘click’ upon enabling sound output and every time the micro:bit receives a COVID-19 Exposure Notification. (Smartphones with a COVID-19 Exposure Notification app installed send this signal four times per second.)

Battery Operation

Most powerbanks aren’t suitable for supplying the micro:bit. This is because the current draw of the micro:bit is so low (about 20mA) that most powerbanks assume nothing is connected and simply turn off again. Because of this I recommend using a battery holder with two rechargeable AAA batteries.
The micro:bit can be powered up to 40 hours with a single charge.

Open Source

microbit-corona-scanner is Open Source. It’s implemented in C/C++. The source code can be found here.

Znuh's Github Pages