ESP32S2 mini o ESP32 S2 mini è una board relativamente recente e che solo da pochi giorni ho avuto a disposizione per un test.
La cosa che mi ha colpito, da subito, è che appena connessa, mediante un cavo USB-C, al computer non si è acceso alcun led e non è comparsa la porta USB tra quelle disponibili nell’IDE Arduino.
La prima cosa che ho pensato è che fosse danneggiato, almeno un led per segnalare che si fosse accesso me lo sarei aspettato.
Ad una attenta analisi un led è presente sulla scheda ma, ho scoperto in seguito, essere connesso ad un pin ( il 15 ) e non all’alimentazione.
Dopo qualche ricerca in internet ho trovato ciò che stavo cercando, ma andiamo con ordine.
ESP32S2 mini
Il packaging non è particolarmente curato, tuttavia, sappiamo che a noi interessa la sostanza delle cose e non l’apparenza 😀
per cui una volta aperta la bustina antistatica in cui ti arriva vedrai che al suo interno ci sono tutte le parti necessarie, ossia:
- la board esp32 s2 min;
- 4 header maschi da 8 pin ciascuno;
lo so, non è molto, ma è davvero tutto quello di cui hai bisogno in questo primo test della scheda:
inoltre ho trovato tutta la documentazione di cui puoi aver bisogno online, sul sito ufficiale wemos.
Caratteristiche della ESP32S2 mini
Le caratteristiche della ESP32S2 mini, come hai letto, le puoi trovare sul sito ufficiale, anche se te ne propongo alcune di seguito per poterle analizzare insieme:
Operating Voltage | 3.3V |
Digital I/O Pins | 27 |
Clock Speed | 240MHz |
Flash | 4M Bytes |
PSRAM | 2M Bytes |
Size | 34.3*25.4mm |
Weight | 2.4g |
come la maggior parte delle schede della serie ESP32, o meglio quelle che utilizzano questo microcontrollore, funziona a 3,3v e 240 MHz di clock speed.
ma la caratteristica che ho trovato più interessante è la disponibilità di 27 pin I/O, che nella documentazione ufficiale definisce come pin Digitali, tuttavia indagando meglio ho trovato che il pinout è davvero molto interesante:
come noti dalla figura del pinout, presa dal sito oprosthetics.org la funzione dei pin è tutt’altro che solo di Digital I/O.
L’ ESP32S2 mini infatti ti mette a disposizione:
Pin analogici | 18 |
Digital I/O Pins | 27 |
Pwm Pins | 27 |
SPI | 4 |
DAC ( Digital to Analog Converter ) | 2 |
Touch Pins | 14 |
UART / I2C | 27 |
Inoltre dispone di un led ( builtin ) connesso al pin 15, che userai nel prossimo test, e sue pulsanti:
- uno di reset ( RST )
- uno denominato “Button 0”
oltre ai pin VBUS ( +5v ), al 3,3v e Gnd.
Sono numeri molto interessanti in termini di disponibilità di pin e segnali a disposizione.
Primo sketch
Il primo sketch che puoi usare per testare la comunicazione con l’IDE Arduino è, come sempre il Blink a cui dovrai applicare solo qualche piccola modifica relativa al pin:
in quanto sull’ESP32S2 definisto nell’IDE Arduino il valore della costante LED_BUILIN non corrisponde a 15.
Ecco la modifica, semplicissima che puoi eseguire:
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(15, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(15, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(15, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
ossia al posto di LED_BUILTIN ho sostituito il valore 15 corrispondente al pin a cui è connesso il led montato sulla board.
Caricare lo sketch Blink
Come hai letto già nel primo paragrafo appena connessa la scheda al computer non si è attivata, almeno nel mio caso, alcuna porta USB nell’IDE Arduino per poter trasferire il codice del Blink sulla scheda.
Dopo qualche ricerca ho trovato un utile video, che ti riporto sotto, in cui l’autore ha descritto come procedere per rendere la porta visibile sull’IDE Arduino.
Ecco come puoi procedere:
- collega la porta USB;
- premi contemporaneamente premuti i tasti “Button 0” e “RST” per 10 secondi circa;
- rilascia i pulsanti e vedrai la porta comparire sull’IDE:
Imposta i parametri extra come mostrato in figura, in particolare:
- USB CDC On Boot: “Enabled”
- PSRAM: “Enabled”
- Upload Mode: “Internal USB”
a questo punto potrai trasferire il blink che hai scritto sopra.
Al primo invio dello sketch dovrai premere manualmente il tasto RST per avviare il programma, dalla volta successiva non sarà più necessario eseguire la procedura e neppure premere il tasto reset alla fine di ogni upload del codice.
Otterrai il led acceso per un secondo:
ed il led spento per un secondo:
e il ciclo continua all’infinito .. il Blink insomma.
Video istruzioni ESP32 in DFU mode
Ecco il video di cui ti ho descritto sopra la procedura:
Sei pronto per usare la tua nuova ESP32 S2 mini nei tuoi prossimi progetti.
4 commenti
Vai al modulo dei commenti
Grazie per il post.
Ma come si può collegare ad una breadboard un chip bifilare come questo ESP32S2 mini?
Autore
Ciao Marcello,
purtroppo non è possibile, potresti decidere di sacrificare una delle due linee per lato se non to servono tutte.
Ciao sto provando a usare questa scheda, ho fatto come hai spiegato e ci sono riuscito, grazie intanto, ho bisogno di collegare ESP32S2 mini ad un display ST7789, questo primo problema non so come fare, poi lo sketch che devo caricare usa la libreria TFT_eSPI, devo fare modifiche qui, mi aiuti per favore Grazie
Autore
Ciao Lidiano,
via commento posso aiutarti a risolvere eventuali errori, per quelloc he mi chiedi è forse meglio una call, scrivimi una email all’indirizzo info del blog e ci accorderemo su come procedere.