Motor imagery / rest

ds003810: EEG decoding results

OpenNeuro ds003810 is an EEG dataset of kinesthetic motor imagery of dominant-hand grasping versus rest, recorded from 10 participants without previous BCI experience using a low-cost OpenBCI Cyton + Daisy board with 15 electrodes over sensorimotor areas. Released on OpenNeuro by Peterson et al. and described in Data in Brief (2022).

Also known as ds003810 · Motor Imagery vs Rest - Low-Cost EEG System · A motor imagery vs. rest dataset with low-cost consumer grade EEG hardware · Peterson et al. (2022)

Description sources openneuro.org · pmc.ncbi.nlm.nih.gov · doi.org · doi.org

Where it appears

Published results

Each figure comes from the reviewed download linked in its group. One row is above another only where their 95% intervals do not overlap.

Core matrix · motor imagery & rest

Source page: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · experiments.json, core-matrix-20261106-mi-rest.csv

Spectral ridge
54.9% (53.2%–56.7%)
CSP+LDA
47.1% (43.8%–50.2%)
LaBraM
53.5% (51.4%–55.4%)
CBraMod
62.9% (59.6%–66.5%)
EEGNet
71.0% (65.0%–76.3%)
TS+LR · OAS · 4–40 Hz
58.9% (54.9%–63.9%)
MDM · OAS · 4–40 Hz
53.8% (50.8%–57.9%)
ShallowFBCSPNet
68.8% (63.4%–73.9%)
Deep4Net
68.6% (63.3%–74.0%)
Balanced accuracy, 9 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
Spectral ridgeRest versus right-hand imageryBalanced accuracy54.9%53.2%–56.7%10
CSP+LDARest versus right-hand imageryBalanced accuracy47.1%43.8%–50.2%10
LaBraMRest versus right-hand imageryBalanced accuracy53.5%51.4%–55.4%10
CBraModRest versus right-hand imageryBalanced accuracy62.9%59.6%–66.5%10
EEGNetRest versus right-hand imageryBalanced accuracy71.0%65.0%–76.3%10
TS+LR · OAS · 4–40 HzRest versus right-hand imageryBalanced accuracy58.9%54.9%–63.9%Primary row · one fixed configuration (MOABB-reference settings)10
MDM · OAS · 4–40 HzRest versus right-hand imageryBalanced accuracy53.8%50.8%–57.9%Secondary row · one fixed configuration (MOABB-reference settings)10
ShallowFBCSPNetRest versus right-hand imageryBalanced accuracy68.8%63.4%–73.9%One fixed seed and training budget, as the EEGNet cell10
Deep4NetRest versus right-hand imageryBalanced accuracy68.6%63.3%–74.0%One fixed seed and training budget, as the EEGNet cell10

Further foundation encoders, frozen · motor imagery & rest

Source page: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · foundation-models-mi-rest.csv

