BubblePy is a project to make the creation of Bluetooth LE Services and Beacons in Python as frictionless as possible on IoT devices.
BubblePy brings MicroPython, a Bluetooth LE API and the GPIO Zero API to micro-controllers supported by Apache Mynewt project.
BubblePy has these main goals:
- Enhance MicroPython with Bluetooth LE and port it to the Nordic nRF5x series and other ARM based Arduino boards.
- Provide an easy to use Python API for implementing Bluetooth LE Services and Beacons for both the MicroPython port and the Raspberry Pi.
- Provide the GPIO Zero API popular on the RaspberryPi in BubblePy.
- Make MicroPython a core component of Apache Mynewt (an open source modular operating system for IoT devices)
Become a well supported and maintained Open Source project.
BubblePy runs on a number of platforms, some of them include:
- BBC micro:bit (nRF51)
- Arduino Primo (nRF52)
- Adafruit Feather nRF52 Pro (with myNewt Bootloader)
- RuuviTag (nRF52)
- Arduino M0 Pro (Cortex-M0)*
- Arduino Zero (Cortex-M0)*
- BMD-300-EVAL-ES from Rigado (Cortex-M4)
- nRF51 DK from Nordic Semiconductor (Cortex-M0)
- nRF52 DK from Nordic Semiconductor (Cortex-M4)
*MCU doesn't have Bluetooth LE built in but the non-BLE examples still work.
The following Bluetooth LE enabled devices should work, however BubblePy firmware has not been tested on actual hardware yet:
- Arduino Zero Pro (Cortex-M0)
- Adafruit Feather M0 Bluefruit + Bluefruit LE Friend
- STM32F3DISCOVERY from ST Micro (Cortex-M4)
- STM32-E407 from Olimex (Cortex-M4)