Archivi tag: ESP32

Corso IoT con ESP32 – corso base – lezioni operative per docenti

10 lezioni pratiche per partire da zero e arrivare al controllo di dispositivi reali

Quando si parla di IoT a scuola si rischia spesso di cadere in due estremi: da una parte attività troppo teoriche, che restano astratte e poco coinvolgenti; dall’altra una successione di mini-progetti interessanti ma scollegati tra loro, che non aiutano davvero gli studenti a costruire competenze solide.

Per questo ho deciso di raccogliere in questa pagina un percorso completo in 10 lezioni dedicato all’uso della ESP32 con MicroPython, pensato in modo particolare per docenti e per chi parte con competenze iniziali ancora fragili.

L’idea di fondo è molto semplice: costruire un corso che sia graduale, pratico e coerente, in cui ogni attività prepari la successiva. Si parte dall’ambiente di sviluppo e dai primi GPIO, si passa attraverso sensori, ADC, PWM, Wi-Fi, pagine web locali e Bluetooth BLE, per arrivare infine al controllo della velocità di un motore DC da browser.

In realtà durante la scrittura di tutte queste lezioni mi sono accorto che il corso stava diventando un libro molto pratico, pertanto se desiderate leggere in anteprima i capitoli del libro potete farlo

iscrivendovi all’area Premium del mio sito
(in abbonamento mensile o annuale)

L’iscrizione permetterà di leggere ed utilizzare la documentazione che utilizzo per i miei corsi in presenza e online destinati a docenti, studenti e appassionati di elettronica e tecnologie. Per sapere come è struttura la guida docente, le schede operative di laboratorio, valore didattico dell’opera vi invito a leggere il post di presentazione su Scholaria.

La pubblicazione avverrà periodicamente tendenzialmente un capitolo ogni 10 giorni circa.

Ho scelto di usare ESP32 perché è una piattaforma estremamente versatile e, soprattutto in un contesto scolastico, permette di lavorare con:

  • ingressi e uscite digitali;
  • letture analogiche;
  • PWM;
  • Wi-Fi;
  • Bluetooth BLE;

tutto con una sola scheda e senza cambiare continuamente ambiente di lavoro.

Ho scelto invece MicroPython perché consente di introdurre la programmazione hardware con una sintassi più accessibile, pur mantenendo un buon livello di rigore tecnico.

In questo post trovate lo sviluppo dell’intero percorso in una forma ordinata, così da poterlo usare come indice generale del corso, come pagina di riferimento di studio oppure come hub centrale del blog a cui collegare le singole lezioni.

A chi è rivolto il corso

Questo percorso è pensato soprattutto per:

  • insegnanti della secondaria di primo e secondo grado;
  • classi che stanno iniziando a lavorare con microcontrollori e IoT;
  • studenti con competenze iniziali basse o intermedie;
  • docenti che desiderano una sequenza di attività già organizzata in modo progressivo.

Ogni lezione è stata costruita con una attenzione particolare a quattro aspetti:

  • linguaggio semplice ma corretto;
  • forte connessione tra codice e cablaggio;
  • verifica immediata in laboratorio;
  • crescita graduale della complessità.

Come è costruito il percorso

Il corso segue una logica molto precisa.

All’inizio si lavora sui fondamentali:

  • ambiente di sviluppo;
  • primo programma;
  • GPIO;
  • LED;
  • lettura di segnali analogici.

Successivamente si passa ai sensori e alla logica di controllo:

  • potenziometro;
  • LDR;
  • DHT11;
  • soglia di intervento;
  • PWM.

Dopo questa base, il percorso entra nella parte più chiaramente “IoT”:

  • ESP32 come Access Point;
  • pagina web locale;
  • dashboard;
  • controllo e monitoraggio via browser;
  • collegamento BLE con smartphone.

Infine si chiude con un’attività più completa e più vicina a un sistema reale:

  • controllo della velocità di un motore DC con driver L298N e slider web.

In questo modo ogni nuova lezione aggiunge un solo gradino tecnico alla volta, evitando di sovraccaricare gli studenti con troppe novità contemporaneamente.

Indice completo delle 10 lezioni

Lezione 1 – Thonny, ESP32 e MicroPython: primi passi nell’ambiente di sviluppo
In questa prima lezione si impara a installare e usare Thonny, a collegare correttamente la ESP32 al computer, a selezionare l’interprete MicroPython e a distinguere tra shell, script e file salvati sulla scheda. È la base necessaria per tutto il corso.

  • Argomenti principali: Thonny, interpreter, REPL, main.py, primi test.
  • Obiettivo: rendere gli studenti autonomi nei passaggi iniziali di lavoro con ESP32 e MicroPython.

Lezione 2 – GPIO digitali con ESP32: accendere e far lampeggiare un LED
La prima vera attività hardware del percorso. Si introduce il concetto di GPIO come uscita digitale e si realizza il classico circuito con LED e resistenza, pilotato da MicroPython.

  • Argomenti principali: Pin.OUT, on(), off(), value(), tempi di attesa.
  • Obiettivo: capire come un programma può produrre un effetto fisico reale.

Lezione 3 – Potenziometro, ADC e PWM: regolare la luminosità di un LED
Qui gli studenti scoprono come leggere una grandezza analogica con l’ADC e come usare il PWM per regolare la luminosità di un LED in modo continuo.

  • Argomenti principali: potenziometro, ADC, read_u16(), PWM, duty_u16().
  • Obiettivo: collegare ingresso analogico e uscita PWM in un primo sistema di controllo continuo.

Lezione 4 – LDR e soglia di intervento: luce notturna automatica con ESP32
In questa attività la ESP32 legge il livello di luce ambientale tramite una LDR e accende automaticamente un LED quando si supera una soglia di buio.

  • Argomenti principali: partitore resistivo, LDR, soglia, if/else, automazione.
  • Obiettivo: introdurre la logica decisionale basata su misura e confronto.

Lezione 5 – DHT11 con ESP32: misurare temperatura e umidità in locale
Si introduce il sensore DHT11, leggendo temperatura e umidità direttamente nella shell di Thonny, senza ancora coinvolgere la rete.

  • Argomenti principali: modulo dht, measure(), temperature(), humidity().
  • Obiettivo: comprendere il funzionamento di un sensore ambientale digitale e visualizzarne correttamente i dati.

Lezione 6 – ESP32 come Access Point: creare una rete Wi-Fi locale senza Internet
La ESP32 viene trasformata in un piccolo Access Point Wi-Fi, capace di creare una rete locale a cui collegare smartphone o computer, senza bisogno di router o connessione Internet.

  • Argomenti principali: network.WLAN, AP_IF, active(True), ifconfig().
  • Obiettivo: preparare la base per tutte le lezioni successive con interfaccia web locale.

Lezione 7 – DHT11 su pagina web locale: primo web server Wi-Fi con ESP32
Qui si uniscono sensore e rete: la ESP32 legge temperatura e umidità dal DHT11 e le pubblica in una pagina web locale accessibile dal browser.

  • Argomenti principali: DHT11, Access Point, socket, HTML, server HTTP.
  • Obiettivo: costruire un primo vero progetto IoT locale con sensore e pagina web.

Lezione 8 – Pulsanti reali e dashboard: contatore con interfaccia web
Tre pulsanti fisici collegati alla ESP32 permettono di aumentare, diminuire o azzerare un contatore, mentre una dashboard web mostra il valore aggiornato quasi in tempo reale.

  • Argomenti principali: Pin.IN, Pin.PULL_UP, contatore, dashboard, aggiornamento dinamico.
  • Obiettivo: collegare eventi fisici reali a una interfaccia web di monitoraggio.

Lezione 9 – Controllo wireless via Bluetooth BLE con ESP32 e MicroPython
In questa lezione si cambia tecnologia e si introduce il Bluetooth Low Energy. La ESP32 si comporta come periferica BLE e riceve comandi dallo smartphone per pilotare un LED.

  • Argomenti principali: BLE, peripheral, central, advertising, servizi e caratteristiche GATT.
  • Obiettivo: mostrare una seconda modalità di comunicazione wireless, diversa dal Wi-Fi ma molto utile nei dispositivi IoT.

