FLo: la macropad wireless che si configura via USB

FLo è una macropad wireless che risolve un problema comune: cambiare le scorciatoie senza riflashare il firmware. La scheda, basata su ESP32-C3 Super Mini, invia sequenze di tasti via Bluetooth e riceve la configurazione via USB da un’app desktop. Imposti una scorciatoia, scolleghi il cavo e continui a usare la tastiera in modalità wireless.

Il progetto, realizzato da shan, usa il trasporto Bluetooth per inviare i tasti come una tastiera HID. La configurazione delle macro avviene tramite un protocollo seriale su USB a 115200 baud. Il firmware memorizza le macro nella partizione NVS dell’ESP32, con chiavi da m1 a m4 e valori di default come ‘a’, ‘b’, ‘ctrl+c’ e ‘ctrl+v’. Quindi, anche dopo un riavvio, le impostazioni restano al loro posto.

Il protocollo seriale e i comandi

Il protocollo seriale include comandi come HELLO per l’identificazione, SET1-SET4 per scrivere le macro, PRINT per visualizzarle e TEST per leggere lo stato dei pin e la connessione BLE. L’app desktop identifica la scheda tramite la risposta ‘ESP32-C3-READY’ al comando HELLO, poi invia le nuove macro via USB. Inoltre, il firmware usa INPUT_PULLUP su tutti i pin di ingresso, con l’altro lato di ogni interruttore collegato a massa, quindi una pressione viene letta come LOW.

La rotazione dell’encoder controlla il volume di sistema, mentre la pressione dell’encoder e i tre pulsanti attivano le macro assegnate. I pin GPIO usati sono: GPIO 7, 8 e 9 per i pulsanti, GPIO 5 e 4 per l’encoder, GPIO 2 per il pulsante dell’encoder. Il tempo di assemblaggio stimato è di 3 ore. Il repository di shan raccoglie il codice e i dettagli per rifare il progetto.

Cosa serve per costruirla

Per montare FLo servono pochi componenti: una scheda ESP32-C3 Super Mini, tre pulsanti tattili, un encoder rotativo con pulsante, uno switch lineare, una perf board e fili. Il firmware si scrive con Arduino IDE, usando la libreria ESP32-BLE-Keyboard e pyserial per l’app desktop. La scheda ESP32-C3 Super Mini gestisce la radio e l’USB, ed è abbastanza compatta da stare in una custodia stampata.

Il montaggio su perf board richiede attenzione ai collegamenti, ma il progetto è pensato per essere replicato in poche ore. I pulsanti vanno collegati tra i pin GPIO e massa, con la resistenza interna di pull-up attivata dal firmware. L’encoder si collega a due pin GPIO per la rotazione e a un terzo per il pulsante centrale.

  • 3 pulsanti tattili per le macro principali
  • 1 encoder rotativo con pressione per volume e quarta macro
  • 1 scheda ESP32-C3 Super Mini con radio e USB
  • Perf board e fili per i collegamenti

La configurazione via USB separa la programmazione dall’uso quotidiano: non serve riflashare per cambiare una scorciatoia. Basta collegare il cavo, aprire l’app desktop e inviare il nuovo valore con SET1-SET4. La macropad risponde subito e salva tutto nella NVS, pronta per l’uso wireless.


Fonte: https://github.com/lil-shan/Flo-Macropad

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu