Blog
ESP32-Port: COM-Port finden, Seriennummer
Kein Port, falscher Port, verschwundener Port — die serielle Schnittstelle ist, wo die meisten ESP32-Tage schiefgehen. Wie man den COM-Port findet, warum der Fehlertext sagt, was er sagt, und was „ID“ auf diesen Platinen wirklich bedeutet.
„Could not open port dev ttyUSB0“ ESP32?
Unter Linux ist dieser Fehler fast immer Berechtigungen oder der falsche Gerätename. Prüfen Sie dmesg auf den USB-Chip des Kabels, dann ls /dev/tty* — Ihre Platine kann ttyACM0 sein, nicht ttyUSB0. Fixen Sie die Berechtigungen mit sudo usermod -aG dialout $USER, melden Sie sich ab und wieder an, und die „could not open port“-Zeile verschwindet. Taucht sie nie auf, ist die Treibertabelle der Wissensdatenbank der nächste Schritt.
Wie finde ich den ESP32-Port?
Windows: Geräte-Manager → Anschlüsse (COM & LPT), die Platine einstecken und beobachten, welcher COM erscheint. Linux: ls /dev/ttyUSB* /dev/ttyACM*. macOS: ls /dev/cu.usbserial-*. Der Port gehört zum USB-Serial-Chip, nicht zum ESP32 — CH340-Platinen erscheinen als „USB-SERIAL CH340“, CP2102 als „Silicon Labs CP210x“.
Wie lese ich die ID des ESP32 aus?
Die praktische „ID“ ist die MAC-Adresse — einzigartig pro Chip, ausgedruckt von esptool.py chip_id oder im Code über ESP.getEfuseMac(). Chipmodell und Revision kommen von ESP.getChipModel(). Die meisten Devkits tragen keine Seriennummer; die MAC ist die ID, die für MQTT, BLE und OTA zählt.
Warum ist mein Port nach dem Flashen verschwunden?
Der USB-Serial-Chip startet mit der Platine neu — dieser Teil ist normal. Kommt er nie zurück, ist das Kabel ein reines Ladekabel, der Treiber weg oder die Platine hängt in einer Boot-Schleife, bei der der Port rein- und rausflackert. Beobachten Sie den Geräte-Manager während der Schleife; ein flackernder COM ist das Indiz. Dauerhafte Resets gehören in das Debugging-FAQ.
Der Port existiert, aber der Serielle Monitor sagt „Failed to open“?
Etwas anderes hält den Port — meist ein zweiter Monitor oder die IDE selbst. Schließen Sie jedes serielle Fenster, ziehen Sie das Kabel, stecken Sie es neu, versuchen Sie es erneut. Unter Windows kann der Treiber nach einem Absturz veraltete Port-Sperren hinterlassen; ein PC-Neustart räumt sie weg. Ich habe auf meinem Schreibtisch einen Zettel: „erst andere Monitore schließen“.
Warum sehe ich zwei Ports?
ESP32-S3- und C3-Platinen zeigen zwei USB-Schnittstellen: natives USB-CDC und die UART-Brücke — daher zwei COM-Ports. Wählen Sie den, der zur Beschriftung der Platine passt, meist „UART“. Flashen funktioniert über den UART-Port; der CDC-Port bedient Sketches, die natives USB nutzen.
Wie finde ich den Port ohne Treiber?
Gar nicht — der Treiber ist Schritt eins. Unter Windows bedeutet ein unbekanntes Gerät im Geräte-Manager, dass der CH340- oder CP2102-Treiber fehlt; der freundliche „USB-SERIAL“-Name erscheint erst nach der Installation. Wenn nie ein Gerät erscheint, ist das Kabel datenlos; tauschen Sie es, bevor Sie die Platine beschuldigen. Diese Reihenfolge löst die meisten „gar kein Port“-Fälle.
Spielt die Portnummer eine Rolle?
Nein — heute COM5, morgen COM12; Windows vergibt Nummern frei. Die Falle sind Werkzeuge, die sich die alte Nummer merken: Nach dem Neu-Einstecken zeigt die Arduino IDE einen neuen Port, und Sie müssen ihn neu wählen. Serielle Monitore und PlatformIO erkennen automatisch, deshalb treffen sie selten auf „Port nicht gefunden“. Gleiche Regel unter Linux: Die Zahl nach ttyUSB ist willkürlich.
Kann ich ohne Kenntnis des Ports flashen?
Meist ja. esptool.py probiert übliche Ports, wenn Sie -p weglassen, PlatformIO scannt automatisch, und OTA überspringt den Port ganz. Den Port zu kennen zählt trotzdem für die Arbeit am seriellen Monitor, also sind die 30 Sekunden zum Finden nie verschwendet. Das Flashing-FAQ behandelt die Ohne-Port-Wege der Reihe nach.
Was, wenn nie ein Port erscheint?
Checkliste, der Reihe nach: anderes Kabel (Daten, nicht Ladung), anderer USB-Port — Front-Panel-Ports sind wackelig —, dann ein anderer Rechner, dann noch einmal der Treiber. Eine Platine mit totem USB-Chip läuft trotzdem mit Strom: Wenn die LED blinkt, aber kein Port erscheint, ist der USB-Serial-Chip das Opfer. Das passierte einem meiner Module; die Platine flashte danach einwandfrei über einen 4-$-USB-TTL-Adapter.
Die Projekte zu diesem Thema laufen direkt im kostenlosen sensbench-Simulator: Schaltung verkabelt, Firmware inklusive – ohne Konto, ohne Installation.