Schede e fai da te · base

Quale ESP32 scegliere?

Quale ESP32 scegliere: core, radio, memoria e funzioni AI di ESP32 classico, S2, S3, C3, C5, C6, H2 e P4, con una tabella di confronto.

Black microcontroller development board with metal pins

Foto: Thorium / Unsplash

Dopo aver letto questo articolo saprai:

  • Abbinare le esigenze radio di un progetto (Wi-Fi 6, 5 GHz, Bluetooth, Thread o Zigbee) alla variante ESP32 giusta
  • Confrontare core, memoria interna e funzioni AI della famiglia sulla base dei dati dei datasheet
  • Capire quando un chip più recente vale la pena e quando bastano l'ESP32 classico o un C3
In questa pagina
  1. Che cosa distingue un ESP32 dall’altro?
  2. Come si confrontano le varianti principali?
  3. Quale chip per quale lavoro?
  4. L’ESP32 originale è obsoleto?
  5. E i chip più recenti?
  6. Chip, modulo o scheda di sviluppo?
  7. Per continuare

Scegli l’ESP32 prima in base alla radio, poi in base alla potenza di calcolo. Se il dispositivo ha bisogno solo di Wi-Fi e Bluetooth LE, l’ESP32-C3 è la scelta semplice di partenza; se serve anche Thread o Zigbee, guarda l’ESP32-C6 o, per il Wi-Fi 6 dual band, l’ESP32-C5; un sensore Thread o Zigbee a batteria senza Wi-Fi è fatto per l’ESP32-H2. Scegli l’ESP32-S3 quando il lavoro comprende una telecamera, un display, audio o machine learning sul dispositivo, e l’ESP32-P4 quando serve molta più elaborazione di quanta ne offra qualsiasi ESP32 wireless, sapendo che il P4 non ha una radio propria.

Il nome “ESP32” oggi indica una famiglia di system on chip di Espressif che condividono gli strumenti (ESP-IDF, il core Arduino) ma differiscono per architettura del processore, radio e memoria. L’ESP32 originale è ancora in vendita e ancora molto diffuso, ed è per questo che tanti tutorial lo danno per scontato. Questa guida confronta le varianti principali usando i datasheet di Espressif e indica quale si adatta a quale lavoro. Se stai ancora decidendo se un microcontrollore sia la classe di dispositivo giusta, parti da ESP32, Arduino o Raspberry Pi.

Che cosa distingue un ESP32 dall’altro?

Contano soprattutto tre cose, in quest’ordine.

Radio. La famiglia copre Wi-Fi 4 (802.11b/g/n) e Wi-Fi 6 (802.11ax), solo 2,4 GHz oppure 2,4 più 5 GHz, Bluetooth LE con o senza Bluetooth Classic, e IEEE 802.15.4, la radio su cui si basano Thread e Zigbee. La radio decide a quali ecosistemi il dispositivo può partecipare, quindi è il primo filtro.

Core. I chip più vecchi usano core Tensilica Xtensa (LX6 sull’ESP32 classico, LX7 su S2 e S3). Tutti i chip più recenti usano RISC-V. Per la maggior parte del codice applicativo la differenza è invisibile, perché ESP-IDF e il core Arduino la nascondono, ma conta per le ottimizzazioni a basso livello e per le istruzioni vettoriali dell’S3.

Memoria e accelerazione. La SRAM interna va da 320 KB a 768 KB, e alcuni chip accettano PSRAM esterna per i frame della telecamera, i buffer del display o le attivazioni delle reti neurali. Solo S3 e P4 hanno estensioni del set di istruzioni pensate per l’AI e l’elaborazione dei segnali.

Come si confrontano le varianti principali?

I dati qui sotto vengono dal datasheet di ciascun chip: ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2 ed ESP32-P4 (il datasheet del P4 è ancora indicato come preliminare).

ChipCPUSRAM internaRadioSi distingue per
ESP322× Xtensa LX6, 240 MHz520 KBWi-Fi 4, Bluetooth Classic + LE 4.2Bluetooth Classic, la base di codice più ampia
ESP32-S21× Xtensa LX7, 240 MHz320 KBSolo Wi-Fi 4USB OTG, niente Bluetooth
ESP32-S32× Xtensa LX7, 240 MHz512 KBWi-Fi 4, Bluetooth 5 (LE)Istruzioni vettoriali, telecamera, PSRAM
ESP32-C31× RISC-V, 160 MHz400 KBWi-Fi 4, Bluetooth 5 (LE)Costo basso, dispositivi connessi semplici
ESP32-C51× RISC-V, 240 MHz, più core LP384 KBWi-Fi 6 a 2,4 e 5 GHz, Bluetooth LE, 802.15.4Il chip dual band
ESP32-C61× RISC-V, 160 MHz, più core LP512 KBWi-Fi 6 a 2,4 GHz, Bluetooth LE, 802.15.4Wi-Fi più Thread o Zigbee
ESP32-H21× RISC-V, 96 MHz320 KBBluetooth LE, 802.15.4, niente Wi-FiDispositivi finali Thread e Zigbee
ESP32-P42× RISC-V, 400 MHz, più core LP768 KBNessunaDisplay, telecamere, calcolo intensivo

La tabella nasconde due dettagli. L’ESP32-S3 è venduto in versioni con PSRAM dentro il package, fino a 16 MB nell’ESP32-S3R16V, ed è questo che rende pratici su di lui i progetti con telecamera e voce. Il datasheet dell’ESP32-C6 indica il supporto a Thread 1.3, mentre quelli di C5 e H2 indicano Thread 1.4.

