USB per Arduino

Il chip CH340, spesso causa di problemi con Windows

In fase di sviluppo Leggere le avvertenze In fase di sviluppo

Questa pagina contiene suggerimenti per risolvere i problemi che a volte si incontrano con alcune schede all'interno dell'ambiente Arduino-IDE, in particolare legati alle schede a basso costo Arduino Nano, ESP32 oppure ESP8266.

Il cavo USB

Molti cavi USB, soprattutto micro B, servono solo per fornire l'alimentazione e non per trasferire dati. Essi non sono adatti per l'uso con l'ambiente Arduino-IDE. Purtroppo non è possibile riconoscere un cavo dati (quattro conduttori) da un cavo di sola alimentazione (due conduttori) semplicemente osservandolo.

Linux

Innanzitutto occorre disporre fisicamente del dispositivo Arduino che si vuole utilizzare. Collegarlo al PC con il cavo USB ed osservare se viene creata una porta seriale virtuale.

Da linea di comando:

I dispositivi seriali USB

Se appare una porta dal nome simile a ttyUSB0 oppure ttyACM0 il cavo è corretto; è utile scollegare e collegare per verificare che non siano presenti altri dispositivi con lo stesso nome.

Se collegando la scheda USB non appare una nuova seriale, posso esserci diverse cause:

Windows

Innanzitutto occorre disporre fisicamente del dispositivo Arduino che si vuole utilizzare. Collegarlo al PC con il cavo USB ed osservare se viene creata una porta seriale virtuale.

Utilizzare Gestione dispositivi: se il cavo è corretto dovrebbe apparire una voce simile a quella di seguito evidenziata:

I dispositivi seriali USB

Se il cavo è del tipo corretto, ma non è installato il driver, appare il messaggio seguente. Più avanti come procedere.

Se collegando la scheda USB non appare una nuova seriale o un nuovo dispositivo, posso esserci diverse cause:

Driver

Per utilizzare Arduino-IDE è necessario che sia presente un driver compatibile e che l'hardware sia adeguato.

Linux

Per conoscere il tipo di hardware effettivamente presente e la presenza del driver, è possibile usare il comando lsusb. Di seguito qualche esempio:

vv@vv-i7:~$ lsusb
Bus 001 Device 022: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 001 Device 023: ID 1a86:7523 QinHeng Electronics CH340 serial converter
Bus 001 Device 016: ID 1a86:55d3 QinHeng Electronics USB Single Serial

Nella mia esperienza, usando kernel decentemente moderni il tutto ha sempre funzionato out-of-th-box.

Per verificarlo, dall'interno dell'applicazione Arduino-IDE fare l'upload uno degli esempi.

Windows

In alcuni casi il driver installato funziona correttamente.

In molti casi il driver necessario viene installato in automatico, attraverso Windows Update. Se non avete una connessione ad internet oppure non è configurata l'installazione automatica, è necessario procedere manualmente, come amministratore, scaricando il file CH341SER_2019.zip e procedendo come descritto in seguito.

Per una verifica può essere utilizzato uno qualunque degli esempio di base: se l'Upload ha successo non ci sarà alcun problema.

Un problema potrebbe nascere per alcune schede che utilizzano il chip CH340, probabilmente quello più diffuso; un esempio di tale chip è presente nell'immagine di apertura. Alcuni post indicano la causa in chip fake, ma non ho conferme oggettive.

L'errore mostrato in Arduino-IDE è simile al seguente:

A fatal esptool.py error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'Un dispositivo collegato al sistema non in funzione.', None, 31)esptool.py v3.0 Serial port COMx

Come verifica:

Di seguito come appare il driver del 2019, funzionante correttamente:

La soluzione è Installare il driver del 2019. Per fare ciò

CH340

Pagina creata nel marzo 2025
Ultima modifica di questa pagina: 8 marzo 2025


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima