This is an old revision of the document!
La famiglia di processori ESP32
La famiglia di processori scelta per la nostra sperimentazione è la ESP32 della espressif: si tratta di un ineme di processori con diverse caratteristiche HW ma che condividono grossolanamente gli stessi tipi di funzionaòità anche se con caratteristiche diverse in termini di potenza di calcolo, numero di pin di I/O disponibili , dimensione delle memorie RAM e flash entrocontenuta e per tipo di architettura interna dei vari mebri della famiglia.
Tutti processori supportano il sistema operativo FreeRTOS il che consente di far girare uno stesso pacchetto SW quasi in maniea identica su tutti i membri della famiglia.
Tutti i membri della famiglia integrano una funzione di radio WiFi/Bluetooth a 2.4 GHz utilissima per una agevole interfacciamento verso terminali mobili ( ad es. smartphones).
Finora i membri della famiglia utilizzati sono stati i seguenti : ESP32 standard, ESP32-S3 ed ESP32-C3
I primi due processori sono dei dual core mentre il terzo è un single core con tecnologia a bassissimo consumo energetico.
A seguire riporto alcuni puntatori alla documentazione ufficiale di questi dispositivi e al sietama operativo FreeRTOS :
Tutti i processori della famiglia ESP32 vengono resi disponibili in diversi modi allo scopo di rendere il più agevole possibile l'inserimento di questi processori in applicazioni customizzate; oltre ai chip nudi che contengono il solo processore, vengono resi disponibili dei moduli ibridi che contengono oltre al pocessore una certa quantità di memoria flash aggiuntiva o anche sotto forma di DevKits ( development kits) che includono in genere oltre ad un modulo ibrido in una certa configurazione anche della circuiteria aggiuntiva per agevolare l'utilizzo del processore con un minimo di circuiteria aggiuntiva e fornendo dei moduli preassemblati con pinnatura standard a 2.54 mm facilmente montabile su basette bredboard o su schede madri a limitatissima complessità.
Nel nostro caso utilizziamo solo dispositivi tipo DevKits proprio allo scopo di semplificare al massimo le nostre schede PCB evitando inutili criticità circuitali e minimizzando la probabibilità di errori HW oltre che minimizzando il costo di realizzazione delle nostre schede.
Questo approccio è ovviamente subottimale dal punto di vista delle dimensioni fisiche dei nostri circuiti ma è totalmente in linea con delle realizzazioni che si definiscono esplicitamente di test e sperimentazione e non hanno nessuna pretesa di sostituirsi a prodotti industrializzati per una produzione massiva.
A seguire riportiamo a scopo di esempio le foto rappresentative della pinnatura dei tre DevKits che usiamo allo stato nelle nostre realizzazioni.
- ESP32 standard
- ESP32-S3
- ESP32-C3 superMini
Tutti i moduli processore che utilizziamo sono alimentabili a 5V e sono dotati di un connettore USB-C che può essere utilizzato sia per alimentare il modulo qualora sia utilizzato da solo, e in ogni caso come interfaccia Seriale-su-USB per scopi di caricamento del SW e di monitoraggio e debug sfruttando nel primo caso un apposito tool di caricamento del SW, e nel secondo caso un qualsiasi terminale in grado di usare la modalità seriale-su-usb per consentire di attaccare un emulatore di terminale al processore.
Il tool di caricamento del SW è reperibile al seguente URL:
Al puntatore indicato sono anche reperibili le informazioni per l'utilizzo del tool. In ambiente Linux è anche disponibile un tool analogo al seguente indirizzo:
Esistono svariati emulatori di terminale anche open-source utilizzabili: un classico e putty.exe disponibile su qualsiasi piattaforma PC. Volendo è anche disponibile una applicazione WEB-Based che consente di interagire con i processori via seriale-usb sfruttando un qualsiasi browser web; un esempio è il seguente: https://webserial.sarimesh.net/.
Riguardo al sistema operativo FreeRTOS è reperibile su internet una ampia documentazione come pure numerosi tutorials. Di seguto si riportano alcuni links veloci relativi a tale SW:


