BCI technology diagramBCI technology diagramBCI technology diagramBCI technology diagram

The Engine for
Real-Time,
Probabilistic BCI.

Nimbus Personalizer and the SDK/API — freeze any encoder, adapt a cheap Bayesian head, and ship BrainState to apps. Built on RxInfer for latency, adaptability, and explainability.

When the factory breaks,
restore — ~23× cheaper.

Raw EEG through a frozen encoder. Stress collapses the factory head. A thin Bayesian Personalizer climbs back — without fine-tuning the trunk.

Raw EEGclean stream
EEG
Frozen trunk
Personalizer
BrainState

Raw EEG → frozen foundation trunk. Weights stay locked.

BrainStateaccepted
intent
left
confidence
0.82
trunk
frozen · EEGNet
labels
0
Accuracyfrozen 74% · head 74%
Frozen
Head

Adapt wall

~23×

Personalizer
Fine-tune

Fine-tune stays a priced escape hatch — not the default path.

Illustrative loop from exploratory BNCI stress protocols. Lead cost ~23× vs short fine-tune on locked bakeoff cells. Not an accuracy-SOTA claim — adapt when the factory breaks.

Latency
<20ms head path
Adaptability
Online partial_fit
Explainability
White-box head
Uncertainty
Full probability

One API. Measured across trunks.

One Personalizer API across frozen trunks; treat fine-tune as a priced escape hatch. Under severe shift the Bayesian head recovers most of the fine-tune gain at ~23× lower adapt wall on the EEGNet bake-off — exploratory subject-level results, not an accuracy-SOTA claim.

Paper 1 highlight: EEGNet calibration-only, stream Personalizer, and full fine-tune accuracy with wall-time ratios
DatasetTrunkAcc L0Acc L1Acc L3RecoveryWall L3/L1
BNCIEEGNet0.5140.5500.548≥FT~31×
ZhouEEGNet0.3330.5400.498≥FT~21×

Severe channel-mix, n=40 labeled adaptation trials. L0 = cal-only head; L1 = stream Personalizer; L3 = warm-start full fine-tune. Full multi-trunk map on docs.

Adaptation methods

encode → transform → Bayesian head → BrainState

Sit a Bayesian head on any frozen encoder. Update online with partial_fit. Escalate with transforms, trunk PEFT, or ErrP when the factory representation isn't enough — apps read BrainState.

Adaptive heads

Bayesian LDA

Default conjugate NIW linear discriminant on frozen embeddings. Closed-form online partial_fit with forgetting — cheap personalization without touching the trunk.

Bayesian QDA

Conjugate NIW quadratic discriminant with per-class covariances. Same online Bayesian update path when shared covariance is too strong.

Bayesian Softmax

Multinomial logit via Polya–Gamma variational inference. A probabilistic softmax head on the same frozen encoder when linear/quadratic Bayes isn’t the right geometry.

STS

Extended Kalman Filter latent-state tracker for class-prior and logit drift. Streaming classical head when you need online state estimation instead of a conjugate Bayesian classifier.

Embedding transforms

Standardize / whiten / EA

Cal-fitted scale and geometry alignment before the head — standardize, whiten, or Euclidean alignment to keep embeddings on a stable footing.

CORAL

Covariance alignment across calibration and stream distributions. Reach for it when embedding second-order stats drift between conditions.

RPA

Riemannian Procrustes re-centering with optional robust windows — geometric alignment when covariance shift dominates the stream.

Affine

Supervised ridge affine map from stream embeddings toward calibration. Label-consuming realignment when unsupervised transforms aren’t enough.

Trunk PEFT

LoRA

Low-rank adapters on the frozen trunk, then re-fit the Bayesian head. Escalation when representation shift outruns head-only updates.

BaLoRA

Variational Bayesian LoRA with per-site uncertainty and composed trunk+head uncertainty — PEFT that stays inside the probabilistic stack.

FiLM

Bounded γ/β feature modulation on the trunk (identity-init, amplitude-capped). Mid-tier PEFT when you want soft feature scaling without full adapters.

Last-layer

Fine-tune only the trunk’s final classification layer, then re-fit the head. A lighter trunk touch when you need a feature nudge.

Full fine-tune

Full trunk fine-tuning via adapt_trunk — the priced escape hatch when PEFT and head-only adaptation aren’t enough.

Feedback & self-supervision

ErrP adaptation

Soft negative head update from an error-related potential or external error signal — closed-loop correction without a full labeled trial.

Population prior

Warm-start the Bayesian head from a pooled population NIW prior (fit_population) to cut cold-start calibration load.

Pseudo-label

Epistemic-gated self-training on the unlabeled stream (adapt_pseudo) — opt-in when you want label-light head updates under uncertainty gates.

TENT

Test-time entropy minimization over batch-norm affine params (fit_tent) — opt-in unsupervised stream adaptation on trunks that expose BN.

Paradigm recipes

Riemann / P300 / features

Factory recipes for common BCI setups — Riemannian tangent encoders, xDAWN→tangent for ERP/P300, or head-only on handcrafted features (CSP and friends).