Lezione 10 – Controllo velocità motore DC da browser con ESP32, PWM e driver L298N
La lezione conclusiva del percorso: il browser controlla la velocità di un motore DC tramite slider web, mentre la ESP32 genera il PWM e il driver L298N gestisce la parte di potenza.

  • Argomenti principali: PWM, motore DC, L298N, slider HTML, controllo velocità.
  • Obiettivo: integrare interfaccia web, controllo PWM e attuazione reale in un progetto finale completo.

Materiali necessari per il corso

Di seguito trovi una lista generale dei materiali utili per seguire l’intero percorso.

Hardware di base

  • 1 scheda ESP32
  • cavo USB dati
  • breadboard
  • jumper maschio-maschio

Componenti elettronici

  • LED
  • resistenze da 220 Ω
  • potenziometro da 10 kΩ
  • LDR
  • resistenza da 10 kΩ per partitore
  • sensore DHT11
  • 3 pulsanti
  • motore DC
  • modulo L298N

Dispositivi esterni

  • computer con Thonny
  • smartphone, tablet o PC con Wi-Fi
  • smartphone con app BLE generica
  • alimentazione esterna per il motore DC

Per le prime lezioni bastano davvero pochi componenti:
ESP32, breadboard, LED, resistenze, potenziometro e LDR.
I moduli più “strutturati”, come DHT11, BLE e L298N, entrano solo nella parte centrale e finale del corso.

Come consiglio di usare queste lezioni

Questo percorso può essere usato in diversi modi.

Come corso lineare
È la modalità che consiglio di più. Le lezioni sono state pensate per essere affrontate in ordine, perché ogni tappa prepara la successiva.

Come raccolta di attività laboratoriali
Un docente può anche scegliere singole lezioni da usare in momenti diversi dell’anno, ma conviene comunque tenere presente la progressione logica del percorso.

Come riferimento per studio individuale
Uno studente motivato può usare il corso anche da solo, purché proceda con calma e senza saltare i passaggi fondamentali.

Un possibile uso in classe

Una scansione semplice potrebbe essere questa:

  • lezioni 1–2: familiarizzazione con ambiente e GPIO
  • lezioni 3–5: sensori, ADC, PWM e acquisizione dati
  • lezioni 6–8: rete locale e dashboard web
  • lezione 9: controllo BLE
  • lezione 10: progetto finale con motore

Questa organizzazione consente di trasformare il percorso anche in un piccolo modulo laboratoriale di più settimane.

Quando si costruisce un corso IoT per studenti dell’ITIS, la vera difficoltà non è trovare idee interessanti: quelle non mancano. La difficoltà vera è creare un percorso che abbia una progressione chiara, che non spaventi chi parte da zero e che mantenga sempre un forte legame tra teoria e pratica.

Questo corso nasce proprio con questa intenzione: portare gli studenti a capire che dietro la parola “IoT” non ci sono formule magiche, ma una serie di competenze concrete che si costruiscono passo dopo passo:

  • saper programmare una scheda;
  • saper leggere un sensore;
  • saper pilotare un’uscita;
  • saper comunicare in rete;
  • saper controllare un dispositivo reale.

Ed è in questa continuità che, secondo me, sta il vero valore di un buon percorso laboratoriale.

Sviluppi possibili

Chi conclude questo percorso può poi proseguire, ad esempio, verso:

  • logging dati;
  • dashboard più evolute;
  • controllo di relè;
  • servo e motori con inversione di direzione;
  • sensori ambientali più accurati;
  • integrazione con piattaforme cloud;
  • piccoli progetti di robotica o automazione.

Se siete interessati a sostenere questo corso/libro vi invito ad iscrivervi all’area Premium.

Buon Making a tutti 🙂

ESP32 su breadboard: come recuperare spazio di prototipazione

