ESP32C3-ULP/README.md
XPS\Micro 2e5001f0d1 Dokumentiere Bootloader-Modus für ESP32-C3 Upload
- Tasten-Sequenz: BOOT halten → RESET → BOOT loslassen
- Erforderlich für erfolgreichen Firmware-Upload
- LED-Indikator für Bootloader-Modus (grünes Blinken)
- Pin-Positionen auf DevKit dokumentiert
2026-04-19 11:28:48 +02:00

91 lines
2.8 KiB
Markdown

# 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:
```bash
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
#### Bootloader-Modus aktivieren (für Upload erforderlich!)
Wenn Upload fehlschlägt, muss das Gerät in den **Bootloader-Modus**:
1. **BOOT-Taste** drücken und **halten**
2. **RESET-Taste** drücken und loslassen
3. **BOOT-Taste** danach auch loslassen
4. LED blinkt grün → Gerät ist im Bootloader-Modus
#### Firmware hochladen
In VSCode mit PlatformIO:
```
Ctrl+Shift+P → PlatformIO: Build (USB nicht nötig)
Ctrl+Shift+P → PlatformIO: Upload (USB erforderlich! Bootloader-Modus!)
```
Oder Terminal:
```bash
pio run -e esp32-c3-devkitm-1 # Kompilieren
pio run -e esp32-c3-devkitm-1 -t upload # Hochladen (Bootloader-Modus!)
```
**Tipps**:
- Upload-Fehler? → Bootloader-Modus neu aktivieren
- LED blinkt nicht grün? → USB-Kabel/Port prüfen
### 4. Serial Monitor
**Voraussetzung**: ESP32-C3 bleibt per USB angesteckt
```bash
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