Quali pin sono liberi
I GPIO 0, 1, 3, 4, 5, 6, 7 e 10 non hanno ruoli all’avvio. I GPIO da 4 a 7 sono anche i pin JTAG, che servono solo con un debugger esterno, perché la scheda si programma e si fa il debug dall’USB del chip stesso. I GPIO 18 e 19 portano quel collegamento USB e non sono sul connettore.
GPIO 2, 8 e 9: pin di strapping
L’ESP32-C3 legge questi tre pin al reset. Il GPIO9 ha un pull-up ed è collegato al pulsante BOOT: se è BASSO al reset, avvia la modalità download. Il GPIO8 deve essere ALTO per la modalità download e sulla maggior parte delle schede comanda il LED blu. Espressif consiglia di tenere ALTO il GPIO2 al reset. Quando il programma gira tutti e tre funzionano come pin normali; basta non collegare nulla che li porti BASSI all’accensione.
| GPIO | Valore al reset | Cosa sceglie | In pratica |
|---|---|---|---|
| 2 | Scollegato | Non decide l’avvio, ma Espressif consiglia un pull-up | Tienilo ALTO al reset |
| 8 | Scollegato | Deve essere ALTO per entrare in modalità download | Non tenerlo BASSO all’accensione |
| 9 | Pull-up debole (ALTO) | Modo di avvio: ALTO esegue il programma, BASSO entra in modalità download | Pulsante BOOT; nient’altro deve tenerlo BASSO |
GPIO 20 e 21: UART0
Sono RX e TX della UART0 del chip. Il caricamento passa dalla porta USB nativa, mentre l’uso di questi pin o dell’USB per Serial dipende dall’opzione “USB CDC On Boot” di Arduino-ESP32. Al reset i messaggi di avvio della ROM escono dal GPIO21.
Ingressi analogici e deep sleep
L’ADC1 è sui GPIO da 0 a 4. Il GPIO5 è sull’ADC2, che ESP-IDF e Arduino-ESP32 non supportano sull’ESP32-C3, quindi metti le letture analogiche sui GPIO da 0 a 4: funzionano anche con il Wi-Fi acceso. Solo i GPIO da 0 a 5 possono svegliare il chip dal deep sleep.
Alimentazione e cloni
La scheda prende 5 V dall’USB-C o dal pin 5V e ha un piccolo regolatore a 3,3 V. Non c’è un circuito che separa le due sorgenti a 5 V, quindi non collegarle insieme. Il regolatore e la sua corrente cambiano da un produttore all’altro, con valori da 250 a 500 mA nei documenti dei venditori, quindi dai ai carichi pesanti un’alimentazione separata. Molte schede hanno anche un’antenna ceramica debole: se la portata del Wi-Fi è scarsa, di solito la colpa è dell’antenna, non del chip.
Nel disegno ogni fila parte dall’estremità con l’USB. Le scritte sono stampate sul retro, quindi quale fila sembra a sinistra o a destra dipende dal lato da cui guardi: controlla le scritte sulla tua scheda.
Tabella completa dei pin della ESP32-C3 SuperMini
| Pin | GPIO | Stato | Analogico | Funzioni | Note |
|---|---|---|---|---|---|
| L8 | GPIO0 | Libero | ADC1_CH0 | RTC_GPIO0, PWM (LEDC), XTAL_32K_P | quarzo 32 kHz |
| L7 | GPIO1 | Libero | ADC1_CH1 | RTC_GPIO1, PWM (LEDC), XTAL_32K_N | quarzo 32 kHz |
| L6 | GPIO2 | Con cautela | ADC1_CH2 | RTC_GPIO2, PWM (LEDC) | strapping |
| L5 | GPIO3 | Libero | ADC1_CH3 | RTC_GPIO3, PWM (LEDC) | Nessuna limitazione |
| L4 | GPIO4 | Libero | ADC1_CH4 | RTC_GPIO4, PWM (LEDC), MTMS (JTAG) | JTAG, SPI SCK |
| R1 | GPIO5 | Libero | ADC2_CH0 | RTC_GPIO5, PWM (LEDC), MTDI (JTAG) | ADC2 non supportato, JTAG, SPI MISO (RX) |
| R2 | GPIO6 | Libero | No | PWM (LEDC), MTCK (JTAG) | JTAG, SPI MOSI (TX) |
| R3 | GPIO7 | Libero | No | PWM (LEDC), MTDO (JTAG) | JTAG, SPI CS |
| R4 | GPIO8 | Con cautela | No | PWM (LEDC) | strapping, LED, I²C SDA |
| R5 | GPIO9 | Con cautela | No | PWM (LEDC) | strapping, pulsante BOOT, I²C SCL |
| R6 | GPIO10 | Libero | No | PWM (LEDC) | Nessuna limitazione |
| R7 | GPIO20 | Con cautela | No | PWM (LEDC), U0RXD | UART0, UART RX |
| R8 | GPIO21 | Con cautela | No | PWM (LEDC), U0TXD | UART0, UART TX |
Pin predefiniti della SuperMini in Arduino-ESP32: I²C su 8 (SDA) e 9 (SCL), SPI su 4 (SCK), 5 (MISO), 6 (MOSI) e 7 (SS), UART su 20 (RX) e 21 (TX). Con la GPIO matrix puoi spostarli su qualsiasi pin.
Domande frequenti
Su quale GPIO è il LED della ESP32-C3 SuperMini?
Sul GPIO8 nella maggior parte delle schede. Si accende quando il pin è BASSO, quindi digitalWrite(8, LOW) lo accende. Il GPIO8 è anche un pin di strapping, il che per un LED va bene. I cloni possono essere diversi, quindi verifica il tuo con uno sketch blink.
Come metto la ESP32-C3 SuperMini in modalità download?
Tieni premuto BOOT (GPIO9), premi e rilascia RESET, poi rilascia BOOT. Serve quando il caricamento fallisce perché lo sketch si è bloccato o ha riconfigurato l’USB: così il chip torna al suo bootloader.
Quali pin della ESP32-C3 SuperMini sono analogici?
I GPIO da 0 a 4, sull’ADC1. Il GPIO5 è sull’ADC2, che sull’ESP32-C3 non è supportato, quindi non si può usare per le letture analogiche.
Quali sono i pin I2C e SPI della ESP32-C3 SuperMini?
In Arduino-ESP32 la scheda SuperMini usa il GPIO8 per SDA e il GPIO9 per SCL, e i GPIO 4, 5, 6 e 7 per SCK, MISO, MOSI e SS. I GPIO 8 e 9 sono pin di strapping, ma i pull-up dell’I²C li tengono ALTI, che è proprio ciò che serve per l’avvio normale.
I pin della ESP32-C3 SuperMini tollerano i 5 V?
No. I GPIO dell’ESP32-C3 lavorano a 3,3 V e non sono garantiti per i 5 V. Per i segnali a 5 V usa un traslatore di livello o un partitore resistivo.