ESP32-C6 DevKitC 1: piedinatura ad alta risoluzione, datasheet, schema e specifiche
L’ESP32-C6 rappresenta un’evoluzione significativa nella linea di prodotti Espressif, superando l’orientamento alle alte prestazioni dell’ESP32-S3 e l’ottimizzazione dei costi dell’ESP32-C3. L’ESP32-C6 è un potente dispositivo di connettività appositamente costruito che integra in modo unico tre tecnologie wireless chiave contemporaneamente.
Questo supporto “tri-protocollo” è la caratteristica distintiva del chip, rendendolo la soluzione di punta di Espressif per il nuovo standard per la casa intelligente Matter, che si basa su una combinazione di queste tecnologie:
- Wi-Fi 6 a 2.4 GHz (802.11ax): offre maggiore efficienza, minore latenza e prestazioni migliorate in ambienti wireless congestionati, grazie a funzionalità come OFDMA (Orthogonal Frequency-Division Multiple Access) e TWT (Target Wake Time).
- Bluetooth 5 (LE): il chip supporta il funzionamento a lungo raggio tramite Coded PHY e PHY ad alto throughput da 2 Mbps.
- Radio IEEE 802.15.4: questa è l’aggiunta più significativa, che fornisce supporto hardware nativo per i protocolli mesh Zigbee e Thread.
L’ESP32-C6-DevKitC-1 è la scheda di sviluppo ufficiale di Espressif progettata per presentare questo chip. È costruita attorno al modulo ESP32-C6-WROOM-1, che include il SoC ESP32-C6 con un oscillatore a cristallo da 40 MHz e, nella comune variante -N8, 8MB di Flash SPI. La scheda espone la maggior parte dei pin I/O del modulo, fornendo una piattaforma completa per lo sviluppo e la prototipazione, principalmente con l’ESP-IDF (Espressif IoT Development Framework).
Qui la mia selezione di esp32c6 da acquistare ESP32-C6-DevKitC-1 8N - ESP32-C6 C3 P4 H2 S3 Super mini
ESP32-C6-DevKitC-1: Panoramica Hardware e Componenti Chiave
L’ESP32-C6-DevKitC-1 offre un fattore di forma standard, compatibile con le breadboard, con tutti i componenti essenziali per l’alimentazione, la programmazione e l’interazione con l’utente.
Tabella dei Componenti Chiave della Scheda
| Componente | Descrizione |
| ESP32-C6-WROOM-1 | Il modulo principale contenente il SoC ESP32-C6, 8MB di Flash SPI e un’antenna PCB integrata. |
| Porta da USB-C a UART | La porta principale per l’alimentazione a 5V, il flashing del firmware e la comunicazione seriale (UART). Si collega tramite un chip bridge USB-UART integrato. |
| Porta USB Type-C dell’ESP32-C6 | Una porta USB nativa collegata direttamente al controller interno USB 2.0 Full Speed (12 Mbps) dell’ESP32-C6. Viene utilizzata per applicazioni USB native e per il debug JTAG. |
| LDO da 5V a 3.3V | Un regolatore di potenza a bassa caduta di tensione (LDO) che converte l’ingresso a 5V da una delle porte USB alla tensione operativa di 3.3V richiesta dal modulo ESP32-C6. |
| Pulsante BOOT | Collegato a GPIO9. Questo pulsante viene tenuto premuto durante il reset per avviare la modalità di download del firmware (bootloader). |
| Pulsante RST (Reset) | Collegato al pin Enable (EN) del chip. Premendo questo pulsante si riavvia il sistema. |
| LED RGB | Un LED RGB indirizzabile (tipo WS2812) fornito per il feedback dell’utente. È controllato da GPIO8. |
| Jumper J5 | Un connettore a due pin etichettato J5, situato sopra il modulo WROOM-1. Viene utilizzato per la misurazione precisa della corrente. Vedi la sezione dettagliata di seguito. |
| LED di accensione 3.3V | Un LED statico (tipicamente rosso) che si illumina quando la scheda riceve alimentazione a 3.3V dall’LDO. |
L’inclusione di due porte USB-C è una caratteristica significativa per lo sviluppo avanzato. La porta “USB-a-UART” fornisce un metodo classico e affidabile per la programmazione e il monitoraggio seriale. La porta “USB ESP32-C6” si collega al controller USB Seriale/JTAG interno del chip. Ciò consente un debug sofisticato e ad alta velocità tramite JTAG senza la necessità di una sonda di debug esterna, il tutto mentre i dati di log seriale vengono trasmessi in modo indipendente dall’altra porta.
Il Jumper J5 per la Misurazione della Corrente
Un componente specifico sulla scheda che spesso solleva domande è il jumper J5, situato direttamente sopra il modulo ESP32-C6-WROOM-1.
Scopo: Il connettore J5 è un punto di connessione per un amperometro. Non è un jumper di configurazione, ma è specificamente progettato per consentire la misurazione precisa della corrente consumata solo dal modulo ESP32-C6-WROOM-1, isolandolo dal resto dei circuiti della scheda di sviluppo.
Come funziona:
Questo connettore funge da ponte nella linea di alimentazione a 3.3V che alimenta il modulo WROOM-1.
- Stato Predefinito (Jumper Inserito): Di fabbrica, un ponticello (shunt) è posizionato su J5. Questo cortocircuita i due pin, completando il circuito a 3.3V e permettendo alla scheda di funzionare normalmente.
- Stato di Misurazione (Jumper Rimosso): Per misurare il consumo di corrente preciso del modulo (ad esempio, per verificare i valori di consumo in deep-sleep):
- Spegnere la scheda.
- Rimuovere il ponticello dal connettore J5.
- Collegare un multimetro, impostato in modalità amperometro (es. mA o uA), in serie ai due pin di J5.
- Riaccendere la scheda. Il multimetro mostrerà ora la corrente esatta assorbita solo dal modulo ESP32-C6-WROOM-1.
Questo è essenziale per lo sviluppo di applicazioni a basso consumo. Altri componenti sul DevKitC-1, come il chip bridge USB-UART, l’LDO e il LED di alimentazione, consumano tutti una “corrente a riposo”. Misurare l’assorbimento totale di corrente della scheda dalla porta USB a 5V darebbe un valore molto impreciso e gonfiato, rendendo impossibile convalidare le correnti a livello di microampere delle modalità di deep-sleep dell’ESP32-C6. J5 fornisce l’isolamento necessario per questa analisi critica.
Guida ai Pin Critici: dal DevKit al PCB Personalizzato
Questa guida evidenzia i pin critici sull’ESP32-C6. Il DevKit (Kit di Sviluppo) funziona facilmente perché ha componenti integrati (come resistori di pull-up) che mascherano questi requisiti dei pin.
Se ignori questi requisiti dei pin durante la progettazione di un PCB personalizzato, è probabile che la tua scheda non si avvii o mostri un comportamento irregolare.
I Pin di Strapping
I pin di strapping vengono letti all’avvio per impostare i parametri fondamentali del chip, come la modalità di avvio.
- Pin Chiave: GPIO 4, 5, 8, 9, 15
- Il Problema: se un circuito esterno (come un sensore o un pulsante) porta uno di questi pin nello stato “sbagliato” (ad esempio, BASSO) durante l’avvio, il chip non si avvierà normalmente.
- La Soluzione: su un PCB personalizzato, se devi utilizzare questi pin, aggiungi un resistore di pull-up esterno da 10k per garantire che siano ALTI all’avvio.
Logica Semplificata della Modalità di Avvio (GPIO 8 e 9)
| GPIO9 (Pulsante Boot) | GPIO8 | Modalità di Avvio | Descrizione |
| ALTO (Rilasciato) | ALTO | Avvio Normale da Flash | (Predefinito) Esegue il programma dalla flash SPI. |
| BASSO (Premuto) | ALTO | Bootloader Seriale ROM | (Modalità Download) Attende un nuovo firmware tramite UART. |
| Altre combinazioni | Modalità non valida | Evitare. |
Il Conflitto del GPIO8
Questa è la trappola più comune per gli sviluppatori.
- Il Problema: GPIO8 ha due funzioni:
- Pin di Strapping: deve essere ALTO per un avvio normale.
- LED del DevKit: controlla il LED RGB integrato (WS2812).
- La Trappola:
- Costruisci un prototipo sul DevKit e il tuo codice usa GPIO8 per il LED. Funziona.
- Progetti un PCB personalizzato e ottimizzato per i costi e rimuovi il LED RGB.
- FALLIMENTO: la tua scheda personalizzata non si avvia. Rimuovendo il LED, hai rimosso anche il circuito che manteneva GPIO8 ALTO. Il pin è ora flottante o BASSO e il chip non può avviarsi.
- Raccomandazione: su qualsiasi PCB personalizzato, aggiungi sempre un resistore di pull-up esterno a GPIO8 per garantire un avvio normale, anche se non lo stai usando per un LED.
Pin Riservati
Questi pin sono utilizzati internamente dal modulo ESP32-C6.
| Gruppo di Pin | GPIO | Funzione | Perché non devi usarli |
| Flash SPI | GPIO 24-30 | Flash interna da 8MB | Utilizzati dal modulo WROOM-1. Non disponibili sui connettori. |
| USB-JTAG | GPIO 12, 13 | Porta USB-C nativa | Riconfigurarli disabiliterà il debug USB e JTAG. |
Pin ADC (Analogici)
- Pin: GPIO 0-6
- Il Problema: gli ADC dell’ESP32 sono rumorosi e non lineari.
- La Causa: interferenza dalla radio Wi-Fi/BLE a 2.4GHz sullo stesso chip.
- Buone Pratiche: non aspettarti un’alta precisione.
| Miglioramento | Come farlo |
| Filtro Hardware | Aggiungi un condensatore esterno da 100nF tra il pin ADC e GND. |
| Filtro Software | Prendi più campioni nel tuo codice e fanne la media. |
| Alta Precisione | Usa un chip ADC esterno (come un ADS1115) tramite I2C. |
Pin “Alti all’Avvio”
- Il Problema: alcuni pin (specialmente i pin di strapping come GPIO8) vengono brevemente portati a livello ALTO o emettono un segnale durante la sequenza di avvio del chip.
- L’Impatto: questo può causare “scatti”, “click” o lampeggiamenti di relè, motori o LED all’accensione della scheda.
- La Soluzione: se questo è un problema, aggiungi un resistore di pull-down esterno (es. 10k) al pin per mantenerlo saldamente a livello BASSO durante l’avvio.
Confronto delle Caratteristiche di ESP32 C3/C6/S3
| Caratteristica | ESP32-C6 (Connettività) | ESP32-S3 (Prestazioni/AI) | ESP32-C3 (Costo Ottimizzato) |
| Core CPU | 1x HP RISC-V @ 160 MHz 1x LP RISC-V @ 20 MHz | 2x Xtensa LX7 @ 240 MHz | 1x RISC-V @ 160 MHz |
| SRAM | 512 KB | 512 KB | 400 KB |
| ROM | 320 KB | 384 KB | 384 KB |
| Supporto PSRAM | Sì (RAM SPI esterna) | Sì (SPI Ottale/Quad) | No |
| Accelerazione AI | No | Sì (Istruzioni Vettoriali) | No |
| Wi-Fi | Wi-Fi 6 (802.11ax) | Wi-Fi 4 (802.11 b/g/n) | Wi-Fi 4 (802.11 b/g/n) |
| Bluetooth | BLE 5.3 | BLE 5.0 | BLE 5.0 |
| Zigbee / Thread | Sì (IEEE 802.15.4) | No | No |
| USB Nativo | Sì (USB 2.0 Full Speed) | Sì (USB 2.0 OTG) | No (Tipicamente non supportato) |
| GPIO (SoC) | 30 | 45 | 22 |
How To
- ESP32: piedinatura, specifiche e configurazione dell’Arduino IDE
- ESP32: fileSystem integrato SPIFFS
- ESP32: gestire più seriali e logging per il debug
- ESP32 risparmio energetico pratico
- ESP32 risparmio energetico pratico: gestire WiFi e CPU
- ESP32 risparmio energetico pratico: modem e light sleep
- ESP32 risparmio energetico pratico: deep sleep e ibernazione
- ESP32 risparmio energetico pratico: preservare dati al riavvio, sveglia a tempo e tramite tocco
- ESP32 risparmio energetico pratico: sveglia esterna e da ULP
- ESP32 risparmio energetico pratico: sveglia da UART e GPIO
- ESP32: filesystem integrato LittleFS
- ESP32: filesystem integrato FFat (Fat/exFAT)
- ESP32-wroom-32
- ESP32-CAM
- ESP32: ethernet w5500 con chiamate standard (HTTP) e SSL (HTTPS)
- ESP32: ethernet enc28j60 con chiamate standard (HTTP) e SSL (HTTPS)
- Come usare la scheda SD con l’esp32
- esp32 e esp8266: file system FAT su memoria SPI flash esterna
- Gestione aggiornamenti firmware e OTA
- Gestione del firmware
- Aggiornamento OTA con Arduino IDE
- Aggiornamento OTA con browser web
- Aggiornamenti automatici OTA da un server HTTP
- Aggiornamento del firmware non standard
- Integrare LAN8720 con ESP32 per la connettività Ethernet con plain (HTTP) e SSL (HTTPS)
- Collegare l’EByte E70 (CC1310) ai dispositivi ESP32 c3/s3 ed un semplice sketch di esempio
- ESP32-C3: piedinatura, specifiche e configurazione dell’IDE Arduino
- Integrazione del modulo W5500 su ESP32 con Core 3: supporto nativo ai protocolli Ethernet con SSL e altre funzionalità
- Integrazione del modulo LAN8720 su ESP32 con Core 3: supporto nativo del protocollo Ethernet con SSL e altre funzionalità.
- Dallas DS18B20
- Guida all’I2C su ESP32: comunicazione con dispositivi eterogenei 5v 3.3v, gestione interfacce aggiuntive
- Display
- Guida Completa: Come Usare un Display ILI9341 con la Libreria TFT_eSPI
- Come integrare la funzionalità touch screen nel display TFT ILI9341
- Display eInk SSD1683 con GxEPD e ESP32 (e HMI CrowPanel 4,2″): nozioni di base e configurazione
- Display e-ink SSD1683 con GxEPD e ESP32 (e CrowPanel 4.2″ HMI): font, forme e immagini
Datasheet
Datasheet ESP32c6
Schema della Scheda
Dimensioni PCB
Grazie
- Arduino
- esp8285
- esp8266
- esp12 E
- esp07
- NodeMCU v2.x
- NodeMCU v3.x
- ESP-01
- ESP-01S
- ESP32
- DOIT ESP32 DEV KIT v1
- ESP32 DevKitC v4
- ESP32 WeMos LOLIN32
- ESP32 WeMos LOLIN32 Lite
- ESP32 WeMos LOLIN D32
- ESP32-wroom-32
- NodeMCU-32S
- ESP32-S
- ESP32-CAM
- ESP32-2432S028 (Cheap Yellow Display)
- ESP32-2432S032 (Cheap Yellow Display)
- ESP32c3
- ESP32 c6
- ESP32 s2
- ESP32s3
- Arduino SAMD
- STM32
- Raspberry Pi
