Convertitore USB-TTL: usare CH340 e CP2102 con Arduino
A cosa serve un convertitore USB-TTL? TX-RX incrociati, jumper 3,3 V/5 V, driver, programmare Pro Mini, ESP-01 ed ESP32-CAM e confronto tra CH340 e CP2102.
Un convertitore USB-TTL è una piccola scheda che traduce la porta USB del computer nel linguaggio seriale (UART) parlato dai microcontrollori. Ti serve per caricare codice su schede senza connettore USB come Arduino Pro Mini, ESP-01 ed ESP32-CAM, per leggere i messaggi seriali che escono da un modulo o per configurare moduli GPS e Bluetooth direttamente dal computer. In realtà ogni Arduino Uno e Nano ne ha già una copia a bordo; il convertitore la trasforma in un modulo separato e portatile.
In questa guida conoscerai i pin del convertitore, l'errore più comune in assoluto (il collegamento TX-RX), il jumper che sceglie il livello logico a 3,3 V o 5 V e l'installazione dei driver su Windows, macOS e Linux. Poi vedrai come programmare un Arduino Pro Mini senza premere pulsanti grazie al pin DTR, caricare codice su ESP-01 ed ESP32-CAM, usare il convertitore come secondo monitor seriale e in cosa differiscono i tre chip più diffusi: CH340, CP2102 e FT232.

