artikel:elektronik:esp32:general:start

Generelles zum Einsatz von ESP32 Chips und Modulen

Source: https://espboards.dev

  • ESP32-C6
    • Alle Modelle:
      • CPUs: 1
      • CPU-Taktfrequenz: 160 MHz
      • On-Chip SRAM: 512 KB
      • PSRAM: -kein-
      • GPIOs: 22-23
    • Flash-Memory: 4 MB
      • ESP32-C6-MINI-1U-H4, ESP32-C6-MINI-1U-N4, ESP32-C6-MINI-1-H4, ESP32-C6-MINI-1-N4, ESP32-C6-WROOM-1U-N4, ESP32-C6-WROOM-1-N4, ESP32-C6FH4
    • Flash-Memory: 8 MB
      • ESP32-C6-MINI-1U-H8, ESP32-C6-MINI-1-H8
      • ESP32-C6-WROOM-1U-N8, ESP32-C6-WROOM, 1-N8
      • ESP32-C6FH8
    • Flash-Memory: 16 MB
      • ESP32-C6-WROOM-1U-N16, ESP32-C6-WROOM-1-N16
    • „FH4“ ⇒ F=Flash auf dem Chip, H=High-Temperature, 4=4MB Flash

Ausgabe über USB

Eingabe über USB

Das eigentliche Problem: Der ESP32 kann nativ USB, allerdings nicht als UART sondern nur mit CDC. Der „ESP-IDF Monitor“ kann nur Daten empfangen, aber nicht senden. Daher funktioniert ein getchar() im Code nicht.

Flash Layout (default):
┌─────────────────┐
│   Bootloader    │ 0x1000
├─────────────────┤
│  Partition Table│ 0x8000
├─────────────────┤
│      NVS        │ (WiFi credentials, etc.)
├─────────────────┤
│    OTA Data     │ (welche Partition aktiv ist)
├─────────────────┤
│    OTA App 0    │ ← Aktuelle Firmware
├─────────────────┤
│    OTA App 1    │ ← Neue Firmware wird hier geschrieben
└─────────────────┘

HTTP Pull (ESP32 holt sich Update)

PC/Server hostet .bin Datei
       ↓
ESP32 fragt periodisch oder auf Kommando:
"Gibt es eine neue Version?"
       ↓
ESP32 lädt .bin herunter
       ↓
Schreibt in inaktive Partition
       ↓
Reboot → Bootloader startet neue Version

HTTP Push via Telnet-Command (Du schickst Update)

Du tippst: OTA http://192.168.1.100/firmware.bin
       ↓
ESP32 lädt von dieser URL
       ↓
Reboot

TCP Push (Du streamst .bin direkt)

nc 192.168.1.42 2323
OTA START <size>
→ Ready
[binary data stream]
→ OK: Rebooting
  • :OK: Kein Server nötig
  • :OK: Alles über bestehenden TCP Port
  • :NO: Komplexer zu implementieren
  • :NO: nc für Binärdaten ungeeignet

VS Code ESP-IDF OTA (Tool-gestützt)

idf.py build
→ firmware.bin erzeugt

idf.py upload-ota --host 192.168.1.42
→ ESP32 empfängt und flasht
  • :YES: Professionell
  • :YES: Kein manuelles Handling
  • :NO: Custom Script nötig
  • artikel/elektronik/esp32/general/start.txt
  • Zuletzt geändert: Thu. 26.02.2026 12:42
  • von wikiadmin