Blog
Port ESP32 : trouver le port COM, le numéro de série
Pas de port, mauvais port, port disparu — c’est le port série qui fait dérailler la plupart des journées ESP32. Comment trouver le port COM, pourquoi le texte d’erreur dit ce qu’il dit, et ce que « ID » veut vraiment dire sur ces cartes.
Could not open port dev ttyUSB0 sur ESP32 ?
Sous Linux, cette erreur est presque toujours une question de permissions ou de mauvais nom de périphérique. Vérifiez dmesg pour la puce USB du câble, puis ls /dev/tty* — votre carte peut être ttyACM0, pas ttyUSB0. Corrigez les permissions avec sudo usermod -aG dialout $USER, déconnectez-vous et reconnectez-vous, et la ligne « could not open port » disparaît. Si le port n’apparaît jamais, le tableau des pilotes de la base de connaissances est l’étape suivante.
Comment trouver le port de l’ESP32 ?
Windows : Gestionnaire de périphériques → Ports (COM et LPT), branchez la carte et regardez quel COM apparaît. Linux : ls /dev/ttyUSB* /dev/ttyACM*. macOS : ls /dev/cu.usbserial-*. Le port appartient à la puce USB-série, pas à l’ESP32 — les cartes CH340 s’affichent comme « USB-SERIAL CH340 », les CP2102 comme « Silicon Labs CP210x ».
Comment lire l’ID d’un ESP32 ?
L’« ID » pratique, c’est l’adresse MAC — unique par puce, affichée par esptool.py chip_id, ou dans le code via ESP.getEfuseMac(). Le modèle et la révision de la puce viennent d’ESP.getChipModel(). La plupart des kits de développement ne portent aucun numéro de série ; la MAC est l’ID qui compte pour MQTT, BLE et OTA.
Pourquoi mon port a-t-il disparu après le flash ?
La puce USB-série redémarre avec la carte — c’est normal. Si elle ne revient jamais, le câble est charge uniquement, le pilote a disparu, ou la carte est coincée dans une boucle de démarrage où le port clignote par intermittence. Regardez le Gestionnaire de périphériques pendant la boucle ; un COM qui clignote est le signe révélateur. Les redémarrages persistants appartiennent à la FAQ débogage.
Le port existe, mais le moniteur série dit « Failed to open » ?
Quelque chose d’autre tient le port — en général un second moniteur ou l’IDE lui-même. Fermez toutes les fenêtres série, débranchez, rebranchez, réessayez. Sous Windows, le pilote peut laisser des verrous de port périmés après un crash ; redémarrer le PC les efface. J’ai un post-it « fermer les autres moniteurs d’abord » sur mon bureau.
Pourquoi vois-je deux ports ?
Les cartes ESP32-S3 et C3 exposent deux interfaces USB : le CDC USB natif et le pont UART — d’où les deux ports COM. Choisissez celui qui correspond à l’étiquette de sérigraphie de la carte, en général « UART ». Le flash fonctionne sur le port UART ; le CDC sert aux croquis qui utilisent l’USB natif.
Comment trouver le port sans pilote ?
Vous ne le trouvez pas — le pilote est la première étape. Sous Windows, un périphérique inconnu dans le Gestionnaire de périphériques signifie que le pilote CH340 ou CP2102 manque ; le nom sympathique « USB-SERIAL » n’apparaît qu’après installation. Si aucun périphérique ne s’affiche jamais, le câble ne transporte pas de données ; changez-le avant de blâmer la carte. Cet ordre résout la plupart des cas « aucun port du tout ».
Le numéro de port compte-t-il ?
Non — COM5 aujourd’hui, COM12 demain ; Windows attribue les numéros librement. Le piège, ce sont les outils qui se souviennent de l’ancien numéro : après rebranchement, l’IDE Arduino montre un nouveau port et vous devez le re-sélectionner. En pratique, les moniteurs série et PlatformIO détectent automatiquement, ce qui explique pourquoi ils touchent rarement « port not found ». Même règle sous Linux : le numéro après ttyUSB est arbitraire.
Puis-je flasher sans connaître le port ?
La plupart du temps, oui. esptool.py essaie les ports courants quand vous omettez -p, PlatformIO analyse automatiquement, et l’OTA ignore complètement le port. Connaître le port compte quand même pour le travail au moniteur série, donc les 30 secondes pour le trouver ne sont jamais perdues. La FAQ sur le flash couvre les voies sans port dans l’ordre.
Et si aucun port n’apparaît jamais ?
Checklist, dans l’ordre : un autre câble (données, pas charge), un autre port USB — les ports en façade sont capricieux — puis une autre machine, puis le pilote à nouveau. Une carte avec une puce USB morte fonctionne quand même quand elle est alimentée : si la LED clignote mais qu’aucun port n’apparaît, la puce USB-série est la victime. C’est arrivé à un de mes modules ; la carte s’est flashée sans problème via un adaptateur USB-TTL à 4 $ ensuite.
Les projets de ce sujet s’exécutent directement dans le simulateur gratuit de sensbench : circuit pré-câblé, firmware inclus, sans compte ni installation.