Che cos'è un convertitore USB-TTL e a cosa serve?
Computer e microcontrollore parlano lingue diverse. L'USB è un protocollo complesso fatto di pacchetti, indirizzi e driver. La UART di un microcontrollore, invece, usa solo due linee: una invia i dati (TX), l'altra li riceve (RX), e ogni byte è composto da bit inviati uno dopo l'altro a una velocità concordata (baud). Il chip del convertitore appare al computer come una porta seriale virtuale (COM3 su Windows, /dev/cu.usbserial... su macOS, /dev/ttyUSB0 su Linux); ogni byte scritto su quella porta esce dal pin TX come segnale UART e ogni byte che arriva sul pin RX viene passato al computer. Il TTL nel nome indica che i segnali variano tra 0 V e 5 V, oppure tra 0 V e 3,3 V.
- Programmare schede senza USB: Arduino Pro Mini, LilyPad, ESP-01, ESP32-CAM e chip ATmega328P nudi con bootloader.
- Leggere log seriali: Seguire i messaggi di debug in una seconda finestra mentre la porta USB della scheda è occupata con altro.
- Parlare direttamente con i moduli: Inviare comandi AT a un ESP-01, leggere le frasi NMEA di un GPS, rinominare un modulo Bluetooth.
- Recuperare una scheda guasta: Programmare un Uno o un Nano con il chip USB bruciato tramite i pin D0 e D1.
- Collegarsi alla console di altri dispositivi: I pin della console seriale di router, schede di stampanti 3D o computer a scheda singola.
Pin dell'USB-TTL: GND, VCC, TXD, RXD, DTR e RTS
| Pin | Funzione | Nota |
|---|---|---|
| GND | Massa comune | Va sempre collegato |
| 5V | Uscita 5 V dall'USB | Di solito fino a 500 mA, a seconda della porta del computer |
| 3V3 | Uscita 3,3 V | Dal chip o da un piccolo regolatore; corrente limitata |
| TXD | Uscita dati (dal computer alla scheda) | Va al pin RX della scheda di destinazione |
| RXD | Ingresso dati (dalla scheda al computer) | Va al pin TX della scheda di destinazione |
| DTR | Linea di controllo che va LOW all'apertura della porta | Usata per il reset automatico sugli Arduino |
| RTS / CTS | Linee di controllo di flusso | RTS si usa nel circuito di caricamento automatico delle schede ESP; CTS resta libero nella maggior parte dei progetti |
Collegamento incrociato di TX e RX
L'errore più comune è collegare TX con TX. La regola è semplice: la linea su cui un dispositivo parla deve andare alla linea su cui l'altro ascolta. Quindi il pin TXD del convertitore va al pin RX della scheda di destinazione e il pin RXD va al TX della destinazione. Alcune schede indicano la direzione direttamente nelle etichette per evitare confusione: sull'Arduino Pro Mini c'è scritto RXI (ingresso RX) e TXO (uscita TX), e le schede FTDI in stile SparkFun sono etichettate in modo che, innestandole direttamente, si ottenga l'incrocio corretto. Se non ti fidi delle etichette, prova una volta il collegamento al contrario; scambiare TX e RX non danneggia nulla, semplicemente non c'è comunicazione.
| Convertitore | Scheda di destinazione | Descrizione |
|---|---|---|
| GND | GND | Massa comune, indispensabile |
| TXD | RX (RXI, U0R) | Incrociato: trasmettitore verso ricevitore |
| RXD | TX (TXO, U0T) | Incrociato: ricevitore verso trasmettitore |
| 5V o 3V3 | VCC | Solo se la scheda di destinazione non ha un'altra alimentazione |
| DTR | DTR / GRN / RST | Solo se ti serve il reset automatico |
Il jumper 3,3 V / 5 V: come scegliere il livello logico
Arduino Uno, Nano e il Pro Mini a 5 V lavorano con logica a 5 V; ESP8266, ESP32 e Raspberry Pi Pico con logica a 3,3 V. Mandare un segnale a 5 V nel pin RX di un ESP sollecita i suoi diodi di protezione e col tempo può rovinare il pin. Per questo la maggior parte dei moduli CH340G ha un jumper a tre pin: sceglie la tensione di alimentazione del chip, e il livello dell'uscita TXD segue quella tensione. Il CP2102 lavora sempre con logica a 3,3 V ma i suoi ingressi tollerano i 5 V; perciò si intende senza problemi sia con le schede a 3,3 V sia con quelle a 5 V, perché un ATmega328P a 5 V considera già HIGH tutto ciò che supera i 3 V. Anche i moduli FT232RL hanno spesso un jumper che sceglie il livello di I/O del chip (VCCIO).
| Scheda di destinazione | Jumper o livello logico | Alimentazione |
|---|---|---|
| Arduino Pro Mini 5 V / 16 MHz | 5 V | Dal pin 5V del convertitore |
| Arduino Pro Mini 3,3 V / 8 MHz | 3,3 V | Dal pin 3V3 o dalla propria alimentazione |
| ESP-01 / ESP-01S | 3,3 V | Un regolatore a 3,3 V separato (almeno 300 mA) |
| ESP32-CAM | 3,3 V | Dal pin 5V del convertitore al pin 5V della scheda |
| Raspberry Pi Pico (UART0) | 3,3 V | Il Pico è alimentato dalla sua USB; solo GND, TX, RX |
Se il tuo convertitore non ha il jumper e devi collegare una linea TX a 5 V a un ingresso a 3,3 V, basta un semplice partitore di tensione: con 1 kΩ tra la linea TX e l'RX della destinazione, e 2 kΩ tra l'RX della destinazione e GND, i 5 V scendono a circa 3,3 V. Il calcolo dettagliato è in partitore di tensione. Nella direzione opposta, un TX a 3,3 V verso un ingresso a 5 V, di solito non ci sono problemi.
Confronto: CH340, CP2102 e FT232
| Caratteristica | CH340 (G / C) | CP2102 | FT232RL |
|---|---|---|---|
| Produttore | WCH | Silicon Labs | FTDI |
| Baud massimo | 2 Mbps | 1 Mbps (CP2102N: 3 Mbps) | 3 Mbps |
| Quarzo | Il CH340G richiede un quarzo esterno da 12 MHz; il CH340C lo ha integrato | Interno | Interno |
| Uscita 3,3 V | Dipende dal modulo, debole nella maggior parte | Sì, circa 100 mA chip compreso | Sì, fino a 50 mA |
| Livello logico | 5 V o 3,3 V in base all'alimentazione | 3,3 V, ingressi tolleranti ai 5 V | 5 V o 3,3 V in base a VCCIO |
| DTR e RTS | Sì | Sì | Sì, con tutte le linee modem |
| Driver | Su Windows di solito automatico; integrato in macOS e Linux | Su Windows di solito automatico; integrato in macOS e Linux | Automatico su Windows; integrato in macOS e Linux |
| Prezzo | Il più economico | Medio | Il più caro |
| Attenzione | Non caricare troppo il pin 3V3 del modulo | L'ordine dei pin cambia a seconda del produttore | Molti chip contraffatti; il driver ufficiale può rifiutarne alcuni |
Per l'uso hobbistico di tutti i giorni tra CH340 e CP2102 non c'è differenza pratica; entrambi funzionano perfettamente a 115200 baud e reggono senza sforzo tutte le velocità usate dall'Arduino IDE. L'oscillatore interno e l'uscita a 3,3 V più robusta danno al CP2102 un leggero vantaggio quando deve alimentare piccole schede a 3,3 V, mentre il CH340 è il più economico e diffuso. L'FT232RL è un chip affidabile e molto configurabile, ma buona parte dei moduli FT232 economici in commercio monta chip contraffatti. I CH9102 e CH343 che trovi sulle schede ESP32 più recenti sono membri più veloci della stessa famiglia e si usano allo stesso modo.

