ESP32-C6 DevKitC 1: piedinatura ad alta risoluzione, datasheet, schema e specifiche

Spread the love

Pinout ad alta risoluzione

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:

  1. 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).
  2. Bluetooth 5 (LE): il chip supporta il funzionamento a lungo raggio tramite Coded PHY e PHY ad alto throughput da 2 Mbps.
  3. 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

ComponenteDescrizione
ESP32-C6-WROOM-1Il modulo principale contenente il SoC ESP32-C6, 8MB di Flash SPI e un’antenna PCB integrata.
Porta da USB-C a UARTLa 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-C6Una 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.3VUn 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 BOOTCollegato 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 RGBUn LED RGB indirizzabile (tipo WS2812) fornito per il feedback dell’utente. È controllato da GPIO8.
Jumper J5Un 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.3VUn 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):
    1. Spegnere la scheda.
    2. Rimuovere il ponticello dal connettore J5.
    3. Collegare un multimetro, impostato in modalità amperometro (es. mA o uA), in serie ai due pin di J5.
    4. 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)GPIO8Modalità di AvvioDescrizione
ALTO (Rilasciato)ALTOAvvio Normale da Flash(Predefinito) Esegue il programma dalla flash SPI.
BASSO (Premuto)ALTOBootloader Seriale ROM(Modalità Download) Attende un nuovo firmware tramite UART.
Altre combinazioniModalità non validaEvitare.

Il Conflitto del GPIO8

Questa è la trappola più comune per gli sviluppatori.

  • Il Problema: GPIO8 ha due funzioni:
    1. Pin di Strapping: deve essere ALTO per un avvio normale.
    2. LED del DevKit: controlla il LED RGB integrato (WS2812).
  • La Trappola:
    1. Costruisci un prototipo sul DevKit e il tuo codice usa GPIO8 per il LED. Funziona.
    2. Progetti un PCB personalizzato e ottimizzato per i costi e rimuovi il LED RGB.
    3. 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 PinGPIOFunzionePerché non devi usarli
Flash SPIGPIO 24-30Flash interna da 8MBUtilizzati dal modulo WROOM-1. Non disponibili sui connettori.
USB-JTAGGPIO 12, 13Porta USB-C nativaRiconfigurarli 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.
MiglioramentoCome farlo
Filtro HardwareAggiungi un condensatore esterno da 100nF tra il pin ADC e GND.
Filtro SoftwarePrendi più campioni nel tuo codice e fanne la media.
Alta PrecisioneUsa 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

CaratteristicaESP32-C6 (Connettività)ESP32-S3 (Prestazioni/AI)ESP32-C3 (Costo Ottimizzato)
Core CPU1x HP RISC-V @ 160 MHz
1x LP RISC-V @ 20 MHz
2x Xtensa LX7 @ 240 MHz 1x RISC-V @ 160 MHz
SRAM512 KB 512 KB 400 KB
ROM320 KB 384 KB 384 KB
Supporto PSRAMSì (RAM SPI esterna) Sì (SPI Ottale/Quad)No
Accelerazione AINoSì (Istruzioni Vettoriali) No
Wi-FiWi-Fi 6 (802.11ax) Wi-Fi 4 (802.11 b/g/n) Wi-Fi 4 (802.11 b/g/n)
BluetoothBLE 5.3 BLE 5.0 BLE 5.0
Zigbee / ThreadSì (IEEE 802.15.4) No No
USB NativoSì (USB 2.0 Full Speed) Sì (USB 2.0 OTG) No (Tipicamente non supportato)
GPIO (SoC)30 45 22

How To

  1. ESP32: piedinatura, specifiche e configurazione dell’Arduino IDE
  2. ESP32: fileSystem integrato SPIFFS
  3. ESP32: gestire più seriali e logging per il debug
  4. ESP32 risparmio energetico pratico
    1. ESP32 risparmio energetico pratico: gestire WiFi e CPU
    2. ESP32 risparmio energetico pratico: modem e light sleep
    3. ESP32 risparmio energetico pratico: deep sleep e ibernazione
    4. ESP32 risparmio energetico pratico: preservare dati al riavvio, sveglia a tempo e tramite tocco
    5. ESP32 risparmio energetico pratico: sveglia esterna e da ULP
    6. ESP32 risparmio energetico pratico: sveglia da UART e GPIO
  5. ESP32: filesystem integrato LittleFS
  6. ESP32: filesystem integrato FFat (Fat/exFAT)
  7. ESP32-wroom-32
    1. ESP32-wroom-32: flash, piedinatura, specifiche e configurazione dell’Arduino IDE
  8. ESP32-CAM
    1. ESP32-CAM: piedinatura, specifiche e configurazione dell’Arduino IDE
    2. ESP32-CAM: upgrade CamerWebServer con gestione della luce flash
  9. ESP32: ethernet w5500 con chiamate standard (HTTP) e SSL (HTTPS)
  10. ESP32: ethernet enc28j60 con chiamate standard (HTTP) e SSL (HTTPS)
  11. Come usare la scheda SD con l’esp32
  12. esp32 e esp8266: file system FAT su memoria SPI flash esterna
  13. Gestione aggiornamenti firmware e OTA
    1. Gestione del firmware
      1. ESP32: flash del firmware binario compilato (.bin)
      2. ESP32: flash del firmware e filesystem (.bin) con strumenti grafici
    2. Aggiornamento OTA con Arduino IDE
      1. Aggiornamenti OTA su ESP32 con Arduino IDE: filesystem, firmware e password
    3. Aggiornamento OTA con browser web
      1. Aggiornamenti OTA su ESP32 tramite browser web: firmware, filesystem e autenticazione
      2. Aggiornamenti OTA su ESP32 tramite browser web: caricamento in HTTPS (SSL/TLS) con certificato autofirmato
      3. Aggiornamenti OTA su ESP32 tramite browser web: interfaccia web personalizzata
    4. Aggiornamenti automatici OTA da un server HTTP
      1. Aggiornamento automatico Firmware OTA dell’ESP32 dal server
      2. Aggiornamento automatico Firmware OTA dell’ESP32 dal server con controllo della versione
      3. Aggiornamento automatico Firmware OTA dell’ESP32 in HTTPS (SSL/TLS) con certificato autofirmato affidabile
    5. Aggiornamento del firmware non standard
      1. Aggiornamento firmware e filesystem ESP32 dalla scheda SD
      2. Aggiornamento firmware e filesystem ESP32 con client FTP
  14. Integrare LAN8720 con ESP32 per la connettività Ethernet con plain (HTTP) e SSL (HTTPS)
  15. Collegare l’EByte E70 (CC1310) ai dispositivi ESP32 c3/s3 ed un semplice sketch di esempio
  16. ESP32-C3: piedinatura, specifiche e configurazione dell’IDE Arduino
  17. Integrazione del modulo W5500 su ESP32 con Core 3: supporto nativo ai protocolli Ethernet con SSL e altre funzionalità
  18. Integrazione del modulo LAN8720 su ESP32 con Core 3: supporto nativo del protocollo Ethernet con SSL e altre funzionalità.
  19. Dallas DS18B20
  20. Guida all’I2C su ESP32: comunicazione con dispositivi eterogenei 5v 3.3v, gestione interfacce aggiuntive
  21. Display

Datasheet

Datasheet ESP32c6

Schema della Scheda

Dimensioni PCB

Grazie


Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Exit mobile version