La ESP32-WROOM-32 è una delle tante versioni della ESP32 che programmeremo utilizzando la IDE di Arduino

Oggi spostiamo la nostra attenzione su una delle più potenti e complete dev-board attualmente in commercio, già presente in diversi modelli con altrettante diverse funzionalità: ESP32

Specifiche

Il modello di ESP32 che esaminiamo oggi è la ESP32-WROOM-32, un modello tra i più economici e diffusi e che possiamo acquistare su Aliexpress a circa 4,50€ oppure su Amazon a 11€ circa. Esteticamente è molto simile al NodeMCU V3, sebbene differisca parecchio da quasi ogni punto di vista.

Abbiamo voluto compararlo alle due dev-board più performanti già in nostro possesso:

ESP32NODEMCU V3STM32F103C8T6
CHIPTensilica Xtensa dual-core 32-bit LX6Tensilica 32-bit RISC CPU Xtensa LX106ARM®Cortex®-M3
ARCHITETTURA32 BIT32 bit32 BIT
CORE211
CPU240MHz80MHz72MHz
WiFiIEEE 802.11 b/g/nIEEE 802.11 b/g/n/
Bluetooth4.2//
RTC/
RAM512KB24KB20KB
MEMORIA FLASH4MB4MB64KB
PIN GPIO361637
INTERFACCIACAN, I2C, SPI, UARTI2C, SPI, UARTCAN, I2C, SPI, UART
TENSIONE OPERATIVA3,3V3,3V3,3V
COSTO (€)±4,50±2,60±2,20

Come leggiamo dalla tabella, la ESP32 possiede un chip Tensilica Xtensa dual-core LX6, basato su architettura a 32BIT, in grado di raggiungere i 240MHz e con ben 4MB di memoria flash, associati a 512KB di RAM. A differenza delle ESP8266, la ESP32 non possiede solo la connessione WiFi, ma è altresì dotata della connessione Bluetooth 4.2. Possiamo adoperare ben 36 PIN GPIO tutti PWM, lavorando con una tensione a 3,3V, senza però dimenticare che possiamo alimentare questa scheda anche con i 5V dal connettore Micro-USB o da pin VIN.

ESP32

Collegamenti

Per poter caricare gli sketch sarà necessario utilizzare un cavo Micro-USB e un condensatore da 10μF che utilizzeremo per ponticellare il pin GND e il pin EN. Sarà necessario perchè i modelli economici, come quello che stiamo testando oggi, necessitano di questa accortezza per entrare nella Program Mode. 

Per chi non lo sapesse, i condensatori hanno un positivo ed uno negativo; quest’ultimo va collegato al GND, mentre il positivo al pin ENABLE (EN).

ESP32



Fatto questo, passiamo a predisporre la IDE di Arduino per programmare la nostra ESP32 inserendo il link https://dl.espressif.com/dl/package_esp32_index.json nel percorso File -> Impostazioni e aggiungerlo alla voce URL aggiuntive per il gestore schede. 

ESP32

Una volta confermato tutto, muoviamoci sul menu Strumenti->Schede->Gestore schede.

ESP32

Quando la finestra sarà aperta, cerchiamo ESP32 e installiamo il pacchetto che ci appare.

ESP32

Codice

Proveremo due sketch di esempio, il primo ci sarà utile per far accendere e spegnere il led interno alla scheda e collegato al GPIO 2. Di base è lo stesso identico utilizzato per Arduino UNO, con la sola differenza che utilizzeremo il LED integrato nella ESP32.


void setup() {
pinMode(2, OUTPUT);
}

void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}

In fase di caricamento dello sketch ricordatevi di impostare la scheda come in figura, modificando solo la porta e assegnando quella che fornisce il vostro PC:

ESP32



Il secondo sketch lo troviamo negli esempio disponibili nel menu FILE ed è il WiFiScan, adoperato per scansionare e fornire gli SSID delle reti WiFi disponibili.

ESP32