Why determinism matters more than throughput
A neural-interface stack that misses its 800 µs frame deadline doesn't just drop a sample — it loses a closed-loop guarantee that downstream BCI applications rely on for stimulation timing. ENI 0.6's redesigned pipeline holds that frame deadline at p99.99 across 1,024 simultaneously sampled channels.
The hardest part wasn't the math. The math is well-understood: bandpass, common-average referencing, threshold-based detection, template matching. The hardest part was scheduling four cooperating cores so that filter, sort, decode, and feedback never compete for the same memory bank.
The frame
An 800 µs ENI frame at 25 kHz sample rate carries 20 samples per channel. The pipeline walks them through five stages:
- DMA gather from the front-end ADC (≤ 80 µs)
- Bandpass + CAR filtering on Core 0 (≤ 220 µs)
- Threshold detection + spike alignment on Core 1 (≤ 180 µs)
- Template-matched sorting on Core 2 (≤ 200 µs)
- Decoder + closed-loop output on Core 3 (≤ 100 µs slack)
The slack on Core 3 absorbs jitter. At p99.99 we measured 642 µs total — a comfortable 158 µs of headroom.
Memory bank scheduling
The platform we benchmark on (a 4-core Cortex-A78 with eight independent SRAM banks) was the only place this was easy. On targets with shared L2, the pipeline drops to 16 channels per core block. ENI's scheduler emits target-specific tile sizes at build time — see the eni-tile-search tool that ships with eos-platform 1.0.
Open data
All the benchmark traces (4.2 GB) are mirrored on the foundation's research bucket. See the research page for access details.
Read next

eos-platform 1.0 lands: one toolchain, every EoS profile
After eighteen months of incremental releases, the eos-platform meta-distribution reaches 1.0 with stable APIs, a unified package manifest, and reproducible builds across all 14 EoS components.

EAI 0.9 ships INT4 LLM runtime — 11 tok/s on a Cortex-M85
EAI's new quantized inference path squeezes a 1.3B-parameter model into 312 MB of flash and runs at interactive speed on a 480 MHz microcontroller. We dig into the kernel scheduler that made it possible.

eBootloader secure boot: a measured-launch walkthrough
An end-to-end tour of eBoot's chain of trust — root-of-trust keys, immutable stage 0, signed manifests, anti-rollback counters, and the runtime attestation hooks EAI consumes during model load.
