NeuroPulse
An open neural stimulator for motor rehabilitation — with a per-phase charge limiter as the heart of the project.
- 2023
- open embedded
- third hardware revision
- C · STM32 · Firmware · Hardware design
the problem
Functional electrical stimulation (FES) works: there are decades of literature in post-stroke motor rehabilitation. The problem is cost and the black box. Clinical devices cost a month's minimum wage; consumer gadgets are LED panels without real current control. Between the two lies a gap: a device a therapist can tune with explicit parameters, and an engineer can audit.
the approach
NeuroPulse is a controlled-current, biphasic stimulator with parameterizable protocols (frequency, pulse width, ramp) that live in a file — not in secret memory. The third board revision came out of three breadboards and two schematic revisions, each with a classic mistake: the first had a current return path running under the ADC (the reading “breathed” with the stimulus); the second underestimated electrode lead inductance.
The heart of the project is the per-phase charge limiter: biphasic stimulation must cancel net charge between phases, or the electrode suffers electrophoresis and the tissue, chemical burns. The circuit measures accumulated charge and cuts the phase when it reaches the limit — regardless of firmware. That limit is computed from electrode area and the literature's safety standard, and the math is in the README, with references.
The firmware is small on purpose: ~1,900 lines of C on an STM32, no RTOS, with the real-time loop on a timer. The part that took the longest wasn't electronics — it was the interface: how a therapist tunes parameters without becoming an electrician. The answer was reducing the device to three physical controls and an SD card with named protocols.
where it stands
Third hardware revision in validation with a partner physical therapist; firmware and schematics are on GitHub. The project's stated goal is for someone else to reproduce the whole board for under R$ 300 in parts — it's at R$ 340 today, and the bill of materials says exactly where the money goes.