Un progetto con ESP32-S3 ed e-paper che nasce con un duplice obiettivo: realizzare un dispositivo realmente utile e trasformarne la costruzione in un’attività di laboratorio per gli studenti
Da qualche settimana sto lavorando a un nuovo progetto che unisce alcuni temi che ricorrono spesso nelle attività che sviluppo: elettronica, making, progettazione di interfacce, tecnologie per lo studio e didattica laboratoriale, il progetto si chiama:
OpenStudy Desktop Companion.
Si tratta di un piccolo dispositivo da scrivania dotato di display e-paper che sto sviluppando per accompagnare sessioni intenzionali di studio e lettura.
La domanda da cui sono partito è molto semplice:
perché costruire un dispositivo dedicato allo studio quando uno smartphone può già fare praticamente tutto?
Posso impostare un timer sul telefono, installare applicazioni per la tecnica Pomodoro, registrare quanto studio e consultare statistiche estremamente dettagliate, proprio qui, però, si trova anche il problema.
Quando porto lo smartphone sulla scrivania non porto soltanto un timer, porto notifiche, messaggi, social network, applicazioni e un dispositivo progettato per richiamare continuamente la mia attenzione.
OpenStudy Desktop Companion nasce quindi da un’idea diversa: provare a costruire una tecnologia che faccia poche cose, ma in modo intenzionale, e che possa restare sulla scrivania senza diventare un’ulteriore fonte di distrazione.

OpenStudy Desktop Companion sulla scrivania durante una normale sessione di lavoro.
Non soltanto misurare il tempo, ma imparare a gestirlo
Uno degli aspetti che mi interessa maggiormente riguarda proprio il rapporto con il tempo.
OpenStudy non nasce con l’obiettivo di dire semplicemente allo studente:
“devi studiare per 25 minuti”.
Vorrei che diventasse invece uno strumento attraverso il quale allenarsi progressivamente a compiere alcune scelte:
che cosa sto per fare? Quanto tempo penso di poter dedicare a questa attività? Riesco a mantenere l’impegno che ho scelto? Alla fine della sessione, come è andata?
Il timer diventa quindi soltanto una parte del processo.
Prima della sessione c’è una scelta intenzionale, durante la sessione c’è la gestione del tempo, alla fine c’è una breve riflessione e rimane una traccia del lavoro svolto.
Questo passaggio mi interessa particolarmente dal punto di vista didattico perché la gestione del tempo di studio non è una competenza che possiamo dare per acquisita, può essere osservata, discussa e allenata ed è proprio qui che emerge il secondo obiettivo del progetto.
Un dispositivo da usare, ma anche da costruire
OpenStudy Desktop Companion ha infatti per me due obiettivi paralleli:
- il primo è costruire un oggetto realmente utilizzabile per accompagnare studio e lettura.
- il secondo è trasformare progressivamente il progetto in una attività laboratoriale per gli studenti.
Non vorrei quindi consegnare semplicemente agli studenti un dispositivo finito dicendo loro come utilizzarlo. L’obiettivo più interessante è portarli, progressivamente, a comprenderne e costruirne almeno una parte.
Questo permette di lavorare contemporaneamente su elettronica e programmazione, ma anche su problemi molto concreti di progettazione.
- Come deve essere organizzata una schermata di soli 200 × 200 pixel?
- Quali informazioni sono realmente necessarie?
- Quando deve essere aggiornato un display?
- Come si gestisce un’interfaccia touch?
- Come si conserva un’impostazione anche dopo lo spegnimento?
- Come si registra localmente una sessione?
- Come si leggono temperatura e umidità da un sensore?
- Come si gestiscono data e ora attraverso un RTC?
E, soprattutto:
stiamo costruendo una funzione perché possiamo farlo oppure perché serve realmente alla persona che utilizzerà il dispositivo?
Quest’ultima domanda, dal punto di vista didattico, vale probabilmente più di molte spiegazioni puramente tecniche.

