Archivi tag: prototipazione

OpenStudy Desktop Companion: costruire uno strumento per imparare a gestire il tempo di studio

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.

Piccolo dispositivo OpenStudy Desktop Companion con display e-paper acceso accanto a un libro e a un quaderno.

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.

OpenStudy Desktop Companion accanto a un computer con Visual Studio Code utilizzato per lo sviluppo del firmware.

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.

Continua a leggere

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 🙂

Arduino nello zaino, upgrade: un saldatore TS101 in un rugged case stampato in 3D

 

Nel post “Arduino nello zaino” raccontavo l’idea di fondo: non portarsi dietro un mini-laboratorio completo, ma una dotazione minima, ordinata e pronta per qualsiasi micro-attività (in aula, in laboratorio, in giro).

Oggi aggiungo un tassello importante, l’uso di un saldatore elettrico portatile per la realizzazione di circuiti elettronici.

Ne ho provati tantissimi, a gas, a batteria, ma da qualche tempo uso il Miniware TS101, perché unisce portabilità, alimentazione flessibile e controllo della temperatura.

Con Arduino, ma in generale nella realizzazione di circuiti elettronici, prima o poi capita sempre almeno uno di questi scenari:

  • un cavetto Dupont che si sfila/si rompe e volete rifare un collegamento pulito;
  • un sensore o un connettore che volete rendere più robusto (saldatura + guaina termorestringente);
  • una piccola riparazione al volo (header, pin storti, fili su jack o morsetti);
  • saldare su circuiti PCB o millefori.

inoltre l’uso di un saldatore di queste dimensioni resta coerente con la logica che descrivevo nel post precedente: setup rapido, ordine, micro-attività replicabili.

Caratteristiche del TS101

Alimentazione: USB-C PD e DC “classico”

Il TS101 supporta due ingressi di alimentazione:

  • DC5525 (9–24 V) da alimentatore o batteria
  • USB-C Power Delivery (PD) da 9 V in su (caricatore PD / power bank PD, ecc.)

IMPORTANTE: non vanno usate contemporaneamente le due alimentazioni.

Nel manuale utente trovate anche una tabella che collega tensione/potenza e tempo minimo per passare da 30°C a 300°C (valori dichiarati):

  • 9V (≈9W): ~95 s
  • 12V (≈16W): ~43 s
  • 16V (≈30W): ~22 s
  • 19V (≈40W): ~15 s
  • 24V (≈65W): ~9 s

Potenza e profili PD

  • In DC lavora tipicamente 9–24 V fino a 65 W max.
  • In USB-C PD può arrivare (a seconda di firmware e alimentatore) fino a 90 W max con PD 3.1.

Range temperatura e stabilità

  • 50–400 °C con stabilità dichiarata ±2%.

Display

  • Display OLED più grande (128×32) rispetto a TS100, menu più ricco, preset e opzioni.

Comandi e uso base

  • Pulsante A: avvio riscaldamento / regolazione
  • Pulsante B: impostazioni / regolazione
  • OLED con icone di stato (boost, movimento, sleep, ecc.)
  • Presenza di vite di terra (ground screw)

Preset e regolazione temperatura

Potete lavorare con temperature preimpostate T1/T2/T3, oppure regolare “al volo”.

Boost mode

In riscaldamento, tenendo premuto A entri in boost mode: la punta sale alla temperatura “Boost” finché tenete premuto; rilasciando, torna alla temperatura di lavoro.

Sleep/Standby

  • se in working mode il TS101 resta fermo per 180 s (default), entra in sleep (compare “zZ”) e la punta scende alla “Sleep Temp”;
  • quando viene rilevato movimento, esce dallo sleep e torna in working mode;
  • se resta fermo in sleep per 240 s (default), passa in standby; dopo ulteriore tempo, lo schermo si spegne;
  • la lettera “M” sul display indica che il TS101 si sta muovendo;
  • parametro MsenUnit (sensibilità 1–5: più alto = più sensibile).

Configurazione rapida via file

Una funzione molto interessante è la gestione tramite file:

    1. collegate il TS101 al PC con cavo dati USB-C
    2. compare un disco virtuale
    3. modificate CONFIG.TXT e i parametri vengono aggiornati

Questo è ottimo per preparare un “config” standard (temperature preset, tempi sleep, luminosità, sensibilità movimento) identica per più dispositivi.

Firmware update

  • tenete premuto A;
  • collegate via USB-C al PC (entra in DFU mode);
  • copiate il file firmware nel disco virtuale.

Sicurezza e limiti termici

  • range punta: 50°C–400°C;
  • dopo 5 minuti ad alta potenza sopra 350°C (o uso prolungato) il controller può arrivare a ~50°C;
  • quando non in uso, spegnere per evitare rischi;
  • se compare “No tip!”, la punta non è inserita correttamente e va reinstallata.

Compatibilità punte: un vantaggio pratico (e economico)

  • Il TS101 è compatibile con le punte TS100: se avete già punte, le riusate; se dovete comprarle, trovate molta scelta.

La custodia rugged stampata in 3D

Se il saldatore è portatile, il punto debole diventa il trasporto: punta, cavo, stagno, spugnetta/lanetta… tutto deve essere protetto e ordinato.

Un contenitore stampato 3D risulta molto utile, ciò evita di utilizzare la scatola di cartone con cui vi viene venduto il saldatore. Il contenitore che ho stampato è una custodia rugged multi-scomparto, pensata specificamente per TS100/TS101, e derivata (remix) da un progetto precedente che trovate seguendo il link allegato.

