ESP32C3-ULP/README.md
XPS\Micro 58b386b012 Implementiere WiFi-Integration und Projektverbesserungen
- WiFi-Aktivierung für A/B-Test (bootCount ungerade = WiFi ON, gerade = WiFi OFF)
- Zyklusende nach TOTAL_CYCLES*2 Boots implementiert
- SERIAL_DEBUG-Guards für alle Debug-Ausgaben hinzugefügt
- Secrets-Schutz: config.h in .gitignore, config_example.h als Template
- Funktionsfehler behoben: esp_reset_cause → esp_reset_reason
- Dokumentation aktualisiert (README, Info.md, CLAUDE.md)
- USB-Anforderungen für Upload und Serial Monitor dokumentiert
2026-04-19 11:17:28 +02:00

2.3 KiB

ESP32-C3 Power Measurement mit PowerProfiler Kit II

Dieses PlatformIO-Projekt misst die Stromaufnahme eines ESP32-C3 in verschiedenen Betriebszuständen (Deep Sleep, aktiv mit/ohne WLAN).

Setup

1. Hardware-Verbindungen

  • PowerProfiler Kit II → ESP32-C3 GND und VDD (Stromversorgung)
  • UART (Optional) → RX/TX für Debug-Output

2. Konfiguration

Datei include/config_example.h kopieren zu include/config.h und anpassen:

cp include/config_example.h include/config.h

Dann in include/config.h bearbeiten:

  • SLEEP_DURATION_S: Deep Sleep Dauer (Standard: 30s)
  • ACTIVE_DURATION_MS: Zeit wach (Standard: 5s)
  • WIFI_SSID/WIFI_PASSWORD: Deine WLAN Credentials eintragen
  • TOTAL_CYCLES: Anzahl Messvorgänge

⚠️ Wichtig: config.h ist in .gitignore aufgeführt — Credentials werden nicht in git committed.

3. Kompilieren & Hochladen

Voraussetzung: ESP32-C3 per Micro-USB mit Computer verbinden

In VSCode mit PlatformIO:

Ctrl+Shift+P → PlatformIO: Build      (USB nicht nötig)
Ctrl+Shift+P → PlatformIO: Upload     (USB erforderlich!)

Oder Terminal:

pio run -e esp32-c3-devkitm-1           # Kompilieren
pio run -e esp32-c3-devkitm-1 -t upload # Hochladen (USB erforderlich!)

4. Serial Monitor

Voraussetzung: ESP32-C3 bleibt per USB angesteckt

pio device monitor -b 115200

Zeigt Echtzeit-Debug-Ausgabe der laufenden Firmware. Mit Ctrl+C beenden.

Messbetrieb

Das Programm läuft automatisch in Zyklen:

  • Boot → 5s aktiv (LED an)
  • Deep Sleep → 30s (minimale Stromaufnahme)
  • Neustart (RTC Timer weckt auf)

Jeder Boot gibt Informationen aus:

Boot #1
Reset Reason: 5 (DEEPSLEEP_RESET)
Cycle: 1/20 | WiFi: OFF
Going to sleep for 30 seconds...

Messaufbau mit PowerProfiler Kit II

  1. Stromversorgung: PowerProfiler liefert Strom + misst gleichzeitig
  2. Aufzeichnung: Mit nRF Power Profiler App (Windows/macOS/Linux)
  3. Zykluswiederholung: Firmware weckt sich selbst auf, zyklische Messung läuft automatisch

RTC-Memory (Persistierung)

Die Variable bootCount bleibt über Deep Sleep erhalten, so können mehrere Experimente hintereinander laufen.

Erweiterungen

  • WLAN Scan/Connect hinzufügen: WiFi.begin() in setup()
  • GPIO-Triggers für genaue Timing-Messungen
  • BLE statt WLAN für noch höhere Stromwerte