Il firmware di OpenStudy Desktop Companion viene sviluppato in C++ con framework Arduino, Visual Studio Code e PlatformIO.
L’hardware: perché ho scelto la Waveshare ESP32-S3-Touch-ePaper-1.54 V2
Per questo prototipo sto utilizzando una Waveshare ESP32-S3-Touch-ePaper-1.54 V2, la scelta non è stata determinata semplicemente dalla potenza dell’ESP32-S3, ci sono molte schede con le quali sarebbe possibile costruire un dispositivo simile, ciò che mi interessava era soprattutto il livello di integrazione.
In un oggetto estremamente compatto questa scheda mette a disposizione:
- ESP32-S3-PICO-1-N8R8, con 8 MB di Flash e 8 MB di PSRAM;
- display e-paper bianco e nero da 1,54 pollici, 200 × 200 pixel;
- interfaccia touch;
- RTC PCF85063 per mantenere data e ora;
- sensore SHTC3 per temperatura e umidità;
- slot microSD;
- codec audio ES8311, altoparlante e microfono;
- USB-C e gestione della batteria al litio;
- Wi-Fi e Bluetooth disponibili attraverso l’ESP32-S3, anche se al momento non vengono utilizzati dalle funzioni del Companion.
Questa integrazione permette di ridurre notevolmente cablaggi e componenti esterni e, soprattutto nella fase di prototipazione, consente di concentrare molto del lavoro sul firmware e sull’esperienza d’uso.
Dal punto di vista laboratoriale trovo inoltre interessante avere nello stesso progetto tecnologie differenti: bus I²C, touch, sensori, RTC, memoria persistente, microSD, audio e display e-paper.
OpenStudy può quindi diventare anche una sorta di laboratorio compatto di sistemi embedded.
Perché utilizzare un display e-paper
La scelta dell’e-paper è probabilmente uno degli elementi che caratterizzano maggiormente OpenStudy, avrei potuto utilizzare un OLED o un piccolo LCD, sarebbero stati più veloci e avrebbero permesso animazioni molto più fluide, ho scelto invece un display e-paper proprio perché volevo che l’interfaccia avesse un comportamento differente.
Un e-paper non emette luce come un display LCD o OLED e mantiene l’immagine statica senza richiedere un aggiornamento continuo del display, è leggibile anche in presenza di molta luce ambientale e restituisce una sensazione visiva molto diversa da quella dello schermo di uno smartphone.
Naturalmente questa tecnologia porta con sé anche alcuni limiti, il refresh è più lento, durante alcuni aggiornamenti è possibile vedere un lampeggiamento o una transizione, il display utilizzato è monocromatico, le animazioni fluide semplicemente non fanno parte del suo linguaggio.
In OpenStudy questi limiti stanno diventando, almeno in parte, vincoli progettuali utili, se non posso riempire il display di animazioni, devo chiedermi quali elementi servano realmente.
Se un aggiornamento ha un costo in termini di tempo e refresh, devo decidere quando sia realmente necessario.
Se ho soltanto 200 × 200 pixel, devo progettare una gerarchia delle informazioni.
Questa limitazione mi piace molto anche dal punto di vista educativo: costringe a progettare, non semplicemente ad aggiungere.
OpenStudy vuole essere una presenza discreta sulla scrivania, non uno smartphone in miniatura.

La HOME mostra in modo essenziale ora, data, temperatura e umidità insieme alla presenza grafica del Companion.
È importante anche fare una precisazione sui consumi.
L’e-paper consuma soprattutto durante gli aggiornamenti e mantiene l’immagine senza richiedere un’alimentazione continua del pannello. Questo non significa però automaticamente che l’intero dispositivo abbia un’autonomia lunghissima: nel consumo complessivo entrano infatti anche ESP32-S3, sensori, audio e firmware.
La HOME: un piccolo oggetto che rimane sulla scrivania
Quando OpenStudy è acceso, la schermata principale mostra una piccola faccina insieme ad alcune informazioni utili:
ora, data, temperatura e umidità.
Temperatura e umidità vengono rilevate dal sensore SHTC3 presente sulla scheda, mentre data e ora sono mantenute attraverso l’RTC PCF85063.
Non considero queste informazioni il centro del progetto, servono piuttosto a trasformare il dispositivo in una piccola presenza permanente e utile sulla scrivania anche quando non è in corso una sessione.
La faccina ha invece una funzione più sottile, non vuole trasformare OpenStudy in un giocattolo né simulare un assistente intelligente. Non c’è, allo stato attuale, alcuna intelligenza artificiale conversazionale nel dispositivo, è semplicemente un elemento grafico che rende l’oggetto meno simile a un apparecchio di misura e più simile a un piccolo companion.
Iniziare una sessione: STUDIA oppure LEGGI
Il flusso di utilizzo parte da una scelta molto semplice, posso decidere di avviare una sessione di STUDIO oppure di LETTURA.
Le due attività possono avere durate preferite differenti. La durata viene proposta automaticamente all’ingresso nel rispettivo pannello, ma può comunque essere modificata prima dell’avvio, questo dettaglio è importante, non voglio che il dispositivo imponga automaticamente un tempo prestabilito, deve aiutare a costruire un’abitudine alla gestione del tempo, non sostituirsi alla decisione dello studente.
Impostazione della sesione di STUDIO:

