Archivi categoria: elettronica

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 🙂

5 minuti da Maker – contenitore per spugna di ottone per pulizia saldatore

Quando si salda spesso, la qualità del lavoro dipende anche da un dettaglio “banale”: una punta del saldatore pulita. Per questo in laboratorio uso quasi sempre la spugna di ottone (brass wool) al posto della classica spugnetta umida: rimuove residui di stagno, ossidazioni e flussante in modo efficace, senza rovinare il rivestimento protettivo della punta. E soprattutto non richiede acqua, quindi evita gli shock termici che, nel tempo, possono accorciare la vita della punta del saldatore.

La spugna di ottone è anche poco abrasiva: aiuta a mantenere la punta più lucida, migliorando la conducibilità termica e facilitando l’adesione dello stagno durante le saldature.

Per mettere ordine sul banco (e avere sempre tutto al posto giusto) ho progettato un contenitore stampabile in 3D e poiché amo le abat jour degli anni ’70 ho realizzato una forma semplice costituita da due sfere:

  • una sfera cava che ospita la spugna di ottone;
  • una semisfera piena che funge da piedistallo stabile.

Come per gli altri mini-progetti, l’obiettivo è duplice: organizzazione del laboratorio e attività didattica concreta. Questo oggetto, infatti, è perfetto anche per strutturare micro-esercitazioni di modellazione e stampa 3D con gli studenti di prima e seconda superiore, perché è rapido da stampare, intuitivo da montare e subito utile.

File per la stampa 3D

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

5 minuti da Maker – supporto per saldatura elettrica

In laboratorio, quando bisogna stagnare cavi e cavetti, la difficoltà più comune è sempre la stessa: tenere fermo il filo nella posizione giusta mentre si lavora con saldatore e stagno. Per rendere questa operazione più semplice (e più “pulita” sul banco), ho realizzato un piccola basa costituita da due morsetti stampabile in 3D, pensato come supporto rapido per assistere la saldatura di cavi elettrici.

La struttura è volutamente essenziale ed è composta da tre elementi: una base e due mollette che si incastrano nella base. Ho realizzato anche una seconda versione della base che ermette due distanze diverse dai morsetti, così è possibile avvicinare o allontanare le mollette in base al tipo di filo o alla lavorazione da effettuare.

Come per il porta bobine di stagno che avevo condiviso nel post precedente, anche qui l’obiettivo è uno: mettere ordine e velocizzare le operazioni quando si salda, soprattutto in contesti didattici dove avere supporti semplici e robusti fa davvero la differenza.

  • Stampa rapida;
  • nessun supporto necessario;
  • assemblaggio a incastro, zero viti.

File per la stampa 3D

Seguendo il link è possibile scaricare i file e stampare le parti.

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 🙂