Blog
Porta ESP32: trovare la porta COM e il numero seriale
Niente porta, porta sbagliata, porta sparita: la seriale è dove si inceppano le giornate ESP32. Come trovare la porta COM, perché l’errore dice quello che dice e cosa significa davvero ‘ID’ su queste schede.
Impossibile aprire la porta dev ttyUSB0 ESP32?
Su Linux questo errore è quasi sempre permessi o nome dispositivo sbagliato. Controlla dmesg per il chip USB del cavo, poi ls /dev/tty* — la tua scheda potrebbe essere ttyACM0, non ttyUSB0. Risolvi i permessi con sudo usermod -aG dialout $USER, esci e rientra, e la riga ‘impossibile aprire la porta’ sparisce. Se non compare mai, la tabella dei driver della knowledge base è il passo dopo.
Come trovare la porta dell’ESP32?
Windows: Gestione dispositivi → Porte (COM e LPT), collega la scheda e guarda quale COM compare. Linux: ls /dev/ttyUSB* /dev/ttyACM*. macOS: ls /dev/cu.usbserial-*. La porta appartiene al chip USB-seriale, non all’ESP32 — le schede CH340 compaiono come ‘USB-SERIAL CH340’, le CP2102 come ‘Silicon Labs CP210x’.
Come leggere l’ID dell’ESP32?
L”ID’ pratico è l’indirizzo MAC — unico per chip, stampato da esptool.py chip_id, o nel codice tramite ESP.getEfuseMac(). Modello e revisione del chip arrivano da ESP.getChipModel(). La maggior parte delle devkit non porta un numero seriale; il MAC è l’ID che conta per MQTT, BLE e OTA.
Perché la mia porta è sparita dopo il flashing?
Il chip USB-seriale si riavvia con la scheda — quella parte è normale. Se non torna mai, il cavo è solo-carica, il driver è sparito o la scheda è bloccata in un boot loop dove la porta lampeggia dentro e fuori. Osserva Gestione dispositivi durante il loop; una COM che lampeggia è l’indizio. I reset persistenti appartengono alla FAQ sul debug.
La porta c’è, ma il monitor seriale dice “Failed to Open”?
Qualcos’altro tiene occupata la porta — di solito un secondo monitor o l’IDE stesso. Chiudi ogni finestra seriale, scollega, ricollega, riprova. Su Windows, il driver può lasciare blocchi di porta stantii dopo un crash; riavviare il PC li cancella. Tengo un post-it ‘chiudi prima gli altri monitor’ sulla scrivania.
Perché vedo due porte?
Le schede ESP32-S3 e C3 espongono due interfacce USB: la CDC USB nativa e il ponte UART — da qui due porte COM. Scegli quella che corrisponde all’etichetta in serigrafia della scheda, di solito ‘UART’. Il flashing funziona sulla porta UART; la CDC serve agli sketch che usano l’USB nativa.
Come trovo la porta senza driver?
Non puoi — il driver è il passo uno. Su Windows, un dispositivo sconosciuto in Gestione dispositivi significa che il driver CH340 o CP2102 manca; il nome amichevole ‘USB-SERIAL’ compare solo dopo l’installazione. Se non compare mai nessun dispositivo, il cavo non porta dati; cambialo prima di incolpare la scheda. Questo ordine risolve la maggior parte dei casi ‘nessuna porta’.
Il numero della porta conta?
No — COM5 oggi, COM12 domani; Windows assegna i numeri liberamente. La trappola sono gli strumenti che ricordano il numero vecchio: dopo un ricollegamento, l’Arduino IDE mostra una porta nuova e devi riselezionarla. I monitor seriali e PlatformIO fanno auto-detection, ed è per questo che raramente incappano in ‘porta non trovata’. Stessa regola su Linux: il numero dopo ttyUSB è arbitrario.
Posso flashare senza conoscere la porta?
Quasi sempre sì. esptool.py prova le porte comuni quando ometti -p, PlatformIO scansiona automaticamente e l’OTA salta del tutto la porta. Conoscere la porta conta comunque per il lavoro col monitor seriale, quindi i 30 secondi per trovarla non sono mai sprecati. La FAQ sul flashing copre in ordine i percorsi senza porta.
E se non compare mai nessuna porta?
Checklist, in ordine: un cavo diverso (dati, non solo carica), una porta USB diversa — quelle sul pannello frontale sono inaffidabili — poi un’altra macchina, poi di nuovo il driver. Una scheda col chip USB morto gira comunque se alimentata: se il LED lampeggia ma non compare alcuna porta, la vittima è il chip USB-seriale. È successo a uno dei miei moduli; la scheda si è flashatta senza problemi tramite un adattatore USB-TTL da 4 $.
I progetti di questo argomento girano direttamente nel simulatore gratuito di sensbench: circuito pre-cablato, firmware incluso, senza account né installazione.