Chi lavora con ESP32 su breadboard conosce bene il problema: molte dev board (DevKit, NodeMCU, ecc.) sono abbastanza larghe da occupare la fessura centrale e “mangiarsi” proprio i fori che servirebbero per collegare jumper, moduli e sensori. Risultato: cablaggi scomodi, contatti instabili e poco spazio operativo.
In questo post raccolgo due soluzioni pratiche, a partire da due modelli stampabili in 3D. On-line trovate altre soluzioni che uniscono insieme più breadboard, sono ovviamente altrettanto valide, vi mostrerò in successivi post come procedere, per ora sto utilizzando una soluzione che considero più elegante.

Soluzione 1: “ESP-32 Breadboards” stampabile in 3D

La soluzione che sto utilizzando in questo periodo e che nasce proprio con l’obiettivo di porre l’ESP32 in posizione corretta e garantire più spazio aggiuntivo per moduli e collegamenti. Il progetto può essere reperito su MakerWorld ed è descritto dall’autore come “Perfect Fit, Extra Module Spaces” e posso confermarlo.

Motivi per cui ho scelto questo progetto:

  • crea una base dedicata: evitiamo ESP32 “appesi” alla breadboard;
  • recupero spazio attorno alla scheda per jumper e piccoli moduli;
  • è pensata per essere una soluzione ordinata, comodo in contesto didattico.

Seguite il link per prelevare i file per la stampa 3D.

Di seguito le fasi di costruzione.

Le lamelle/contatti metallici possono essere recuparate da una breadboard standard come potete notare dalle immagini che seguono, qindi l’operazione richiede un po’ di lavoro iniziale.

Soluzione 2: “Dual Breadboard Case”

La seconda soluzione è un contenitore che vi permette di accoppiare due breadboard creando un’area di prototipazione più ampia, lasciando la scheda (ESP32/Arduino ecc.) in posizione comoda.

Certamente è una soluzione più semplice da realizzare, non richiede di smontare le lamelle di una precedente breadboard, inoltre disponete di maggior spazio di lavoro.

Seguite il link per prelevare i file per la stampa 3D.

Mentre scrivo questo breve post sto stampando questo contenitore in modo da valutarne l’utilizzo a scuola.

Buon Making a tutti 🙂

Esp32-C3 Super Mini – lezione 1

Sto sviluppando da qualche giorno un progetto didattico un po’ “speciale” che vorrei portare in un evento scolastico tra qualche mese (spero di potervene parlare presto). In sintesi, si tratta di un controllo per micromotori, quelli tipici dei piccoli droni e, proprio per il vincolo di peso/ingombro a cui devo sottostare, mi sono orientato su componenti compatti: ESP32-C3 Super Mini e driver motore DRV8833.
Come sempre, mi interessa che il lavoro sia replicabile anche in altri contesti didattici: per questo ho deciso di trasformare le mie prove in una guida. In questa prima lezione facciamo un’introduzione completa alla scheda (pin, IDE, primi test), vediamo come controllare il led onboard e come controllare l’accensione del led sulla scheda attraverso una pagina web. Nelle lezioni successive aggiungerò ulteriori sperimentazioni legate all’uso di sensoristica specifica e al controllo di motori.

Guida introduttiva

L’ESP32-C3 Super Mini è una scheda di sviluppo molto compatta basata sul chip Espressif ESP32-C3, appartenente alla famiglia ESP32. Rispetto a molte altre board ESP32, si distingue soprattutto per dimensioni ridotte e consumi molto contenuti in modalità deep sleep.
In questo tutorial vedremo cos’è l’ESP32-C3 Super Mini, quali sono le sue caratteristiche principali e il suo pinout, come si programma con Arduino IDE e come eseguire alcuni esempi rapidi per verificare che tutto funzioni correttamente.

L’ESP32-C3 Super Mini integra il chip ESP32-C3 con Wi-Fi e Bluetooth a bordo. A differenza di altri modelli della famiglia, qui parliamo di un chip single-core. Il formato è molto ridotto ed è pensato per lavorare bene anche in scenari a basso consumo: secondo datasheet, in deep sleep può arrivare a circa 43 µA.
La board dispone di 16 pin, di cui 11 GPIO programmabili; questi GPIO supportano funzioni come ADC, PWM, UART, I2C e SPI.

