A micro-framework for remotely managing MicroPython boards (ESP32) via a single encrypted MQTT connection.
MQBoard is a micro-framework for managing MicroPython boards, especially ESP32, remotely via MQTT. It provides tools for OTA updates, remote REPL access, logging, and crash recovery, enabling robust operation of IoT devices without physical access. The framework uses a single encrypted MQTT connection to minimize resource usage and security risks.
IoT developers and engineers building and maintaining remote MicroPython-based devices, particularly on ESP32, who need reliable over-the-air management and monitoring capabilities.
Developers choose MQBoard for its focus on 24/7 reliability, integrated safe mode and watchdog timer, and comprehensive remote management features—all through a secure, single-connection MQTT pipeline, reducing complexity and attack vectors.
Micro Framework for MicroPython Boards Managed via MQTT
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables full filesystem operations and interactive command execution over MQTT, allowing remote diagnostics and troubleshooting without physical USB access, as shown in the mqrepl module.
Features a watchdog timer and safe mode to automatically reset boards after crashes, ensuring MQTT connectivity is maintained for 24/7 operation, highlighted in the goals.
Uses one MQTT-over-TLS connection to minimize memory usage (avoiding multiple TLS buffers) and reduce security exposure, aligning with the philosophy of a minimal attack surface.
Designed for easy addition and updating of functional modules with minimal impact on existing ones, facilitating scalable IoT applications as described in the features.
Requires TvE's forked MicroPython build with specific patches, such as enhanced asyncio and RTC.memory(), limiting compatibility with standard MicroPython releases and increasing setup complexity.
OTA firmware upgrades and safe mode are not fully integrated, meaning updates require extra care and manual steps to avoid bricking devices, as admitted in the open issues.
Bootstrapping involves wiping the board's filesystem, loading files via USB, configuring MQTT with TLS, and using custom tools, which can be cumbersome and error-prone for new users.