Installare i driver: Windows, macOS e Linux
| Sistema operativo | Cosa fare | Nome della porta |
|---|---|---|
| Windows 10 / 11 | Di solito Windows Update installa il driver da solo; altrimenti installa CH341SER per il CH340 o il driver CP210x VCP per il CP2102 | COM3, COM4... in Gestione dispositivi > Porte (COM e LPT) |
| macOS | Le versioni attuali includono i driver per CH340, CP2102 e FT232; non sovrapporre vecchi driver del produttore | /dev/cu.usbserial-..., oppure con il driver del produttore /dev/cu.wchusbserial... o /dev/cu.SLAB_USBtoUART |
| Linux | I driver sono già nel kernel; aggiungi il tuo utente al gruppo dialout e, su Ubuntu, rimuovi il pacchetto brltty se la porta del CH340 sparisce | /dev/ttyUSB0 |
Se su Windows, dopo aver collegato il convertitore, in Gestione dispositivi vedi sotto Altri dispositivi un USB2.0-Serial con il punto esclamativo giallo, manca il driver del CH340; se vedi CP2102 USB to UART Bridge Controller, manca quello del CP2102. Dopo aver installato il driver, scollega e ricollega il convertitore e guarda Strumenti > Porta nell'Arduino IDE: la porta nuova che compare in quel momento è quella del convertitore. Se non compare nulla, cambia prima il cavo; i cavi di sola ricarica non hanno i fili dati. L'elenco completo dei problemi di porta, driver e permessi è in Arduino non carica lo sketch.
Test di loopback: il convertitore funziona?
- Togli tutti i cavi dal convertitore e collegalo al computer.
- Con un cavetto jumper unisci tra loro i pin TXD e RXD del convertitore stesso.
- Seleziona la porta del convertitore nell'Arduino IDE e apri il Monitor seriale; per questo test la velocità non conta.
- Scrivi qualcosa e invialo. Se il testo torna identico, chip, driver e cavo sono a posto; il problema sta nel collegamento o nella scheda di destinazione.
- Se non torna nulla, controlla porta, driver e cavo, e guarda se i LED TX e RX del convertitore lampeggiano.
Programmare un Arduino Pro Mini: reset automatico con DTR