Sono presenti due pulsanti: RST (reset) e BOOT. Il pulsante BOOT serve per entrare in modalità bootloader (utile quando dovete caricare il firmware), mentre RST riavvia la scheda, comodo per far ripartire subito lo sketch appena caricato.

È disponibile anche una porta USB-C, utilizzabile per alimentazione, upload del codice e comunicazione seriale. In alternativa, potete alimentare la scheda con un 5 V esterno usando i pin 5V e GND; in questo caso, è importante non usare contemporaneamente anche la USB-C.
Come su molte schede ESP32, è presente un LED onboard. Qui però è collegato a GPIO 8 (non a GPIO 2, come succede spesso su altre board).

Specifiche tecniche

  • Processore: CPU RISC-V 32 bit fino a 160 MHz
  • Wi-Fi IEEE 802.11 b/g/n e Bluetooth 5 (LE)
  • 400 KB SRAM, 384 KB ROM, 4 MB flash integrata
  • Antenna SMD compatta
  • 11 GPIO con supporto a:
    • DC (4 pin)
    • PWM
    • UART
    • I2C
    • SPI
  • LED integrato su GPIO 8
  • Pulsanti Reset e Boot
  • Consumo molto basso: fino a 43 µA in deep sleep
  • Form factor ridotto

Tabella riassuntiva delle specifiche

Voce Dettagli
Microcontrollore (processore) Espressif ESP32-C3 (RISC-V 32-bit single-core, fino a 160 MHz)
Memoria Flash 4 MB (flash SPI integrata)
SRAM 400 KB
ROM 384 KB
Wi-Fi 802.11 b/g/n, 2.4 GHz, fino a 150 Mbps
Bluetooth Bluetooth 5.0 LE
Pin GPIO 11 GPIO accessibili
Ingressi analogici (ADC) 2 × ADC SAR a 12 bit, fino a 6 canali
Canali PWM 6 canali
SPI 3 × interfacce SPI (SPI0, SPI1 riservate)
I2C 1 × interfaccia I2C
UART 2 × interfacce UART
I2S 1 × interfaccia I2S
Interfaccia USB USB-C, supporta USB CDC
Alimentazione 5V via USB-C oppure 3.3V–6V via pin VIN (5V); regolatore 3,3V integrato (fino a 500 mA)
Tensione di funzionamento 3,3V (livello logico per i GPIO)
Modalità Deep Sleep 43uA
Pulsanti 1 × pulsante Reset, 1 × pulsante Boot (GPIO9)
LED 1 × LED integrato (su GPIO8, attivo basso)
Programmazione Arduino IDE, ESP-IDF, MicroPython, PlatformIO/pioarduino

Strapping pin

Alcuni GPIO hanno un ruolo speciale durante avvio/reset (boot strap). In particolare:

  • GPIO 2: usato come strapping per entrare in bootloader – meglio evitarlo per uso generico.
  • GPIO 8: collegato al LED blu integrato (logica invertita / attivo LOW) ed è anche strapping.
  • GPIO 9: collegato al pulsante BOOT – da evitare per uso “tranquillo” nei progetti.

È possibile usare comunque questi pin, ma va considerato che, durante reset o ingresso in bootloader, il loro stato può cambiare temporaneamente e questo può interferire con circuiti collegati.

Pin di alimentazione

Per l’alimentazione disponete:

  • 5V
  • 3V3
  • GND

Il pin 3V3 può fornire 3,3 V dal regolatore onboard oppure ricevere 3,3 V da un’alimentazione esterna. Il pin 5V può essere usato come ingresso per alimentare la scheda, oppure come uscita dei 5 V provenienti dalla USB.

Pin analogici (ADC)

I GPIO 0, 1, 2, 3, 4 e 5 supportano lettura analogica:

  • GPIO 0: ADC1_CH0
  • GPIO 1: ADC1_CH1
  • GPIO 2: ADC1_CH2
  • GPIO 3: ADC1_CH3
  • GPIO 4: ADC1_CH4
  • GPIO 5: ADC1_CH5

PWM

Tutti i GPIO “general purpose” possono generare segnali PWM.

UART, I2C e SPI

