PyBLE: Open-Source MicroPython IDE for Tablet and iPad Users via Bluetooth LE

Try Our Free Tools!
Master the web with Free Tools that work as hard as you do. From Text Analysis to Website Management, we empower your digital journey with expert guidance and free, powerful tools.

Introduction to PyBLE: A New MicroPython IDE

PyBLE emerges as an innovative open-source, MIT-licensed Integrated Development Environment (IDE) designed specifically for MicroPython programming on microcontroller boards, utilizing Bluetooth Low Energy (BLE). Its primary audience includes Android tablet and iPad users.

This unique application amalgamates a Flutter-powered IDE for both iPad and Android, offering comprehensive support for MicroPython and visual programming through Blockly.

Additionally, it features an open MicroPython agent firmware and the extensively documented PBLE/1 protocol. Presently, the IDE encompasses functionalities such as Python code editing and execution, a live console, and wireless file management.

Initial firmware support extends to a range of wireless microcontrollers, including the ESP32, ESP32-S3, and ESP32-C3. Illustration of the PyBLE app in landscape mode, showcasing GPIO 48 NeoPixel Blocks alongside generated MicroPython code.

Key Features of PyBLE:

  • Flutter Application
    • Filtered BLE discovery and PBLE/1 open protocol compatibility
    • MicroPython editor equipped with save, run, stop, and soft reboot options, alongside a live console
    • Wireless file browsing and transfer capabilities with integrity verification
    • Offline Blockly workspace comprising GPIO blocks and standard MicroPython NeoPixel blocks
    • Editable beginner-friendly examples
    • Exact Blockly sidecar reopening and a limited Python-to-blocks importer
    • Adaptive user interface for tablet orientation across portrait and landscape layouts
    • Local operation devoid of account prerequisites, analytics dependencies, or cloud services.
  • Firmware
    • Incorporates upstream MicroPython
    • Exposes PBLE/1 as a BLE GATT peripheral
    • Control for run, stop, console, and soft reboot functionalities
    • Filesystem operations enabled with CRC validation and atomic uploads
    • Resumable transfer functionality and constrained transport recovery
    • Optional protection against main.py auto-running
    • Board identification and naming support
    • Utilizes the standard neopixel module from upstream MicroPython.

PyBLE firmware operational on the Waveshare ESP32-S3-LCD-1.47B board.

Embarking on your journey with PyBLE is simplified to three straightforward steps:

  1. Initially, connect a USB cable to install PyBLE firmware (v0.5.1) on your respective board.
  2. Launch the PyBLE app on your tablet or iPad, locate your nearby board, and establish a direct BLE connection.
  3. Edit files, organize Blocks, execute code, and interact with the console through BLE.

At present, three firmware files are available, catering to classic ESP32 boards equipped with 4 MB SPI flash (lacking PSRAM), generic ESP32-S3-N16R8 boards featuring 16 MB flash and 8 MB PSRAM, and the Waveshare ESP32-S3-LCD-1.47B.

Future support for ESP32-C3 boards with 4MB flash is also anticipated. Being an open-source endeavor, users possess the flexibility to adapt the firmware for their specific boards as they see fit.

Further information can be found on the PyBLE website, along with access to the GitHub repository housing the firmware, application source code, and exhaustive documentation.

Currently, the iPad and Android applications have not been publicly released on the Apple App Store or Google Play. In the interim, users may install the iPad beta via TestFlight or compile the Android application from source.

An Android build has been made available exclusively to approved internal testers. Illustration of PyBLE System Architecture.

a box with a key chain and a key chain on it

This open-source initiative is spearheaded by SciLabPro, with notable contributions from Dr. Viwat Vchirawongkwin, an associate professor of chemistry at Chulalongkorn University in Bangkok, Thailand.

In addition to PyBLE, the team has devised the TitraLab ESP32 board for educating automated titration methods (widely adopted in academic settings) and is actively developing the Thermab handheld, a USB-C rechargeable temperature data logger designed to simultaneously measure two PT100 probes.

Source link: Cnx-software.com.

Disclosure: This article is for general information only and is based on publicly available sources. We aim for accuracy but can't guarantee it. The views expressed are the author's and may not reflect those of the publication. Some content was created with help from AI and reviewed by a human for clarity and accuracy. We value transparency and encourage readers to verify important details. This article may include affiliate links. If you buy something through them, we may earn a small commission — at no extra cost to you. All information is carefully selected and reviewed to ensure it's helpful and trustworthy.

Reported By

Neil Hemmings

I'm Neil Hemmings from Anaheim, CA, with an Associate of Science in Computer Science from Diablo Valley College. As Senior Tech Associate and Content Manager at RS Web Solutions, I write about AI, gadgets, cybersecurity, and apps – sharing hands-on reviews, tutorials, and practical tech insights.
Share the Love
Related News Worth Reading