Il fronte circuiteria della versione 2: aggiunta del comparatore attivo al ricevitore per uscita digitale diretta, aumento della densità a 20 sensori per metro, e mantenimento dell'uscita analogica per retrocompatibilità.
The electronics front of version 2: adding an active comparator to the receiver for direct digital output, increasing density to 20 sensors per metre, and retaining the analogue output for backward compatibility.
Schema e layout PCB completati — integrazione sistema in corso. Anche le parti già completate sono in continua revisione.
Schematic and PCB layout complete — system integration in progress. Completed parts are also under continuous revision.
La principale novità circuitale della versione 2 è l'integrazione di un comparatore attivo — specificamente un LM393, doppio comparatore a collettore aperto (open-collector) — direttamente nel PCB ricevitore. Nelle versioni precedenti il segnale rettificato usciva come tensione analogica e veniva sogliato via software su Arduino. In questo modo il ricevitore era legato agli ADC del microcontrollore: un vincolo che limitava il numero di canali gestibili.
The main circuit innovation of version 2 is the integration of an active comparator — specifically an LM393, dual open-collector comparator — directly into the receiver PCB. In previous versions, the rectified signal exited as an analogue voltage and was thresholded in software on Arduino. This tied the receiver to the microcontroller's ADC channels — a constraint that limited the number of manageable channels.
L'LM393 ha un'uscita a collettore aperto: richiede un resistore di pull-up da 1 MΩ sulla linea digitale. La soglia di commutazione è definita da un partitore resistivo R = 240 kΩ / 10 kΩ che fissa il punto di riferimento rispetto all'inviluppo analogico rettificato. Con il comparatore a bordo, il ricevitore genera direttamente un segnale digitale (0 V / VCC): il canale è aperto o chiuso, il piede è presente o assente. Qualsiasi GPIO digitale — senza requisiti sull'ADC — può leggere lo stato. Questo apre la compatibilità a ESP32, Raspberry Pi, STM32 e qualsiasi altra scheda con GPIO sufficiente.
The LM393 has an open-collector output: it requires a 1 MΩ pull-up resistor on the digital line. The switching threshold is set by a resistive voltage divider R = 240 kΩ / 10 kΩ that fixes the reference point against the rectified analogue envelope. With the comparator on-board, the receiver directly generates a digital signal (0 V / VCC): the channel is open or closed, the foot is present or absent. Any digital GPIO — with no ADC requirement — can read the state. This opens compatibility to ESP32, Raspberry Pi, STM32, and any other board with sufficient GPIO.
Con l'uscita digitale disponibile, il raddoppio della densità da 10 a 20 sensori per metro diventa concretamente realizzabile: la spaziatura scende da 10 cm a 5 cm, e la risoluzione spaziale passa da 9 cm a circa 4 cm. A questa risoluzione diventa possibile distinguere appoggi molto ravvicinati e misurare con maggiore accuratezza la lunghezza del contatto del piede.
With digital output available, doubling the density from 10 to 20 sensors per metre becomes concretely achievable: spacing drops from 10 cm to 5 cm, and spatial resolution improves from 9 cm to approximately 4 cm. At this resolution it becomes possible to distinguish closely-spaced contacts and more accurately measure foot contact length.
L'output analogico del ricevitore viene mantenuto anche nella versione 2. Chi usa schede con ADC sufficienti o preferisce sogliare via software può continuare a farlo senza modifiche. Le due uscite — digitale e analogica — coesistono sullo stesso PCB.
The receiver's analogue output is retained in version 2 as well. Anyone using boards with sufficient ADC channels, or who prefers software-side thresholding, can continue to do so without changes. The two outputs — digital and analogue — coexist on the same PCB.
Il design del nuovo schema è completato. Il ricevitore V2 aggiorna anche i valori dei componenti passivi rispetto alle versioni precedenti: resistori di precisione all'1% in formato 0402 e 0603 (R = 620 kΩ nel feedback NE5532, R = 180 Ω per la rete di smorzamento, C = 1 nF C0G 1% per il filtro Sallen-Key, C = 10 nF e 100 nF X7R per i bypass). Il trasmettitore V2 passa dal NE555P DIP all'NE555D SOIC-8, con condensatore di frequenza da 56 pF C0G 5% e resistore di corrente laser da 180 Ω. Un solder jumper per canale permette di configurare l'indirizzo senza modifiche al firmware. La fase successiva sarà la produzione di un lotto prototipale per validazione sul campo.
The new schematic design is complete. The V2 receiver also updates passive component values compared to previous versions: precision 1% resistors in 0402 and 0603 packages (R = 620 kΩ in the NE5532 feedback path, R = 180 Ω for the damping network, C = 1 nF C0G 1% for the Sallen-Key filter, C = 10 nF and 100 nF X7R for bypass decoupling). The V2 transmitter moves from NE555P DIP to NE555D SOIC-8, with a 56 pF C0G 5% frequency capacitor and a 180 Ω laser current resistor. A per-channel solder jumper allows address configuration without firmware changes. The next phase will be a prototype batch for field validation.
Il fronte circuiteria è aperto a chiunque voglia contribuire — ingegneri embedded, esperti di PCB, progettisti di connettori, o semplicemente chi ha esperienza con ESP32 e MCP23017. I file KiCad sono disponibili in download. Se hai idee, suggerimenti o vuoi collaborare, scrivimi a jumpboard@ceruttidavide.com.
The electronics front is open to anyone who wants to contribute — embedded engineers, PCB designers, connector specialists, or anyone with ESP32 and MCP23017 experience. KiCad files are available for download. If you have ideas, suggestions, or want to collaborate, reach me at jumpboard@ceruttidavide.com.