ApkDownload

micro:bit Gateway APK

Latest Version 1.2 for Windows
Updated 2023-12-09

App information

Version 1.2 (#3)

Updated 2023-12-09

APK Size 90.8 KB

Requires Android Android 5.0+ (Lollipop)

Offered by Ferdinand Stueckler

Category Free Communication App

App id com.ble.microbit.gateway

Developer's notes Bluetooth data exchange for micro:bit devices

Screenshot

Click on the image to see full size

Latest updates

What's new in micro:bit Gateway 1.2

Android 11

Editor's review

Download the latest micro:bit Gateway application, version 1.2, compatible with Windows 10/11 (using emulators such as Bluestacks), Android devices. This free Communication app is developed by Ferdinand Stueckler and is easy to download and install.

Previous versions, including 1.2, are also available. If you need help or have any problems, please let us know.

Description

This app establishes a channel between two micro:bit devices. The channel will be handeled as UART communication. You have to develope a programm on each micro:bit device with UART transfer.

Indication aktive: BLE Indication (Default)
Indication inaktive: BLE Notification

Silent aktive: No visual logging
Silent inaktive: Logging

Requirements:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Paired devices
- micro:bit programm (developed by yourself)


MBED example:

#include "MicroBit.h"
#include "MicroBitUARTService.h"

MicroBit uBit;
MicroBitUARTService *uart;

int connected = 0;

void onConnected(MicroBitEvent e)
{
uBit.display.scroll("C");

connected = 1;
}

void onDisconnected(MicroBitEvent e)
{
uBit.display.scroll("D");
connected = 0;
}

void onButtonA(MicroBitEvent e)
{
if (connected == 0) {
uBit.display.scroll("NC");
return;
}
uart->send("Yes");
uBit.display.scroll("Y");
}

void onButtonB(MicroBitEvent e)
{
if (connected == 0) {
uBit.display.scroll("NC");
return;
}
uart->send("No");
uBit.display.scroll("N");
}

void onButtonAB(MicroBitEvent e)
{
if (connected == 0) {
uBit.display.scroll("NC");
return;
}
uart->send("SK");
uBit.display.scroll("SK");
}

void processBLEUart() {
uint8_t readBuf[22];
while (1) { // loop for ever
if ((!connected) || (!uart->isReadable())) {
uBit.sleep(50); // wait 50mS and check again
continue; // loop;
}
//else we are connected AND there is some input to read
if (uart->isReadable()) {
while (uart->isReadable()) {
int charCount = uart->read(readBuf, 22, ASYNC);
if (charCount != 0) {
for (int i = 0; i < charCount; i++)
uBit.display.scroll((char) readBuf[i]);
}
}
}
}
}


/*
IMPORTANT !!!
Oherwise you will run out of memory !

Recommend disabling the DFU and Event services in MicroBitConfig.h since they are not needed here:
microbit->microbit-dal->inc->core->MicroBitConfig.h

#define MICROBIT_BLE_DFU_SERVICE 0
#define MICROBIT_BLE_EVENT_SERVICE 0
#define MICROBIT_SD_GATT_TABLE_SIZE 0x500
*/

int main()
{
// Initialise the micro:bit runtime.
uBit.init();

uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.messageBus.listen(MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB);


uart = new MicroBitUARTService(*uBit.ble, 32, 32);
uBit.display.scroll("Go");
create_fiber(&processBLEUart); // create fiber and schedule it.

release_fiber();
}

App permissions

micro:bit Gateway 1.2 APK requires following permissions:

Allows applications to connect to paired bluetooth devices.

Allows applications to discover and pair bluetooth devices.

Allows an app to access precise location.

Allows an app to access approximate location.

Ratings and Reviews

Rating: 5.0/5 based on Less than 100 reviews

(*) is required

Previous versions

micro:bit Gateway 1.2 APK for Windows (#3, 90.8 KB)