Su Makerworld trovate molti contenitori simili a quello che sto utilizzando io ma questa soluzione mi piace perché:

  • può ospitare TS100/TS101
  • cavo
  • rocchetto stagno
  • lana metallica per pulizia punta
  • stand/rest (con cuscinetto 608, usato come appoggio per il saldatore caldo)
  • vani extra per piccoli accessori/ricambi

riassumendo una configurazione minimalista come piace a me 🙂

Buon Making a tutti 🙂

Electronic Prototyping Base Plate – ordine sulla banco di lavoro


L’attività di formazione nel settore delle tecnologie didattiche mi coinvolge parecchio ed ogni volta la parte più complessa del lavoro risiede nell’organizzare la regia degli oggetti che gestisco e mostro online. Realizzare robot, serre, stazioni meteorologiche o comunque automazioni elettroniche richiede ordine, e mantenere una disposizione corretta degli apparati durante una lezione in diretta online richiede, almeno da parte mia, uno sforzo notevole.
Durante la lezione vi sono diverse fasi in cui operando con microcontrollori, micro:bit o Arduino, è necessario sviluppare dei semielaborati che devono mostrare ad esempio l’evoluzione di una stazione meteorologica, con l’aggiunta via via di sensori.
Per ottimizzare il processo di costruzione ho deciso di sperimentare qualcosa che in realtà è stato realizzato da altri, la Prototyping Base Plate di Boris Humberg, io ne ho fatto una versione più grande cambiando alcune misure in modo da adattarla alle mie necessità, con molta fantasia ho voluto chiamarla Electronic Prototyping Base Plate, per poter scaricare i sorgenti per la stampa 3D e il taglio laser seguire il link su Thingiverse.

Si tratta di una basetta di compensato da 4mm di spessore con le dimensioni di un foglio A4 forata. I fori della basetta sono da 3mm distanziati 10 mm l’uno dall’altro. Gli elementi di supporto dei circuiti a forma di L hanno dimensioni tali da poter alloggiare viti M3 e potete utilizzarli in tutti e due i sensi.

Aggiungo tra gli elementi supporti per connettori Wago, contenitore porta oggetti, supporto per mini breadboard e servomotore. Ho aggiunto dei piedini in modo da distanziare le viti dalla base di appoggio.

La basetta è stata realizzata con una macchina a taglio laser, però potreste utilizzare qualsiasi pezzo di compensato e con un piccolo trapano effettuate i fori là dove vi servono, quindi è sufficiente stampare in 3D tutti gli elementi ed utilizzare la base di appoggio.

Spero che questo progetto possa servire anche ad altri.

Buon Making a tutti 🙂

EduRobot beam – sistema di framing per le tue attività STEAM

A livello indutriale il framing è una metodo costruttivo impiegata nell’automazione industriale fin dagli anni 30′ tra le più note è il T-Slot framing che mediante profilati in alluminio a sezione quadrata e fessure a T, da cui T-Slot, mediante una serie di connettori è possibile realizzare qualsiasi tipo di struttura, dai frame per le stampanti 3D ai banchi di lavoro industriali, robot, supporti per strumenti da laboratorio e molto altro.

Fonte Wikipedia

La caratteristica modulare dei profilati su fessure a T, in genere su tutti i lati permette una libertà di costruzione notevole. Sul mercato è possibile trovare diverse tipologie di T-Slot: OpenBeam, MakerBeam, MicroMax, 80/20
Ho utilizzato ed utilizzo tutt’ora i T-Slot, però in alcune occasioni può essere utile utilizzare altre tipologie di strutture.

L’uso dei T-slot in alcune occasioni può diventare ingombrante ed anche costoso, soprattutto per l’aumento, nell’ultimo periodo, del costo della materia prima, l’alluminio, pertanto in alcune mie recenti sperimentazioni ho preferito adottare altre strategie, più economiche e facili da produrre, in legno e poi in plastica.

La necessità sempre più frequente di dare forma fisica ai progetti STEAM mi ha fatto riflettere su come da bambino giocavo e costruivo, il meccano e i Lego, il trafonro ed il compensato erono la base da bambinoi. Il metodo “meccano” lo ritroviamo in moltissimi kit didattici, pertanto ho voluto riprendere l’idea ma in una modalità credo più semplice.

Nelle mie sfide personali di Making, “5 min. da Maker” ho abbozzato su carta il progetto da cui poi è nato EduRobot beam. Le bacchette sono lunghe 100 mm con fori su tutti i lati da 3 mm di diametro ad una distanza di 10 mm l’uno dall’altro, in aggiunta ho realizzato degli elementi di aggancio di varie forme. On-line trovate soluzioni similari, io ho realizzato una mia versione che spero possa essere utile e personalizzata anche ad altri.

In che modo utilizzo gli EduRobot beam:

  • prototipazione rapida di robot didattici
  • OpnePLC. Un unico rack su cui disporre Raspberry Pi come unità server ed Arduino come I/O
  • stazione meteo
  • sistema domotico

La modularità mi permette quindi di gestire in modo ordinato ed economico molte tipologie di progetti STEAM.

Per prelevare i sorgenti grafici per la stampa 3D seguire il LINK.

Per la costruzione allego alcune fotografie che dettagliano la modalità di incastro.

Vista esplosa della struttura di base

Dettaglio esploso senza schede elettroniche

Ordine di assemblaggio della struttura portante

Dettaglio struttura portante ed L di blocco

Dettaglio struttura portante ed L di blocco

Dettaglio supporto scheda

Dettaglio supporto scheda

Dettaglio supporto scheda

Buon Making a tutti.