Prima di iniziare OpenStudy chiede quale attività voglio svolgere e quanto tempo voglio dedicarle.
Impostazione della sesione LEGGI:

Prima di iniziare OpenStudy chiede quale attività voglio svolgere e quanto tempo voglio dedicarle.
Il timer, la pausa e la ripresa
Una volta avviata la sessione parte il timer reale.
Durante il lavoro è possibile mettere la sessione in pausa e successivamente riprenderla, è una funzione apparentemente banale, ma nel progetto serve a riconoscere una situazione molto reale: studiare non significa necessariamente restare immobili davanti al libro fino allo scadere di un cronometro.
Può esserci un’interruzione necessaria e il dispositivo deve permettere di gestirla senza perdere il senso della sessione.
Sono presenti anche feedback sonori e, quando abilitati, prompt audio memorizzati sulla microSD.
I suoni possono essere disattivati nelle impostazioni, perché anche in questo caso preferisco che sia l’utente a decidere il livello di presenza del dispositivo.

Una sessione di studio in corso. Il timer può essere messo in pausa e successivamente ripreso.
Alla fine non c’è soltanto uno “stop”
Alla conclusione della sessione OpenStudy mostra una schermata di successo e propone una breve riflessione finale, la risposta può essere:
SÌ, PARZIALE oppure NO,
è volutamente un meccanismo molto semplice, non pretende di valutare la qualità dello studio e non sostituisce una riflessione metacognitiva più articolata, serve a introdurre una piccola pausa cognitiva tra:
“il tempo è terminato”
e
“passo immediatamente a qualcos’altro”,
è uno dei punti del progetto che considero più interessanti dal punto di vista educativo.
La domanda implicita diventa:
ho svolto quello che avevo intenzione di fare?

Alla conclusione OpenStudy introduce una brevissima riflessione sull’esito della sessione.
Registrare il lavoro svolto
Le sessioni completate vengono registrate localmente sulla microSD in un file CSV, non è necessaria una connessione cloud per il funzionamento corrente del dispositivo.
A partire da questi dati OpenStudy calcola statistiche reali relative a OGGI e alla SETTIMANA, organizzata da lunedì a domenica, questo permette di trasformare una successione di timer isolati in una piccola memoria del lavoro svolto.
L’obiettivo non è costruire un sistema di sorveglianza dello studente e nemmeno produrre classifiche, mi interessa piuttosto rendere visibile qualcosa che normalmente rimane difficile da percepire:
la continuità.
Una singola sessione può sembrare poca cosa, osservare una settimana di lavoro permette invece di costruire una rappresentazione più concreta delle proprie abitudini.
Statistiche della giornata:

Le sessioni registrate sulla microSD permettono di visualizzare statistiche reali relative alla giornata.

Le sessioni registrate sulla microSD permettono di visualizzare statistiche reali relative alla settimana.
Le impostazioni
Con l’evoluzione del prototipo anche il menu delle impostazioni è diventato progressivamente più completo, è possibile scegliere la lingua italiana o inglese, attivare o disattivare i suoni e definire separatamente la durata preferita per le sessioni di studio e quelle di lettura, è inoltre possibile regolare manualmente data e ora attraverso il touchscreen.
Non è presente, al momento, la sincronizzazione automatica tramite Internet e non viene gestito automaticamente il passaggio tra ora solare e ora legale, questa scelta mantiene per ora il dispositivo completamente locale.
La sezione di gestione dati consente inoltre di azzerare esclusivamente la cronologia delle sessioni OpenStudy, richiedendo una conferma esplicita prima della cancellazione.

Le impostazioni permettono di personalizzare lingua, suoni, durate e funzioni di sistema.