REVE Base · Frozen encoder + ridge head
66.2% (61.8%–70.6%)
REVE Large · Frozen encoder + ridge head
70.2% (64.0%–76.1%)
LUNA Base · Frozen encoder + ridge head
52.6% (50.2%–54.9%)
LUNA Large · Frozen encoder + ridge head
49.9% (46.6%–53.5%)
BrainOmni Base · Frozen encoder + ridge head
58.8% (57.0%–60.8%)
CodeBrain · Frozen encoder + ridge head
58.8% (54.5%–62.6%)
EEGMamba · Frozen encoder + ridge head
67.3% (63.6%–70.6%)
ST-EEGFormer Base · Frozen encoder + ridge head
58.1% (53.7%–63.3%)
ST-EEGFormer Large · Frozen encoder + ridge head
62.4% (57.4%–67.8%)
eeg-fm-masking MAE (r=9 cm, L=2) · Frozen encoder + ridge head
68.1% (64.3%–72.3%)
ERP-FM Base · Frozen encoder + ridge head
54.8% (51.8%–57.8%)
SingLEM · Frozen encoder + ridge head
72.0% (66.6%–76.6%)
ZUNA 1.1 · Frozen encoder + ridge head
50.7% (49.2%–52.1%)
eeg-fm-masking JEPA (r=9 cm, L=2) · Frozen encoder + ridge head · masking ablation
63.2% (58.2%–67.9%)
eeg-fm-masking MAE (r=one channel, L=1) · Frozen encoder + ridge head · masking ablation
64.9% (60.3%–69.4%)
eeg-fm-masking JEPA (r=one channel, L=1) · Frozen encoder + ridge head · masking ablation
63.3% (59.0%–67.4%)
Balanced accuracy, 16 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
REVE BaseFrozen encoder + ridge headBalanced accuracy66.2%61.8%–70.6%10
REVE LargeFrozen encoder + ridge headBalanced accuracy70.2%64.0%–76.1%10
LUNA BaseFrozen encoder + ridge headBalanced accuracy52.6%50.2%–54.9%10
LUNA LargeFrozen encoder + ridge headBalanced accuracy49.9%46.6%–53.5%10
BrainOmni BaseFrozen encoder + ridge headBalanced accuracy58.8%57.0%–60.8%10
CodeBrainFrozen encoder + ridge headBalanced accuracy58.8%54.5%–62.6%10
EEGMambaFrozen encoder + ridge headBalanced accuracy67.3%63.6%–70.6%10
ST-EEGFormer BaseFrozen encoder + ridge headBalanced accuracy58.1%53.7%–63.3%10
ST-EEGFormer LargeFrozen encoder + ridge headBalanced accuracy62.4%57.4%–67.8%10
eeg-fm-masking MAE (r=9 cm, L=2)Frozen encoder + ridge headBalanced accuracy68.1%64.3%–72.3%10
ERP-FM BaseFrozen encoder + ridge headBalanced accuracy54.8%51.8%–57.8%10
SingLEMFrozen encoder + ridge headBalanced accuracy72.0%66.6%–76.6%10
ZUNA 1.1Frozen encoder + ridge headBalanced accuracy50.7%49.2%–52.1%Pretraining exposure: unknown: the authors do not list their pretraining data closely enough to decide. Model card: research use only, not for diagnosis or clinical use.10
eeg-fm-masking JEPA (r=9 cm, L=2)Frozen encoder + ridge head · masking ablationBalanced accuracy63.2%58.2%–67.9%10
eeg-fm-masking MAE (r=one channel, L=1)Frozen encoder + ridge head · masking ablationBalanced accuracy64.9%60.3%–69.4%10
eeg-fm-masking JEPA (r=one channel, L=1)Frozen encoder + ridge head · masking ablationBalanced accuracy63.3%59.0%–67.4%10

Weights terms: REVE under the REVE Responsible Use License v1.0 (model versions: REVE Base @ dc2a075c · REVE Large @ 317531c7); LUNA under CC BY-ND 4.0, with no modified weights shared; BrainOmni, EEGMamba, ST-EEGFormer and SingLEM under MIT; CodeBrain and ZUNA under Apache-2.0; eeg-fm-masking under CC-BY-4.0; ERP-FM under CC BY-NC-SA 4.0, non-commercial. No model’s authors endorse these results. Every weights licence and its terms →

EEGPT, frozen encoder · motor imagery & rest

Source page: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · eegpt-core-update.json

MethodConditionMetricValuePeople
EEGPTFrozen encoder + ridge headBalanced accuracy58.3%54.9%–61.8%10

ds003810 is recorded at 125 Hz; its windows reach the encoder upsampled to 256 Hz, so they carry nothing above 62.5 Hz.

Every core window is shorter than EEGPT’s 4-second pretraining window: 1 or 2 seconds, and sleep as fifteen 2-second segments. The encoder computes each 0.25-second patch the same way at any length; a shorter window gives fewer patches to average.

The readout is the site’s fixed probe on the frozen summary tokens, as for the published LaBraM and CBraMod rows: ridge (alpha 100) on 2,048 pooled values, and on idle a per-person logistic head. It is not the authors’ downstream probe, a learnable spatial filter with a linear head, and the windows are fed without the average reference EEGPT was pretrained with.

EEGPT: the checkpoint’s licence is unresolved, and no original or converted weights are distributed; Apache-2.0 covers the repository’s code only. Its licence and terms →

Pretraining · fixed readout

Source page: Does pretraining help? · deployment-topics.json, eegpt-core-update.json

MethodConditionMetricValuePeople
LaBraMMI / rest · pretrainedBalanced accuracy53.5%10
LaBraMMI / rest · random initialization (mean)Balanced accuracy55.9%10
CBraModMI / rest · pretrainedBalanced accuracy62.9%10
CBraModMI / rest · random initialization (mean)Balanced accuracy56.5%10
EEGPTMI / rest · pretrainedBalanced accuracy58.3%10
EEGPTMI / rest · random initialization (mean)Balanced accuracy54.1%10