Grazie al multiplexing dell’ESP32, le periferiche UART, SPI e I2C possono essere mappate su diversi GPIO.

Detto questo, in Arduino IDE i pin “di default” non sono universali: dipendono dalla board/variant selezionata (i file variant/pins_arduino.h del core Arduino-ESP32).
Per ESP32-C3 SuperMini (e, in generale, per il profilo ESP32C3 del core Arduino-ESP32) i default sono:

  • UART: GPIO 20 (RX) e GPIO 21 (TX)
  • SPI: GPIO 6 (MISO), GPIO 7 (MOSI), GPIO 10 (SCK) e GPIO 5 (SS)
  • I2C: GPIO 8 (SDA) e GPIO 9 (SCL)

Nota: su SuperMini GPIO 8 è anche il pin del LED integrato e GPIO 9 è legato al tasto BOOT; se usi I2C su 8/9 e noti comportamenti strani, conviene rimappare I2C su altri pin.

Remapping (rimappare i pin)

L’ESP32 (anche C3) supporta il remapping: in pratica SPI può essere spostata su altri GPIO.
Questo però non cambia automaticamente i “default”: quelli restano quelli definiti dalla variant della board selezionata nell’IDE.
Per evitare ambiguità (e prevenire librerie che assumono pin diversi), potete inizializzare SPI indicando esplicitamente i pin:

#include 
// firma: begin(sck, miso, mosi, ss)
SPI.begin(4, 5, 6, 7);

Aggiornamento: in una versione precedente di questa pagina era riportata un’indicazione errata sui pin SPI “di default”. Grazie a chi l’ha segnalato (nei commenti a questo post): per ESP32-C3 SuperMini i default del core Arduino-ESP32 sono SCK=GPIO4, MISO=GPIO5, MOSI=GPIO6, SS=GPIO7.
Continua a leggere

M5 StickC

E’ da qualche mese che sto utilizzando M5 StickC per la progettazione di future esercitazioni di laboratorio, mi piace considerarlo il fratellino 🙂 di M5Stack Fire segnalato su queste pagine qualche mese fa.
M5StickC ESP32 Development Board è una scheda di sviluppo estremamente versatile programmabile in diverse modalità e vi permette di realizzare facilmente e rapidamente progetti IoT. In questi mesi ho realizzato una serie di progetti: datalogger, telecomando WiFi e IR,  utilizzo con sensore PIR, controllo velocità motori e molto altro. Grazie all’interfaccia GROVE e GPIO è possibile connettere dispositivi esterni, sul sito ufficiale ne trovate moltissimi. Attualmente, connesso ad un piccolo altoparlante, sto sviluppando un dispositivo per persone ipovedenti.

Il sito ufficiale è: https://m5stack.com/

Sul sito di riferimento troverete moltissimi dispositivi e moduli di espansione, tra questi il già citato M5Stack FIRE ed altri prodotti molto interessanti di recente presentazione: ATOM Matrix ESP32 e M5StickV K210 AI Camera di cui vi parlerò in prossimi post e che sto utilizzando per altre tipologie di sperimentazioni.

Il piccolo “mattoncino” ha dimensioni estremamente contenute 5×2,5cm

all’interno trovano posto:

  • ESP32
  • display da 0,96 pollici (risoluzione 160×80)
  • microfono
  • buzzer
  • trasmettitore IR
  • WiFi
  • Bluetooth
  • accelerometro
  • giroscopio (6 gradi di libertà)
  • LED di segnalazione integrato
  • due pulsanti (A e B) programmabili
  • batteria da 80 mAh
  • memoria flash da 4MB
  • modalità di programmazione via USB e WiFi
  • Linguaggi di programmazione: UIFlow (blockly), C (pronto per essere programmato con IDE Arduino), MicroPython

I due video che allego di seguito forniscono una rapida presentazione sulla programmazione usando UIFlow e Arduino:

M5 Stick C può essere acquistato anche con un pratico cinturino da polso, ciò vi permetterà ad esempio di realizzare il vostro smartwatch IoT.

Per l’acquisto di M5 Stick C potete utilizzare il sito di riferimento, oppure direttamente su AliExpress. Alcuni prodotti di M5Stack potete trovarli anche su Amazon.