Durante il caricamento la scheda Arduino viene prima resettata; il bootloader, che gira per circa un secondo dopo il reset, controlla se dalla porta seriale arriva un nuovo programma. Uno e Nano fanno questo reset da soli: tra la linea DTR del chip USB e il pin RESET del processore c'è un condensatore da 100 nF. Appena l'IDE apre la porta, DTR passa da HIGH a LOW, il condensatore trasmette questo brusco calo al pin RESET come un breve impulso LOW e la scheda si riavvia. Sul Pro Mini lo stesso condensatore è sulla scheda ed è collegato al pin GRN (o DTR) del connettore; se colleghi lì il pin DTR del convertitore, caricare diventa facile come su un Uno.
| USB-TTL | Pro Mini | Nota |
|---|---|---|
| GND | GND (o BLK) | Massa comune |
| 5V o 3V3 | VCC | 5V per la versione 5 V / 16 MHz, 3V3 per la 3,3 V / 8 MHz |
| TXD | RXI | Incrociato |
| RXD | TXO | Incrociato |
| DTR | GRN (DTR) | Reset automatico; senza, devi resettare a mano |
- Scopri la versione della scheda dalla serigrafia sul retro o dal quarzo: le schede con quarzo da 16 MHz sono la versione a 5 V, quelle da 8 MHz la versione a 3,3 V.
- Imposta il jumper del convertitore in base alla versione della scheda e collega i fili secondo la tabella.
- Nell'Arduino IDE scegli Strumenti > Scheda > Arduino AVR Boards > Arduino Pro or Pro Mini.
- In Strumenti > Processor scegli ATmega328P (5V, 16 MHz) o ATmega328P (3.3V, 8 MHz) in base alla tua scheda.
- Seleziona la porta del convertitore e carica lo sketch di prova qui sotto; con DTR collegato non serve premere alcun pulsante.
1// Pro Mini + USB-TTL testi: LED yanıp söner, gönderdiğin satır geri gelir
2// Pro Mini + USB-TTL test: the LED blinks and every line you send comes back
3const int LED = 13; // Pro Mini'nin dahili LED'i / Pro Mini onboard LED
4unsigned long sonDegisim = 0;
5bool ledAcik = false;
6
7void setup() {
8 Serial.begin(9600);
9 pinMode(LED, OUTPUT);
10 Serial.println(F("Pro Mini hazir / ready"));
11 Serial.print(F("Derlenen saat / compiled clock: "));
12 Serial.print(F_CPU / 1000000UL); // 16 = 5 V sürüm, 8 = 3,3 V sürüm / 16 = 5 V board, 8 = 3.3 V board
13 Serial.println(F(" MHz"));
14}
15
16void loop() {
17 if (millis() - sonDegisim >= 500) { // yarım saniyede bir / every half second
18 sonDegisim = millis();
19 ledAcik = !ledAcik;
20 digitalWrite(LED, ledAcik);
21 }
22 if (Serial.available()) {
23 String satir = Serial.readStringUntil('\n'); // satır sonuna kadar oku / read up to the line ending
24 satir.trim();
25 Serial.print(F("Geldi / received: "));
26 Serial.println(satir);
27 }
28}Finito il caricamento, il LED sulla scheda lampeggia ogni mezzo secondo. Apri il Monitor seriale a 9600 baud con A capo (NL), scrivi qualcosa e il testo torna indietro. La riga F_CPU nel codice smaschera una trappola piccola ma importante: i bootloader di entrambe le versioni del Pro Mini caricano a 57600 baud, quindi il codice si carica anche con l'opzione Processor sbagliata. Ma se scegli 16 MHz per una scheda a 8 MHz, tutto gira a metà velocità, il LED cambia una volta al secondo e nel Monitor seriale vedi solo caratteri senza senso. Se il convertitore non ha il pin DTR puoi sincronizzare il caricamento a mano: appena l'IDE finisce di compilare e nell'output compare Uploading..., premi e rilascia il pulsante di reset del Pro Mini.
Caricare codice su ESP-01 ed ESP32-CAM
Su ESP8266 ed ESP32 il bootloader è integrato nel chip e all'avvio controlla il pin GPIO 0: se GPIO 0 è LOW entra in modalità download e attende il codice, se è HIGH esegue il programma in flash. Le schede di sviluppo hanno un circuito di caricamento automatico che collega le linee DTR e RTS a EN e GPIO 0 tramite due transistor; esptool muove queste linee in sequenza e porta da solo la scheda in modalità download. Un semplice convertitore USB-TTL non ha questo circuito, quindi lo fai a mano: colleghi GPIO 0 a GND, resetti la scheda, carichi il codice, poi togli il collegamento di GPIO 0 e resetti di nuovo.
| USB-TTL (jumper su 3,3 V) | ESP-01 | ESP32-CAM |
|---|---|---|
| GND | GND | GND |
| TXD | RX | U0R (GPIO 3) |
| RXD | TX | U0T (GPIO 1) |
| Alimentazione | VCC ed EN (CH_PD) da un regolatore a 3,3 V separato | Dal pin 5V del convertitore al pin 5V della scheda |
| Modalità di caricamento | GPIO 0 a GND, tocca brevemente RST con GND | IO0 a GND, premi il pulsante RST |
| Scheda nell'Arduino IDE | Generic ESP8266 Module | AI Thinker ESP32-CAM |
L'ESP-01 assorbe picchi di corrente oltre i 300 mA quando si collega al Wi-Fi; il pin 3V3 del convertitore non li regge e il modulo si riavvia di continuo. Usa quindi un regolatore AMS1117-3.3 alimentato dal pin 5V. Tutti i collegamenti e i comandi AT dell'ESP-01 sono in Modulo ESP-01, mentre il caricamento passo passo della ESP32-CAM è in Come usare la ESP32-CAM. Se cerchi un progetto che aggiunga un PIR alla ESP32-CAM e ti mandi la foto sul telefono, dai un'occhiata a Foto dalla ESP32-CAM su Telegram.
Leggere i log seriali: l'USB-TTL come seconda porta seriale
Uno degli usi meno noti ma più utili del convertitore è dare a una scheda un secondo monitor seriale. Mentre la porta USB della scheda dialoga con un programma Python, con il Plotter seriale o con un altro dispositivo, tu segui i messaggi di debug dettagliati su una porta separata. L'ESP32 ha tre UART hardware; il codice seguente assegna la UART2 ai GPIO 16 e 17 e invia una riga di log al convertitore ogni secondo. La lettera r inviata dal convertitore azzera il contatore, così vedi che funziona in entrambe le direzioni.
1// ESP32: USB portu Serial'de kalır, ikinci log kanalı USB-TTL'ye gider
2// ESP32: the USB port stays on Serial, a second log channel goes to the USB-TTL
3#define LOG_RX 16 // USB-TTL TXD buraya / USB-TTL TXD goes here
4#define LOG_TX 17 // USB-TTL RXD buraya / USB-TTL RXD goes here
5
6unsigned long sayac = 0;
7
8void setup() {
9 Serial.begin(115200); // kartın kendi USB portu / the board's own USB port
10 Serial2.begin(115200, SERIAL_8N1, LOG_RX, LOG_TX); // UART2: USB-TTL'ye / UART2: to the USB-TTL
11 Serial.println("Ana port / main port");
12 Serial2.println("Log portu hazir / log port ready");
13}
14
15void loop() {
16 sayac++;
17 int deger = analogRead(34); // GPIO 34'e bağlı bir sensör / a sensor on GPIO 34
18 Serial2.printf("[%lu ms] #%lu ADC=%d\n", millis(), sayac, deger); // ayrıntılı log / detailed log
19 if (sayac % 10 == 0) Serial.println(deger); // ana portta yalnız özet / only a summary on the main port
20
21 while (Serial2.available()) { // USB-TTL'den gelen komut / command from the USB-TTL
22 char c = Serial2.read();
23 if (c == 'r') {
24 Serial2.println("Sayac sifirlandi / counter reset");
25 sayac = 0;
26 }
27 }
28 delay(1000);
29}Per il collegamento imposta il jumper del convertitore su 3,3 V e collega TXD a GPIO 16, RXD a GPIO 17 e GND a GND. Poi, invece di aprire un secondo Arduino IDE, puoi usare PuTTY, screen su macOS e Linux oppure un piccolo lettore scritto in Python; per la parte Python vedi Comunicazione seriale tra Arduino e Python. Sul Raspberry Pi Pico la stessa idea richiede poche righe di MicroPython: la UART0 è su GP0 (TX) e GP1 (RX), e il codice invia un log e rimanda indietro i byte ricevuti.
1# Raspberry Pi Pico (MicroPython): UART0 üzerinden USB-TTL'ye log ve yankı
2# Raspberry Pi Pico (MicroPython): log and echo to a USB-TTL over UART0
3from machine import UART, Pin
4import time
5
6uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1)) # GP0 = TX, GP1 = RX
7led = Pin(25, Pin.OUT) # Pico dahili LED / Pico onboard LED (Pico W: "LED")
8sayac = 0
9son = time.ticks_ms()
10
11uart.write("Pico UART0 hazir / ready\r\n")
12while True:
13 if time.ticks_diff(time.ticks_ms(), son) >= 1000: # saniyede bir log / one log line per second
14 son = time.ticks_ms()
15 sayac += 1
16 led.toggle()
17 uart.write("[%d ms] #%d\r\n" % (time.ticks_ms(), sayac))
18 if uart.any(): # USB-TTL'den gelen baytlar / bytes from the USB-TTL
19 veri = uart.read()
20 uart.write(b"Geldi / received: " + veri)
21 time.sleep_ms(10)Con lo stesso metodo puoi ascoltare cosa dice un modulo senza nessun Arduino in mezzo. Collega un modulo GPS NEO-6M direttamente al convertitore, aprilo a 9600 baud e vedrai scorrere le frasi NMEA; apri un modulo HC-05 in modalità AT a 38400 baud e potrai cambiarne nome e PIN. Tutto su fine riga e baud del Monitor seriale è in Monitor seriale di Arduino.
Errori comuni e soluzioni
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| Il convertitore non compare nell'elenco delle porte | Cavo di sola ricarica, driver mancante o brltty su Linux | Usa un cavo dati, installa il driver, rimuovi brltty |
| avrdude: stk500_getsync(): not in sync: resp=0x00 | TX-RX non incrociati, DTR non collegato o scheda sbagliata | Collega TX a RXI e RX a TXO; collega DTR a GRN o premi reset quando compare Uploading... |
| Codice caricato ma il Monitor seriale mostra caratteri strani | Baud diversi o frequenza sbagliata scelta per il Pro Mini | Imposta il Monitor seriale sulla velocità del codice, scegli in Processor la versione reale della scheda |
| Failed to connect to ESP8266 / ESP32 | GPIO 0 non è LOW all'avvio oppure TX-RX invertiti | Collega GPIO 0 a GND, poi fai reset; controlla TX-RX |
| L'ESP si riavvia di continuo | L'uscita a 3,3 V del convertitore non regge i picchi di corrente | Usa un regolatore a 3,3 V separato e un condensatore da 100–470 µF |
| Il Pro Mini si resetta ogni volta che apri il Monitor seriale | DTR è collegato; il reset all'apertura della porta è normale | Se non vuoi il reset, togli il filo DTR dopo il caricamento |
| Il computer spegne la porta USB al collegamento | Cortocircuito o due alimentazioni in conflitto | Togli i fili; non collegare VCC se la destinazione ha la propria alimentazione |
Il convertitore USB-TTL è uno degli strumenti più piccoli del tuo cassetto e uno di quelli che userai di più: programma schede senza USB, fa parlare il computer con i moduli e ti mostra riga per riga cosa succede dentro i tuoi progetti. Se ricordi di incrociare TX e RX, di scegliere il livello logico giusto e di tenere GND in comune, quasi tutti i problemi spariscono. Nell'app BlueGrays trovi la comunicazione seriale tra due Arduino, il controllo dal telefono via Bluetooth e progetti Wi-Fi con ESP32, con schemi di collegamento e codice pronto passo passo.
Domande frequenti
A cosa serve un convertitore USB-TTL?
Converte la porta USB del computer nella comunicazione seriale UART usata dai microcontrollori. Così puoi caricare codice su schede senza USB come Arduino Pro Mini, ESP-01 ed ESP32-CAM, leggerne i messaggi seriali e configurare moduli come GPS o Bluetooth direttamente dal computer.
Meglio CH340 o CP2102?
Nei progetti hobbistici entrambi funzionano senza problemi a 115200 baud e in pratica non si nota differenza. Il CP2102 ha oscillatore interno, un'uscita a 3,3 V più robusta e ingressi tolleranti ai 5 V; il CH340 è più economico e più diffuso. Le versioni attuali di macOS e Linux includono i driver di entrambi.
Come si collegano TX e RX su un convertitore USB-TTL?
Si incrociano: il pin TXD del convertitore va al pin RX della scheda di destinazione e il pin RXD al TX della destinazione. GND deve essere sempre in comune. Invertire le linee non provoca danni, ma non arriva nulla; se non sei sicuro, scambiale e riprova.
Come programmare un Arduino Pro Mini con un USB-TTL?
Collega GND a GND, VCC a VCC, TXD a RXI, RXD a TXO e DTR al pin GRN. Nell'Arduino IDE scegli la scheda Arduino Pro or Pro Mini e l'opzione ATmega328P (5V, 16 MHz) o (3.3V, 8 MHz) adatta alla tua scheda, poi carica come al solito. Senza DTR premi reset appena compare Uploading...
Il convertitore USB-TTL deve essere a 3,3 V o a 5 V?
Il livello logico deve coincidere con la scheda di destinazione: 5 V per Uno, Nano e Pro Mini a 5 V; 3,3 V per ESP8266, ESP32 e Raspberry Pi Pico. Nei moduli con jumper la scelta si fa con il jumper. Il CP2102 esce sempre a 3,3 V e i suoi ingressi tollerano i 5 V, quindi funziona con entrambi i tipi di scheda.
Si può usare un Arduino Uno come convertitore USB-TTL?
Sì. Se colleghi il RESET dell'Uno a GND o ci carichi uno sketch vuoto, il suo chip USB diventa accessibile direttamente da D0 e D1. In questo caso il collegamento è diretto: il TX della destinazione va a D1 e il suo RX a D0. Dato che l'Uno usa logica a 5 V, aggiungi un partitore di tensione sulla linea D0 per le schede a 3,3 V.
Progetti da realizzare dopo questo articolo
Vedi tutti i progetti
HC-SR04 Misura della distanza (display seriale)
Il sensore HC-SR04 funziona come un pipistrello che trova la strada al buio: manda un suono che non puoi sentire, ne ascolta l'eco e misura quanto è lontano l'oggetto davanti a sé. L'Arduino scrive qu