Deployment / BaLoRA recipes

for_deployment freezes the trunk with a Bayesian LDA default; for_balora / for_lora wire PEFT trunks with composed uncertainty for research and escalation paths.

Explore the Personalizer library

Full API, recipes, transforms, and PEFT in the docs.

Lazy DynamicsRxInfer

Built on a Foundation of Proven Technology

The Nimbus engine is powered by RxInfer, the state-of-the-art reactive message passing framework for automated Bayesian inference. In partnership with Lazy Dynamics, the core developers of the technology, we are building the most performant and reliable software layer for the BCI industry.

Broad Hardware Compatibility& Application Areas

The Nimbus engine is designed to be hardware-agnostic, providing a universal processing layer for the entire BCI hardware landscape.

EEG

Non-Invasive EEG

For devices like Muse, OpenBCI, Emotiv. Our engine excels at handling noisy, non-stationary signals from consumer headsets, using real-time adaptation to deliver reliable control for gaming, wellness, and neurofeedback applications.

Clinical

Clinical & Medical Devices

For clinical-grade EEG, ECoG, and assistive tech. Nimbus provides the "White Box" explainability and confidence scoring essential for regulatory approval (FDA/CE), powering the next generation of neuro-rehabilitation and diagnostic tools.

Implants

High-Bandwidth Implants

For microelectrode arrays like Neuralink & Synchron. Our high-performance architecture processes massive, high-velocity data streams with ultra-low latency, enabling advanced applications like high-DOF prosthetic control and communication.

Simple Integration, Powerful Results

nimbus-bci runs locally — wrap a frozen encoder, fit a Bayesian Personalizer, ship BrainState to your app.

# 1. Wrap any frozen trunk (encode → Z)
from nimbus_bci import Personalizer, wrap
enc = wrap(my_encoder.encode, model_id="eegnet", embedding_dim=64)

# 2. Fit a Bayesian Personalizer head
adapter = Personalizer.for_deployment(
enc, ["left_hand", "right_hand"],
paradigm="motor_imagery",
)
adapter.fit(X_cal, y_cal)

# 3. Predict → BrainState for apps
states = adapter.predict(X_test)
accepted = [s for s in states if not s.rejected]

# 4. Adapt online — no trunk fine-tune
adapter.partial_fit(X_new, y_new)
1. Wrap encoder
Any frozen trunk that emits encode(X) → Z
2. Fit Personalizer
Bayesian head on calibration trials — trunk stays frozen
3. Ship BrainState
Intent, confidence, uncertainty — then partial_fit online

What Personalizer ships

Not another decoder zoo — a thin layer between a frozen encoder and your app: wrap, adapt online, gate with uncertainty, deliver BrainState.

Frozen-trunk wrap

Plug any encoder that emits encode(X) → Z. You keep the trunk weights; Nimbus owns the personalization layer on top.

Online partial_fit

Conjugate Bayesian head updates on new labels — exact and cheap. Adapt session drift without batch refit or trunk fine-tune by default.

Uncertainty gating

Epistemic and confidence gates decide when to accept, reject, or ask for another label — so apps don’t act on a single opaque guess.

BrainState for apps

Ship intent, confidence, uncertainty, and rejection in one thin contract. Downstream UI and control loops stay model-agnostic.

Partner preview

Conductor — when to spend adaptation.

Control layer for deployed Personalizer sessions: observe BrainState, bound label spend, escalate only when the resource ladder says so — companion control logic to the Personalizer preprint. Safety and spend bounds for OEM partners; not a public SDK release.

Book a Demo →

Pricing Designed for Innovation

We believe in democratizing access to next-generation BCI technology. Our pricing will include a generous free tier for developers and researchers, with flexible, usage-based plans that scale as you grow. For enterprise partners requiring deep integration and support, we offer dedicated partnership plans.

Developer Plan

For individuals, researchers, and teams exploring BCI.

Our generous free tier is designed for experimentation and innovation. Get access to the core Nimbus engine and start building the future of neurotechnology today.

Includes:

  • IncludedAccess to Core SDK/API
  • IncludedCommunity Support
  • IncludedSufficient R&D and Prototyping
Book a Demo

Business Plan

For startups and companies launching commercial BCI applications.

A flexible, usage-based model that scales with your product's success. Get the performance and support you need to go to market with confidence.

Includes:

  • IncludedEverything in Developer, plus:
  • IncludedHigher Rate Limits
  • IncludedProduction-Grade SLAs
  • IncludedStandard Technical Support
Book a Demo

Enterprise Plan

For hardware manufacturers and large-scale enterprise deployments.

A dedicated partnership for organizations with complex requirements. Get custom model development, deep integration, and enterprise-grade security.

Includes:

  • IncludedEverything in Business, plus:
  • IncludedCustom Model Development
  • IncludedDedicated Engineering Support
  • IncludedOn-premise Deployment Options
Contact Sales

Ready to build the future of neurotechnology?

See a live demonstration of the Nimbus engine and discuss how our technology can accelerate your BCI development.