Per comprendere possibili applicazioni vi segnalo le sezioni del sito ufficiale:

Seguiranno a questo post una serie di tutorial sulla configurazione e aggiornamento del firmware, programmazione ed esempi di applicazioni.

Buon Making a tutti 🙂

M5Stack FIRE

Da qualche giorno utilizzo l’M5stack Fire development kit, si tratta di un un kit di prototipazione basato su un chip ESP32 che permette di realizzare in tempi rapidissimi, applicazioni IoT con la possibilità di utilizzare una serie di schede di espansione di diverso tipo, oppure potete costruirne di vostre. Le schede di espansione si aggiungono impilandole, al di sotto del cuore del kit (la parte in rosso nell’immagine) una sull’altra e sono tra esse vincolate con dei magneti.


Perché ho acquistato M5Stack? Ho la necessità di sviluppare un prototipo di un robot per un progetto didattico in tempi brevi, il progetto necessita di display touch con connessione WiFi, Bluetooth. Ho l’esigenza di costruire rapidamente un’interfaccia grafica su un display da cui gestire il comportamento del robot, inoltre ho bisogno di avere anche degli output sonori e luminosi, quindi leggendo le specifiche dell’M5stack e guardando alcuni video dimostrativi, ho pensato di sperimentarne l’uso. Ovviamente non nego la curiosità nell’utilizzare l’oggetto 🙂

M5Stack Fire è costituito da tre unità separabili. Nell’unità superiore è alloggia tutta l’elettronica principale, l’ESP32, l’antenna 2.4G, l’elettronica per la gestione dell’alimentazione, schermo LCD touch. La parte centrale è chiamata base M5GO, all’interno trova posto una batteria al litio, una presa M-BUS, due strisce LED RGB e altre due porte GROVE. La parte inferiore è adibita alla ricarica, può essere collegata alla base M5GO tramite pin POGO. All’interno dell’M5Stack si trova anche una IMU in grado di fornire la posizione nello spazio del dispositivo.
I moduli disponibili sono moltissimi ed un elenco completo può essere visto seguendo il link, si va dai moduli GSM, moduli PLC, LORA, telecamere e sensoristica di ogni genere, gestione motori, interfacce per Lego Mindstorms e molto altro.

Caratteristiche

  • 5V DC power supply
  • USB Type-C
  • ESP32-based
  • 16 MB Flash
  • 4 MB PSRAM
  • MPU9250
  • Speaker, 3 Pulsanti, LCD(320*240), 1 Reset
  • 2.4G Antenna: Proant 440
  • TF card slot (Dimensione massima 16G)
  • Battery Socket & 1Batteria Lipo da 50 mAh 
  • Connessioni Pins & Holes per l’espansione
  • Grove Port
  • M-Bus Socket & Pins
  • Piattaforme di sviluppo UIFlow, MicroPython, Arduino

Caratteristice ESP32

  • 240 MHz dual core Tensilica LX6 microcontroller con 600 DMIPS
  • Memoria integrata: 520 KB SRAM
  • Integrata sulla scheda: 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack e LWIP
  • Integrata sulla scheda: dual mode Bluetooth (classic and BLE)
  • Hall sensor
  • Interfaccia capacitiva touch 10x 
  • 32 kHz crystal oscillator
  • PWM/timer input/output available per ogni pin GPIO 
  • SDIO master/salve 50MHz
  • Supporto SD-card

Per maggiori informazioni

  • Sito di riferimento: https://m5stack.com
    da cui accedere alla documentazione, esempi di utilizzo ed accesso all’interfaccia di programmazione a blocchi.
  • Caratteristiche tecniche dettagliate seguendo il link.
  • Canale YouTube da cui potete vedere diverse sperimentazioni

Ho acquistato M5Stack FIRE su Amazon, ma trovate il dispositivo e schede di espansione anche su diversi store cinesi (sul sito di riferimento trovate tutti i link).

Nel breve pubblicherò alcuni risultati sulle sperimentazioni condotte con M5Stack FIRE.

Buon making a tutti 🙂