Temperatura e umidità con DHT11
Quanti gradi ci sono nella tua stanza, e l'aria è umida o secca? Il sensore DHT11 misura temperatura e umidità, e l'Arduino scrive i valori su uno schermo LCD a due righe, aggiornandoli ogni paio di s

LED Lampeggiante con ESP32
Insegna l'uso di base delle uscite GPIO con l'ESP32. Otteniamo un effetto lampeggiante accendendo e spegnendo un LED dal pin digitale. Versione ESP32 del classico progetto blink su Arduino UNO; i comandi di base di blink nell'ambiente Arduino sono gli stessi, ma la disposizione dei pin e i livelli GPIO a 3,3 V dell'ESP32 sono diversi da quelli di Arduino UNO.

Comunicazione unidirezionale tra 2 Arduino
Fai parlare due Arduino con un solo filo: premi il pulsante sull'uno e il LED dell'altro si accende, premi di nuovo e si spegne. La scheda che invia segnala la pressione con un breve messaggio, e quel

Comunicazione bidirezionale tra 2 Arduino
Due Arduino collegati con dei fili parlano tra loro: premi il pulsante di uno e si accende la luce dell'altro, premilo di nuovo e si spegne. Entrambe le schede hanno lo stesso programma, quindi ognuna

Controllare un LED dal telefono tramite Bluetooth
Una piccola prova per accendere e spegnere le luci della tua stanza dal telefono. Il modulo Bluetooth passa all'Arduino le lettere che invii dal telefono; una lettera accende il LED rosso, un'altra qu

