An ESP32-Based Micro:bit Clone

Alasdair Allan
2 min readJun 21, 2018


After the explosion of the last decade or so, the number of form factors in the microcontroller and single-board computer market is collapsing down to just a few. We’re seeing the Raspberry Pi form factor dominate the SBC space, and while the ‘classic’ Arduino form factor is still common, the Adafruit Feather is now often copied in the microcontroller market. However while it is popular enough, especially in the US, the BBC Micro:bit hasn’t seen its form factor imitated. At least, until now.

The Banana Pi Bit. (📷: Banana Pi)

The Banana Pi Bit, or “BPI:bit” for short, strongly resembles the BBC Micro:bit although it doesn’t quite share the form factor—the Micro:bit is 50 × 40 mm, while the BPI:bit is slightly larger at 50 × 50 mm—yet it does have the same 20-pin sewable edge connector as the original board.

Based around a ESP-WROOM-32 module, just like the Micro:bit, the board offers 25 programmable LEDs on one side. On the flip-side, along with the ESP32 module are 2× light sensors, a thermistor, and a 9-axis IMU, an InvenSense MPU-9250. The board also has two user programmable buttons and a buzzer. Whereas the original Micro:bit only supports Bluetooth LE, the BPI:bit has both Wi-Fi and Bluetooth LE support provided by the ESP32.

The BPI:bit top (left) with 25 LEDs, and bottom (right) with ESP32 visible top-left. (📷: Banana Pi)

The board supports development using Webduino, PlatformIO, Scratch X, and of course the Arduino development environment. There is also MicroPython support with custom firmware available on GitHub allowing you to write Python code to directly control the BPI:bit hardware.

BPI:bit hardware function test demo, use open source PlatformIO test. (📷: Banana Pi)

The BPI:bit is currently on AliExpress and costs $19.50 plus shipping, with documentation available on GitHub in both Chinese, and English, alongside code examples showing how to use the onboard LEDs and IMU. Support for the board can be found on the official forums.