Pretraining · train-selected readout

Source page: Does pretraining help? · deployment-topics.json, eegpt-core-update.json

MethodConditionMetricValuePeople
LaBraMMI / rest · pretrainedBalanced accuracy52.9%10
LaBraMMI / rest · random initialization (mean)Balanced accuracy56.5%10
CBraModMI / rest · pretrainedBalanced accuracy62.7%10
CBraModMI / rest · random initialization (mean)Balanced accuracy54.9%10
EEGPTMI / rest · pretrainedBalanced accuracy57.0%10
EEGPTMI / rest · random initialization (mean)Balanced accuracy53.1%10

Pretraining · fixed classical control

Source page: Does pretraining help? · deployment-topics.json

MethodConditionMetricValuePeople
Log-covariance ridgeMI / restBalanced accuracy52.3%48.5%–56.4%10

Reliable decisions · when to decline a decision (crude: ten people)

Source page: When not to act · reliable-decisions-update.json

MethodConditionMetricValuePeople
Spectral ridgeFixed threshold: calibrated confidence at least 0.8Windows accepted0 / 1,20010 of 10 people had nothing accepted.10
Spectral ridgeLearned reject option minus calibrated confidence, same classifier (a secondary contrast)Error among the 80% most certain, difference+0.5 pp−1.1 pp–+2.3 ppNo difference resolved: the interval includes zero.10
CBraModFixed threshold: calibrated confidence at least 0.8Windows accepted7 / 1,2006 of 10 people had nothing accepted.10
CBraModLearned reject option minus calibrated confidence, same classifier (a secondary contrast)Error among the 80% most certain, difference+0.7 pp−0.8 pp–+2.4 ppNo difference resolved: the interval includes zero.10
EEGNetFixed threshold: calibrated confidence at least 0.8Windows accepted250 / 1,2000 of 10 people had nothing accepted.10
EEGNetLearned reject option minus calibrated confidence, same classifier (a secondary contrast)Error among the 80% most certain, difference+0.9 pp−0.4 pp–+2.4 ppNo difference resolved: the interval includes zero.10

Limits: Ten people, two per test fold. Bootstrap intervals are crude; no person-level dispersion is published. Balanced, so no deployment rate. Its learned-reject contrasts are secondary. Calibration data are participant-disjoint inner out-of-fold scores (cross-fit). Inner models see about 3/4 of the training people, so they may be less confident than the full model whose scores are tested. This approximation is part of every calibrated figure. Rejecting likely errors on known classes is not detecting unfamiliar input. An uncertainty threshold may not flag an unseen class (https://arxiv.org/abs/2603.13324). Route 1 makes no out-of-distribution claim. A contrast is called a difference only when its paired 95% participant-bootstrap interval excludes 0 (no multiplicity correction); otherwise "no difference resolved". No ranking where intervals overlap. Descriptive entries are never called differences. Every limitation of route 1 →

Source and licence

ds003810

Credit Peterson et al. · OpenNeuro ds003810, version 2.0.2. Study: https://pmc.ncbi.nlm.nih.gov/articles/PMC9114495/

The dataset authors ask you to cite: Peterson V, Galván C, Hernández H, Spies R. A feasibility study of a complete low-cost consumer-grade brain-computer interface system. Heliyon 6(3):e03425 (2020). doi ↗ · as their record asks ↗

CC0-1.0 ↗ · Dataset record ↗

BCI Report does not redistribute any recording. These are aggregate measurements computed by BCI Report under the licence above; the data remain their creators’.

Row in the open register →

All datasets → · All methods →

Cite this page

BCI Report (2026). ds003810: EEG decoding results. https://bci.report/datasets/ds003810/

Figures from releases core-matrix-update-20261106 (2026-11-06), eegpt-core-update-20261013 (2026-10-13), foundation-models-update-20261004 (2026-10-04), reliable-decisions-update-20261004 (2026-10-04), deployment-topics-20260920-v1 (2026-09-20), research-preview-20260920 (2026-09-20). Cite the upstream dataset as well: its credit is on this page.

Every release is archived on Zenodo: doi:10.5281/zenodo.23123296. BibTeX for the site and its releases → · CITATION.cff ↗