Connessione Wi-Fi STA con ESP32 (con display LCD)
In questo progetto colleghiamo l'ESP32 alla rete Wi-Fi domestica in modalità Station (STA) in modo sicuro e tollerante agli errori. Separiamo SSID e password in un file secrets.h per impedire fughe su Git, impostiamo un meccanismo di riconnessione automatica e visualizziamo il livello del segnale RSSI e l'indirizzo IP su un display LCD I2C. Il LED interno funge da indicatore di stato.

Aggiornamento OTA dell'ESP32 — Installazione wireless del firmware (con display LCD)
In questo progetto imparerai a installare il nuovo firmware sull'ESP32 tramite Wi-Fi, senza bisogno di un cavo USB. Grazie alla libreria ArduinoOTA, l'ESP32 diventa visibile sulla rete e viene automaticamente elencato come bluegrays-ota nella scheda "Network port" dell'IDE di Arduino. Il primo caricamento avviene tramite USB, mentre tutti gli aggiornamenti successivi saranno wireless — una caratteristica fondamentale per i dispositivi sul campo. Sul display LCD I2C vengono visualizzati, sia
Altri articoli
App BlueGrays
Costruisci questo circuito passo passo sul telefono
Schema, codice ed elenco componenti in un’unica schermata. Oltre 200 progetti Arduino, ESP32 e Pico da realizzare.
Inquadra con il telefono
Punta la fotocamera sul codice: si apre lo store del tuo telefono.
oppure apri lo store

