Il software che trasforma i dati grezzi della pedana in informazioni utili all'allenatore: dashboard in tempo reale, storico per atleta, confronto tra sessioni. Semplice da usare sul campo, senza laptop e senza tecnici.
The software that turns raw platform data into information useful for the coach: real-time dashboard, per-athlete history, session comparison. Simple to use in the field, without a laptop and without technicians.
Architettura e specifiche definite — sviluppo ancora da avviare. Contributi benvenuti su tutti i fronti.
Architecture and specifications defined — development not yet started. Contributions welcome on all fronts.
Nel prototipo beta, l'unico modo per leggere i dati era aprire il serial monitor di Arduino IDE su un laptop. Un flusso di lavoro accettabile per un ingegnere in laboratorio, del tutto inaccettabile per un allenatore sul campo con un atleta davanti.
In the beta prototype, the only way to read data was to open the Arduino IDE serial monitor on a laptop. A workflow acceptable for an engineer in a lab, completely unacceptable for a coach in the field with an athlete in front of them.
Il software della versione 2 parte da questo vincolo come requisito principale: semplicità d'uso assoluta. L'allenatore deve poter avviare una sessione, vedere i risultati e salvare i dati con il minor numero possibile di interazioni, preferibilmente da smartphone o tablet.
The version 2 software starts from this constraint as its primary requirement: absolute ease of use. The coach must be able to start a session, see results, and save data with as few interactions as possible — preferably from a smartphone or tablet.
L'architettura prevede un sistema distribuito a due livelli: moduli periferici per metro di pedana, e un'unità centrale che aggrega tutto.
The architecture is a two-tier distributed system: peripheral modules per metre of platform, and a central unit that aggregates everything.
Modulo periferico (1 metro): un ESP32 legge i 20 canali digitali della pedana tramite uno o più GPIO expander MCP23017 (I²C, 16 I/O per chip). L'ESP32 acquisisce gli eventi con timestamp locale e li trasmette via rete locale Wi-Fi o via bus seriale all'unità centrale.
Peripheral module (1 metre): an ESP32 reads 20 digital channels via one or more MCP23017 GPIO expanders (I²C, 16 I/O per chip). The ESP32 timestamps events locally and transmits them over local Wi-Fi or a serial bus to the central unit.
Unità centrale (Raspberry Pi): un Raspberry Pi riceve i dati da tutti i moduli ESP32, li sincronizza, e applica gli algoritmi di analisi. Ospita anche il server locale che espone l'interfaccia web all'allenatore. Nessun cloud, nessuna dipendenza da internet: tutto funziona in campo con una rete locale.
Central unit (Raspberry Pi): a Raspberry Pi receives data from all ESP32 modules, synchronises them, and applies the analysis algorithms. It also hosts the local server that serves the web interface to the coach. No cloud, no internet dependency: everything works in the field on a local network.
Backend: server (Python o Node.js) con le API di acquisizione dati, gli algoritmi di analisi (contact time, flight time, RSI, velocità, asimmetrie), lo storico per atleta, e l'export in CSV/JSON.
Backend: server (Python or Node.js) with data acquisition APIs, analysis algorithms (contact time, flight time, RSI, velocity, asymmetries), per-athlete history, and CSV/JSON export.
Frontend: interfaccia web accessibile da qualsiasi browser su smartphone o tablet connesso alla rete locale. Nessuna app da installare. Dashboard in tempo reale, storico atleti, confronto sessioni, modalità allineamento.
Frontend: web interface accessible from any browser on a smartphone or tablet connected to the local network. No app to install. Real-time dashboard, athlete history, session comparison, alignment mode.
Lo stack tecnologico è ancora in definizione. Le specifiche definitive dipenderanno dai feedback raccolti sul campo nelle prossime sessioni di test, dalla scelta finale del microcontrollore (legata al fronte circuiteria), e dai pattern d'uso reali degli allenatori. L'obiettivo rimane invariato: un software open source, semplice da installare, semplice da usare, e semplice da modificare.
The technology stack is still being defined. The final specifications will depend on feedback gathered in upcoming field test sessions, the final microcontroller choice (linked to the electronics front), and real usage patterns from coaches. The goal remains unchanged: open source software that is simple to install, simple to use, and simple to modify.
Il fronte software è completamente aperto: non è ancora stato scritto nemmeno una riga di codice. Se hai esperienza in firmware embedded (ESP32, FreeRTOS), backend Python/Node.js, sviluppo web, database time-series, o semplicemente sei un allenatore con idee chiare su cosa vorresti vedere in un'interfaccia — ogni contributo è prezioso. Scrivimi a jumpboard@ceruttidavide.com.
The software front is completely open: not a single line of code has been written yet. If you have experience in embedded firmware (ESP32, FreeRTOS), Python/Node.js backend, web development, time-series databases, or you're simply a coach with a clear idea of what you'd want in an interface — every contribution is valuable. Reach me at jumpboard@ceruttidavide.com.