JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Closing the Loop: Bidirectional Integration and Read–Write Coexistence

The systems engineering of a true bidirectional BCI — interleaving stimulation with recording, keeping latency inside the control deadline, and asking honestly whether touch actually improves control.

The coexistence problem

Closing the loop in hardware: the same array (or a neighbouring one) must record spikes from motor cortex while stimulation pulses fire into somatosensory cortex — the write can be 10^3–10^6× larger than the read.

A stimulation pulse saturates the recording amplifier and buries any spike under an artifact many orders of magnitude larger. The standard remedy is read–write interleaving: blank (disconnect or discard) the amplifier during and just after each pulse, then read once the artifact has settled. Anything the blanking window fails to remove is handled downstream by stimulation-artifact rejection — template subtraction or robust spike detection.

\eta_{\mathrm{rec}} = 1 - f_{\mathrm{stim}}\, t_{\mathrm{blank}}

Blanking costs recording time: with f_{\mathrm{stim}} pulses/s and a blank window t_{\mathrm{blank}} per pulse, only a fraction \eta_{\mathrm{rec}} of time is usable for reading — high stim rates can starve the decoder.

Every time you stimulate you must briefly blind the recorder so the giant stim pulse doesn't swamp it. Multiply pulses per second by the dead time each one costs and that's the slice of recording time you lose — stimulate too fast and there's barely any listening time left for the decoder.

\eta_{\mathrm{rec}}
Fraction of time still usable for recording (reading).
f_{\mathrm{stim}}
Stimulation pulses delivered per second.
t_{\mathrm{blank}}
Dead (blanked) time each pulse steals from recording.

At 100 pulses/s each blanking 1 ms, you lose about 10% of the time, leaving roughly 90% for recording.

The latency budget

From Guide 1, feedback has a deadline. The end-to-end loop latency is a sum of stage delays, and a bidirectional system pays them twice — once on the read arc and once on the write arc.

\tau_{\mathrm{loop}} = \tau_{\mathrm{acq}} + \tau_{\mathrm{proc}} + \tau_{\mathrm{dec}} + \tau_{\mathrm{stim}} + \tau_{\mathrm{perc}}

Acquisition + processing + decode + stimulation + perceptual integration. Keeping the total within tens of milliseconds keeps the feedback ahead of the control deadline.

The total delay around the read–think–write–feel loop is just the sum of each stage's delay. Keep the whole round trip within tens of milliseconds and the feedback still arrives in time to steer the movement rather than lag behind it.

\tau_{\mathrm{loop}}
Total round-trip latency of the whole loop.
\tau_{\mathrm{acq}}
Time to acquire (record) the neural signal.
\tau_{\mathrm{proc}} + \tau_{\mathrm{dec}}
Time to process the signal and decode a command.
\tau_{\mathrm{stim}}
Time to deliver the stimulation that writes feedback back in.
\tau_{\mathrm{perc}}
Time for the brain to perceive and integrate that feedback.

If each of the five stages takes only a few milliseconds, the whole loop still fits comfortably under tens of ms.

for t in stream:
    stimulate(icms_pattern)          # WRITE: deliver ICMS pulse(s)
    sleep(t_blank)                   # amplifier recovers; discard sample
    y = record()                     # READ: spikes after artifact settles
    x_hat = decoder.update(y)        # velocity-Kalman / ReFIT decode
    contact = move_effector(x_hat)   # apply command; sense contact force
    icms_pattern = encoder(contact)  # CLOSE: encode next feedback
One turn of the bidirectional loop: write, blank, read, decode, act, encode. Each line adds to the latency budget above.

Does it actually help?

The payoff is real but must be stated carefully. In closed-loop sensorimotor BCI studies, adding ICMS touch feedback tends to speed up grasp and object-transfer tasks and to reduce reliance on constant visual monitoring, because the user can react to contact and slip without looking. The read side is typically a high-performance decoder such as a ReFIT Kalman filter; the write side supplies the missing afferent signal it was designed to exploit.

Co-adaptation and agency

A bidirectional BCI is a two-learner system: the decoder adapts to the neural signals while the user adapts to the artificial percept, learning to interpret an initially strange code. Over sessions this co-adaptation makes even non-biomimetic feedback usable. Well-timed, contingent feedback also increases the sense of agency and embodiment — the effector starts to feel like part of the body, which itself improves control.