Data e ora possono essere regolate direttamente dal touchscreen e vengono mantenute dall’RTC PCF85063.
Un progetto sviluppato per revisioni
Un altro aspetto che vorrei portare successivamente nell’attività didattica riguarda il metodo con cui sto sviluppando OpenStudy, non sto cercando di scrivere tutto il firmware e verificarlo soltanto alla fine, il progetto procede attraverso revisioni relativamente piccole.
Una funzione viene implementata, il firmware viene compilato, caricato sul dispositivo e verificato sull’hardware reale, solo dopo il test la revisione può diventare una baseline stabile.
L’attuale versione consolidata è Rev20b.1 – DATE / TIME UX FIX, validata sull’hardware reale il 31 agosto 2026, anche quest’ultima revisione offre un esempio interessante.
Una precedente versione dell’interfaccia per data e ora funzionava dal punto di vista logico, ma durante il test reale erano emersi problemi nelle etichette inferiori e nelle aree touch dei pulsanti, sono stati quindi corretti e il dispositivo è stato nuovamente provato prima di considerare stabile la revisione successiva, trovo questo processo particolarmente utile da mostrare agli studenti.
Un programma che compila non è necessariamente un sistema che funziona bene.
Quando software e hardware devono interagire con una persona entrano in gioco ergonomia, leggibilità, dimensione delle aree touch, tempi di risposta e moltissimi dettagli che diventano evidenti soltanto utilizzando realmente l’oggetto.
Cosa OpenStudy non è, almeno per ora
Credo sia importante distinguere ciò che il prototipo fa realmente dalle possibilità future.
OpenStudy Desktop Companion non dispone attualmente di un assistente basato su intelligenza artificiale, non sincronizza i dati con il cloud, non ha un’applicazione per smartphone, non sincronizza automaticamente l’orologio tramite Wi-Fi e non mostra una cronologia dettagliata di ogni singola sessione sul display.
Wi-Fi e Bluetooth sono disponibili nell’hardware dell’ESP32-S3, ma non vengono utilizzati dalle funzioni correnti; non è inoltre un prodotto commerciale e non considero il progetto concluso, è un prototipo funzionante ancora in sviluppo.
Questa distinzione è importante anche dal punto di vista educativo: preferisco mostrare agli studenti un progetto che cresce attraverso problemi, errori, verifiche e successive decisioni piuttosto che presentare soltanto un oggetto apparentemente perfetto.
Dal prototipo all’attività di laboratorio
Il passo che considero più interessante sarà trasformare quanto sto imparando durante lo sviluppo in un percorso replicabile con gli studenti, non penso necessariamente alla riproduzione immediata e completa di questa stessa versione di OpenStudy, il progetto può essere scomposto in livelli progressivi:
- si può partire da un’interfaccia molto semplice e da un timer;
- successivamente aggiungere un sensore ambientale;
- poi introdurre un RTC e ragionare sulla differenza tra il tempo gestito dal programma e un orologio che deve mantenere data e ora anche dopo lo spegnimento;
- si può aggiungere la persistenza delle impostazioni, la memoria microSD, la registrazione delle sessioni e infine la costruzione di statistiche;
in questo modo l’oggetto finale diventa il filo conduttore di un percorso che permette di affrontare concetti diversi di elettronica e programmazione all’interno dello stesso problema, ma il livello tecnico è soltanto una parte, vorrei che agli studenti rimanesse anche un’altra domanda:
che tipo di tecnologia vogliamo costruire?
Un dispositivo che aggiunge continuamente stimoli oppure uno strumento che prova ad aiutare una persona a governare meglio la propria attenzione?
È una domanda che permette di collegare il laboratorio di elettronica anche a temi di educazione digitale, benessere tecnologico, progettazione centrata sulla persona e uso consapevole dei dispositivi.
Un piccolo esperimento sulla tecnologia calma
OpenStudy Desktop Companion è ancora un progetto in evoluzione.
Sto aggiungendo e verificando le funzioni progressivamente, cercando di evitare che l’accumulo di possibilità trasformi il dispositivo nell’esatto contrario di ciò che dovrebbe essere, l’obiettivo non è costruire uno smartphone più piccolo, è semmai capire quanto poco serva davvero per realizzare uno strumento utile.
E-paper, interazione touch, memoria locale, timer, sensori e audio sono tecnologie interessanti da sperimentare, ma il progetto assume per me un senso soltanto quando vengono messe al servizio di un obiettivo comprensibile.
In questo caso l’obiettivo è duplice:
costruire uno strumento che possa aiutare uno studente a diventare progressivamente più consapevole della gestione del proprio tempo e, contemporaneamente trasformare la sua costruzione in un’esperienza di apprendimento.
Da docente e maker è probabilmente questo l’aspetto che mi interessa maggiormente, non costruire tecnologia soltanto per imparare come funziona,
costruire tecnologia per imparare anche a chiedersi perché dovrebbe esistere.
Come fare per provare OpenStudy Companion?
Ancora non so quando distribuirò il software in modalità Open Source, devo perfezionare ancora alcune cose, certamente sarà utilizzato dai miei studenti e con molta probabilità dagli utenti Premium, vi farò sapere.
Buon Making a tutti 🙂
Riferimento tecnico
Il progetto utilizza la piattaforma Waveshare ESP32-S3-Touch-ePaper-1.54 V2.
Documentazione ufficiale Waveshare:
https://docs.waveshare.com/ESP32-S3-ePaper-1.54
Firmware OpenStudy Desktop Companion attualmente consolidato: Rev20b.1 – DATE / TIME UX FIX, STABLE, validata sull’hardware reale il 31 agosto 2026.



