ESP32 drahtlos debuggen mit MCU BLE Terminal

Serielle Ausgaben und Befehle über Bluetooth statt USB

Wer mit ESP32, Arduino oder PlatformIO arbeitet, kennt das klassische Debugging über USB. Serial Monitor öffnen, richtigen Port auswählen, hoffen, dass das Board erkannt wird, Kabel stecken oder wieder abziehen. In vielen Projekten funktioniert das, in vielen anderen ist es jedoch unpraktisch oder schlicht nicht möglich.

MCU BLE Terminal verfolgt einen anderen Ansatz. Statt USB wird Bluetooth Low Energy genutzt, um serielle Ausgaben und Eingaben drahtlos bereitzustellen. Das Smartphone übernimmt dabei die Rolle eines klassischen Serial Monitors.

Was ist MCU BLE Terminal?

MCU BLE Terminal ist eine leichtgewichtige ESP32-Bibliothek, die eine serielle Schnittstelle über BLE bereitstellt. Sie ist als direkter Ersatz für die Arduino-Serial-Schnittstelle gedacht. Funktionen wie print, println und printf bleiben erhalten, nur der Übertragungsweg ändert sich.

Das Ziel ist bewusst einfach gehalten:
Ein drahtloser Serial Monitor für Debugging, Logging und einfache Interaktion mit dem ESP32, ohne WLAN, ohne Cloud und ohne zusätzliche Infrastruktur.

Warum drahtloses Debugging sinnvoll ist

In realen Projekten ist USB oft keine ideale Lösung:

  • Der ESP32 ist bereits fest verbaut oder steckt in einem Gehäuse
  • Das Projekt hängt an der Wand, im Schaltschrank oder im Fahrzeug
  • Ein Laptop ist beim Testen nicht immer verfügbar
  • USB-Kabel sind unpraktisch oder störanfällig

Bluetooth Low Energy bietet hier klare Vorteile. Es ist stromsparend, stabil und auf nahezu jedem Smartphone verfügbar. Debug-Ausgaben lassen sich direkt auf dem Handy mitlesen, ohne zusätzliche Hardware.

Typische Anwendungsfälle

MCU BLE Terminal eignet sich besonders für:

  • klassische Debug-Ausgaben während der Entwicklung
  • Beobachten von Variablen und Zuständen zur Laufzeit
  • Live-Logging von Sensorwerten
  • einfache Kommandointerfaces
  • Konfiguration während des Betriebs
  • Feldtests ohne Laptop

Praxisbeispiele:

  • Anzeigen von Messwerten wie Temperatur, Spannung oder Laufzeit
  • Ausgeben interner Zustände und Statusflags
  • Setzen von Konfigurationsparametern per Textbefehl
  • Testen von Logik, ohne neu flashen zu müssen

Gerade beim Prototyping spart das viel Zeit.

Integration in Arduino IDE und PlatformIO

Die Bibliothek ist vollständig kompatibel mit:

  • Arduino IDE
  • PlatformIO
  • VS Code
  • Arduino Framework für ESP32

Sie lässt sich sowohl in Arduino als auch in PlatformIO sauber als Bibliothek integrieren. Der Code bleibt absichtlich nahe an der bekannten Serial-API, sodass bestehender Code mit minimalen Änderungen nutzbar ist.

Daten senden: ESP32 zu Smartphone

Debug-Ausgaben funktionieren wie gewohnt:

WirelessSerial.print(„Value: „);
WirelessSerial.println(value);
WirelessSerial.printf(„Millis: %lu\n“, millis());

Das eignet sich für:

  • Log-Ausgaben
  • Debug-Meldungen
  • Sensorwerte
  • Statusinformationen

Die Ausgabe erscheint live im Terminal der App.

Daten empfangen: Smartphone zu ESP32

Neben Ausgaben unterstützt MCU BLE Terminal auch Eingaben vom Smartphone.

Besonders praktisch ist der zeilenbasierte Modus:

if (WirelessSerial.availableLine()) {
String cmd = WirelessSerial.readLine();
}

Damit lassen sich einfache Befehle umsetzen, zum Beispiel:

  • Setzen von Variablen
  • Umschalten von Betriebsmodi
  • Starten von Testfunktionen
  • Abfragen interner Zustände

Das macht das Tool nicht nur zum Logger, sondern zu einer einfachen interaktiven Schnittstelle.

Die mobile App

Ergänzt wird die Bibliothek durch eine eigene mobile App für Android und iOS, die als BLE Serial Monitor dient.

Funktionen der App:

  • Scannen nach BLE-Geräten
  • Terminal-Oberfläche ähnlich klassischer Serial Monitore
  • Monospace-Schrift
  • Dark- und Light-Mode
  • Live-Ausgabe von Logs
  • Texteingabe für Befehle
  • Demo-Modus ohne Hardware
  • Mehrsprachige Benutzeroberfläche

Die App ist bewusst minimal gehalten und konzentriert sich auf ihre Kernaufgabe.

Sicherheit und Einsatzbereich

MCU BLE Terminal ist als Entwicklungs- und Debug-Werkzeug gedacht.

Wichtige Hinweise:

  • BLE-Kommunikation ist standardmäßig unverschlüsselt
  • Nicht für produktive oder sicherheitskritische Systeme gedacht
  • Keine sensiblen Daten übertragen

Für Entwicklung, Tests und Prototyping ist das völlig ausreichend und gewollt.

Design-Philosophie

Das Projekt folgt klaren Prinzipien:

  • einfache API
  • keine eigenen Protokolle
  • kein erzwungenes Framing oder Parsing
  • Rohdatenstrom ähnlich Serial
  • minimaler Setup-Aufwand
  • vorhersehbares Verhalten

Dadurch bleibt das Tool flexibel und leicht verständlich.

Fazit

MCU BLE Terminal ersetzt keinen professionellen Debugger und soll das auch nicht. Es ist ein pragmatisches Werkzeug für ESP32-Projekte, bei denen kabelloses Debugging, schnelles Feedback und einfache Interaktion gefragt sind.

Gerade in Kombination mit Arduino, PlatformIO und VS Code bietet es eine praktische Alternative zum klassischen USB-Serial-Monitor.

Projekt auf GitHub:
https://github.com/dominik-ewers-solutions/MCU_BLE_Terminal