Quale chip per quale lavoro?

Un sensore o un relè Wi-Fi alimentato da rete. L’ESP32-C3 ha memoria e velocità sufficienti per MQTT, TLS e una pagina web di configurazione, e il suo unico core RISC-V mantiene le cose semplici. L’ESP32 classico fa lo stesso lavoro e conviene solo quando serve il secondo core o codice esistente scritto per lui.

Tutto ciò che deve parlare con dispositivi Bluetooth Classic. Ricevitori audio, vecchi dispositivi seriali via Bluetooth e alcuni controller di gioco richiedono BR/EDR, che in questa tabella supporta solo l’ESP32 classico.

Un dispositivo che entra in una rete Thread o Zigbee. L’ESP32-H2 è la scelta adatta alla batteria perché non ha un Wi-Fi da alimentare. ESP32-C6 e C5 combinano Wi-Fi e 802.15.4 in un unico chip, condividendo un’antenna in coesistenza a divisione di tempo, il che è utile per bridge e per dispositivi Matter che possono stare sull’una o sull’altra rete. Per un border router Thread, che deve servire entrambe le reti in continuazione, la scheda di riferimento di Espressif usa due chip: un ESP32-S3 per il Wi-Fi e un ESP32-H2 come radio 802.15.4.

Un ambiente a 2,4 GHz affollato o un access point solo a 5 GHz. L’ESP32-C5 è l’unico chip della tabella con una radio a 5 GHz. Sia il C5 sia il C6 supportano il target wake time (TWT) del Wi-Fi 6, che permette a un dispositivo di concordare quando svegliarsi per ricevere traffico e aiuta i progetti a batteria che devono restare associati.

Telecamere, display, voce e machine learning. L’ESP32-S3 aggiunge operazioni vettoriali a 128 bit che il suo datasheet descrive come pensate per algoritmi di “AI and DSP”, oltre a un’interfaccia per telecamera e a USB OTG. ESP-NN, la libreria di kernel alla base del porting Espressif di TensorFlow Lite Micro, include versioni in assembly scritte per quelle istruzioni vettoriali, quindi l’S3 è il punto di partenza abituale per il TinyML su questa famiglia.

Un pannello HMI o un dispositivo di visione. L’ESP32-P4 arriva a 400 MHz, ha interfacce MIPI per telecamera e display e un encoder H.264, che la pagina dell’ESP32-P4 di Espressif indica a 1080p a 30 fps. Non ha radio: la stessa pagina suggerisce di affiancargli un chip della serie ESP32-C o S come compagno wireless, collegato via SPI, SDIO o UART.

L’ESP32 originale è obsoleto?

No, ma alcune sue versioni stanno invecchiando. Il datasheet attuale dell’ESP32 elenca ancora come attivi l’ESP32-D0WD-V3 e l’ESP32-U4WDH, mentre diverse varianti precedenti sono indicate come “Not Recommended for New Designs”. Il chip classico resta una buona scelta quando ti servono il Bluetooth Classic o una libreria che supporta solo lui. Per un nuovo progetto Wi-Fi più BLE senza questi vincoli, C3, C6 o S3 offrono Bluetooth 5, periferiche di sicurezza più recenti e opzioni migliori per il basso consumo.

Lo stesso vale per l’ESP8266. La panoramica dei SoC di Espressif indica come sostituto l’ESP32-C2 (ESP8684), un chip RISC-V single core descritto come piccolo ed economico per applicazioni semplici.

E i chip più recenti?

La panoramica dei SoC di Espressif elenca anche diversi membri più recenti: l’ESP32-C61, un chip RISC-V a 160 MHz con Wi-Fi 6 a 2,4 GHz e Bluetooth LE presentato come Wi-Fi 6 economico; l’ESP32-S31, un RISC-V dual core fino a 320 MHz con Wi-Fi 6 a 2,4 GHz, Bluetooth LE e Classic e 802.15.4; l’ESP32-H4, un dual core a 96 MHz con Bluetooth LE e 802.15.4 per dispositivi a batteria; l’ESP32-H21; e l’ESP32-E22, un coprocessore di connettività Wi-Fi 6E e Bluetooth dual mode. Le loro pagine prodotto non indicano lo stato di produzione, e per alcuni il supporto software è descritto al futuro. Considerali chip da tenere d’occhio, e prima di adottarli in un progetto verifica datasheet, disponibilità dei moduli e supporto in ESP-IDF.

Chip, modulo o scheda di sviluppo?

Pochi prodotti usano il chip nudo. La maggior parte usa un modulo, che mette il SoC su una piccola scheda insieme a memoria flash, quarzo, antenna o connettore d’antenna e schermatura, di solito già certificato per la parte radio, così il prodotto evita buona parte del lavoro di progettazione RF e di certificazione. Per i prototipi, una scheda di sviluppo aggiunge al modulo USB, un regolatore di tensione e pulsanti.

Il supporto software segue la stessa logica di famiglia. Il core Arduino-ESP32 elenca come supportati ESP32, S2, S3, C3, C5, C6, H2 e P4, e ESP-IDF li copre tutti. Prima di scegliere una variante recente, verifica che le librerie specifiche che ti servono, come un driver per telecamera, uno stack Matter o un driver per display, la supportino già.

Per continuare

Argomenti: ESP32, Espressif, microcontrollori, hardware, confronto

Diagramma