In questo articolo analizziamo il modulo ESP32 DevKIT V1, che rappresenta un’evoluzione del modulo ESP8266, che è molto utilizzato nel campo dell’ IoT.
Vedere anche l’articolo Scheda ESPertino con ESP-WROOM-32
Indice
Descrizione
Con una cifra molto bassa è stato possibile avere un microcontrollore programmabile abilitato al WiFi in grado di monitorare e controllare molti dispositivi da qualsiasi parte del mondo.
Sull’onda di quel modello la Espressif ha rilasciato nuovi modelli di cui uno è l‘ESP32. Questo oltre al supporto WiFi, dispone anche di Bluetooth, con funzionalità Bluetooth dual mode, il che significa che supporta sia Bluetooth 4.0 (BLE / Bluetooth Smart) che Bluetooth Classic (BT), rendendolo ancora più versatile, perfetto per quasi tutti i progetti IoT.
L’assorbimento energetico in stand-by è inferiore a 5 µA, rendendolo adatto a integrazione in progetti wearable alimentati a batteria. ESP32 supporta velocità di trasferimento dati fino a 150 Mbps, ed una potenza di uscita in antenna di 20.5 dBm che assicura una completa compatibilità con tutti i device.
Specifiche MCU
- Tensilica Xtensa® Dual-Core 32-bit LX6 microprocessor
- Frequenza di lavoro impostabile tra 80 MHz e 240 MHz
- 448 KBytes ROM per il booting e la cpu
- 520 KBytes on-chip SRAM
- 8 KBytes SRAM in RTC SLOW
- 8 KBytes SRAM in RTC FAST
- 1 Kbit of EFUSE, 256 bits MAC
Specifiche di rete
- WiFi: 802.11 b/g/n/d/e/i/k/r (802.11n fino a 150 Mbps)
- Supporto Bluetooth v4.2 BR/EDR e BLE
- Wi-Fi mode Station/softAP/SoftAP+station/P2P
- Security WPA/WPA2/WPA2-Enterprise/WPS
- Encryption AES/RSA/ECC/SHA
- IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT
Caratteristiche fisiche
Temperatura di lavoro: -40 + 85°C
Tensione di lavoro: 2.2-3.6V
Consumo: 80 mA tipico
Dimensioni chip: 18 x 20 x 3 mm
Dimensioni Modulo: 51 x 28 x 14 mm
Versioni del modulo
Sono disponibili due versioni del modulo ESP32 DevKIT, una con 30 pin e una più completa con 38 pin. In questo articolo sarà trattato solo il modello con 30 pin.
Dove trovare il modulo ESP32 DevKIT V1
Il modulo ESP32 DevKIT V1 può essere acquistato presso il sito Homotix, ad un costo è al momento delle pubblicazione di questo articolo di 7,99€.
Se al momento dell’ordine inserirete il codice sconto “ADRIROBOT” avrete diritto ad uno sconto
Requisiti dell’alimentazione
Poiché la gamma di tensione operativa dell’ESP32 è compresa tra 2,2 V e 3,6 V, il modulo ESP32 DevKIT V1 viene fornito con un regolatore di tensione LDO tipo AMS 1117 3.3 per mantenere la tensione costante a 3,3 V.L’ alimentazione alla scheda di sviluppo ESP32 viene fornita tramite il connettore USB MicroB integrato. In alternativa, se si dispone di una fonte di tensione 5V regolata, il pin VIN può essere utilizzato per alimentare direttamente l’ESP32 e le sue periferiche.
Il chip LDO, può fornire in modo affidabile fino a 600 mA, che dovrebbe essere più che sufficiente quando l’assorbimento del ESP32 è di 250 mA durante le trasmissioni RF.
L’uscita del regolatore è anche fornita attraverso il pin della scheda ed etichettato come 3V3. In questo modo è possibile fornire alimentazione a componenti esterni.
- Tensione di funzionamento: da 2,2 V a 3,6 V.
- Regolatore a bordo 3.3V 600mA
- 5 µA durante la modalità di sospensione
- 250mA durante le trasmissioni RF
Periferiche e I / O
Sebbene l’ESP32 abbia un totale di 48 pin GPIO, solo 25 (nella versione 30 pin del modulo ESP32 DevKIT V1) di essi sono suddivisi nelle intestazioni dei pin su entrambi i lati della scheda di sviluppo.
Questi pin possono essere assegnati a tutti i tipi di funzioni periferiche, tra cui:
- 15 canali di ADC SAR a 12 bit. L’intervallo dell’ADC può essere impostato, nel firmware, su 0-1 V, 0-1,4 V, 0-2 V o 0-4 V
- 2 interfacce UART. Uno viene utilizzato per caricare il codice in serie. Sono dotati di controllo del flusso e supportano anche IrDA!
- 25 canali di pin PWM per la regolazione dei LED o il controllo dei motori.
- 2 canali DAC a 8 bit per produrre tensioni analogiche reali.
- Interfaccia SPI, I2C e I2S – nello specifico, 3 interfacce SPI, una I2C per collegare tutti i tipi di sensori e periferiche, più due interfacce I2S se si vuole aggiungere il suono al vostro progetto.
- 9 GPIO sono dotati di rilevamento tattile capacitivo per creare dei Touch Pad
- sensore a effetto hall integrato che rileva i cambiamenti nel campo magnetico nei suoi dintorni.
Grazie alla funzione di multiplexing dei pin di ESP32 (più periferiche multiplexate su un singolo pin GPIO). Significa che un singolo pin GPIO può fungere da ingresso ADC / uscita DAC / touch pad.
Attenzione: I pin D34, D35, VP e VN non possono essere configurati come uscite, ma possono essere utilizzati come ingressi digitali, ingressi analogici o per altri scopi esclusivi. Si noti inoltre che non hanno resistenze interne di pull-up o pull-down, come gli altri pin GPIO.
Anche i pin GPIO VP e VN sono parte integrante del preamplificatore a bassissimo rumore per l’ADC, che aiutano a configurare il tempo di campionamento e il rumore del preamplificatore.
Pulsanti e indicatori LED
La scheda di sviluppo ESP32 dispone di due pulsanti. Uno contrassegnato come EN situato nell’angolo in alto a sinistra è il pulsante di ripristino, utilizzato ovviamente per ripristinare il chip ESP32.
L’altro pulsante di Boot nell’angolo in basso a sinistra è il pulsante di download utilizzato durante il download del nuovo sketch / programmi.
- EN/Reset – Ripristina il chip ESP32
- Boot: scarica nuovi programmi
- LED rosso – indica che la scheda è alimentata e ha 3,3 V dal regolatore.
- LED blu – programmabile dall’utente collegato al pin D2 della scheda.
Comunicazione seriale
La scheda utilizza un controller bridge CP2102 USB-to-UART prodotto dalla Silicon Labs, che converte il segnale USB in seriale e consente al computer di programmare e comunicare con il chip ESP32.
- Convertitore da USB a UART CP2102
- Velocità di comunicazione di 5 Mbps
- Supporto IrDA
Pin out della scheda di sviluppo ESP32
La scheda di sviluppo ESP32 ha un totale di 30 pin che la interfacciano con il mondo esterno. I collegamenti sono i seguenti
Come programmare il modulo ESP32
Per programmare il modulo ESP32 potete leggere l’articolo Modulo ESP32 DevKIT V1 – Installazione nell’IDE