Foundation model

LUNA: results on public EEG datasets

LUNA is a pretrained EEG encoder released in Base, Large and Huge sizes; its paper lists the Temple University EEG corpus (TUEG) and the Siena Scalp EEG Database as its pretraining data. BCI Report ran Base and Large frozen. The input is resampled to 256 Hz and cut to whole patches, and the one- and two-second windows and four- to eight-channel layouts here are outside the regime its authors tested. The weights are CC BY-ND 4.0: no modified weights or adapters are shared, and no endorsement by the LUNA authors is implied.

Measured on: ds003810; EEGMAT; BETA; ds006593; TMNRED / ds005383; EESM19 scalp subset; ds005342 · Protocols: Motor imagery & rest; Arithmetic & rest; SSVEP · 8 channels; SSVEP · 4 channels; P300 target ERP; Semantic target ERP; Sleep staging; Idle & command

Also known as LUNA Base · LUNA Large · PulpBio/LUNA

Reference LUNA, arXiv:2510.22257 ↗

Directory status: Evaluated · Official code ↗ · Description sources arxiv.org · huggingface.co

Published results

Grouped by dataset. Compare figures within a group only: across groups the task, cohort, chance level and electrode layout all change.

ds003810 · v9 foundation encoders, frozen · motor imagery & rest

Read with its protocol: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · foundation-models-mi-rest.csv

LUNA Base
52.6% (50.2%–54.9%)
LUNA Large
49.9% (46.6%–53.5%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy52.6%50.2%–54.9%10
LUNA LargeFrozen encoder + ridge headBalanced accuracy49.9%46.6%–53.5%10

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

EEGMAT · v9 foundation encoders, frozen · arithmetic & rest

Read with its protocol: Core-matrix protocol: Arithmetic & rest · Chance level 50.0% · foundation-models-arithmetic-rest.csv

LUNA Base
60.7% (56.9%–64.4%)
LUNA Large
57.4% (54.3%–60.6%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy60.7%56.9%–64.4%36
LUNA LargeFrozen encoder + ridge headBalanced accuracy57.4%54.3%–60.6%36

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

EEGMAT · Model adaptation, v9 · new people, same task, one fixed recipe (not a ranking)

Read with its protocol: Core-matrix protocol: Arithmetic & rest · Chance level 50.0% · foundation-models-update.json

LUNA Base · Frozen encoder + trained head
58.2% (54.5%–61.7%)
LUNA Base · LoRA rank 4 + head
60.0% (55.9%–63.9%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + trained headBalanced accuracy58.2%54.5%–61.7%514 trainable parameters.36
LUNA BaseLoRA rank 4 + headBalanced accuracy60.0%55.9%–63.9%37,378 trainable parameters.36
LUNA BaseLoRA minus frozen + head, same people and foldsPaired difference+1.8 pp+0.1 pp–+3.3 pp23 people improved, 11 got worse, 2 unchanged. The interval excludes zero.36

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

BETA · v9 foundation encoders, frozen · SSVEP, 8 channels

Read with its protocol: Core-matrix protocol: SSVEP · 8 channels · Chance level 2.5% · foundation-models-beta-8ch.csv

LUNA Base
8.6% (7.7%–9.5%)
LUNA Large
10.0% (8.9%–11.1%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy8.6%7.7%–9.5%70
LUNA LargeFrozen encoder + ridge headBalanced accuracy10.0%8.9%–11.1%70

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

BETA · v9 foundation encoders, frozen · SSVEP, 4 channels

Read with its protocol: Core-matrix protocol: SSVEP · 4 channels · Chance level 2.5% · foundation-models-beta-4ch.csv

LUNA Base
9.0% (8.1%–10.1%)
LUNA Large
11.2% (9.8%–12.6%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy9.0%8.1%–10.1%70
LUNA LargeFrozen encoder + ridge headBalanced accuracy11.2%9.8%–12.6%70

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

ds006593 · v9 foundation encoders, frozen · P300 target ERP

Read with its protocol: Core-matrix protocol: P300 target ERP · Chance level 50.0% · foundation-models-p300-target.csv

LUNA Base
48.7% (46.3%–51.1%)
LUNA Large
48.8% (46.9%–50.8%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy48.7%46.3%–51.1%21
LUNA LargeFrozen encoder + ridge headBalanced accuracy48.8%46.9%–50.8%21

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

TMNRED / ds005383 · v9 foundation encoders, frozen · semantic target ERP

Read with its protocol: Core-matrix protocol: Semantic target ERP · Chance level 50.0% · foundation-models-semantic-target.csv

LUNA Base
56.2% (54.2%–58.2%)
LUNA Large
57.1% (55.3%–58.9%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy56.2%54.2%–58.2%30
LUNA LargeFrozen encoder + ridge headBalanced accuracy57.1%55.3%–58.9%30

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

EESM19 scalp subset · v9 foundation encoders, frozen · sleep staging

Read with its protocol: Core-matrix protocol: Sleep staging · Chance level 20.0% · foundation-models-sleep-scalp.csv

LUNA Base
67.5% (65.3%–69.5%)
LUNA Large
72.4% (70.4%–74.0%)
Balanced accuracy, 2 configurations. Dot: the estimate; line: 95% interval; dashed line: chance level where the payload records one.
MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + ridge headBalanced accuracy67.5%65.3%–69.5%20
LUNA LargeFrozen encoder + ridge headBalanced accuracy72.4%70.4%–74.0%20

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

ds005342 · v9 foundation encoders, frozen · idle & command

Read with its protocol: Core-matrix protocol: Idle & command · foundation-models-idle.csv

MethodConditionMetricValuePeople
LUNA BaseFrozen encoder + linear headCommands detected ≤3 s4 / 602 of 4 people always abstained.4
LUNA BaseFrozen encoder + linear headIdle false activations1 / 604
LUNA LargeFrozen encoder + linear headCommands detected ≤3 s5 / 602 of 4 people always abstained.4
LUNA LargeFrozen encoder + linear headIdle false activations1 / 604

Weights terms: LUNA under CC BY-ND 4.0, with no modified weights shared. No model’s authors endorse these results. Every weights licence and its terms →

All methods → · All datasets →

Checkpoints, inputs and terms

What was run, as the v9 release records it: each checkpoint’s revision and SHA-256, its encoder parameters, the footnote its rows carry and its weights licence. No weights, adapted weights or LoRA deltas were kept or shared, and no endorsement by the model’s authors is implied.

LUNA Base

Panel
A row beside the core matrix on every protocol page
Encoder parameters
6.57M
Revision
PulpBio/LUNA @ 999c1af0
Checkpoint SHA-256
482839ad9152b6948ff166d2a1638637c54b4d91f1cefadbce6312831ba9b11d
Paper
paper ↗
Weights licence
CC BY-ND 4.0 (owner-approved: internal adaptation, aggregate scores only, no adapted weights or LoRA deltas shared)
Licence note
CC BY-ND 4.0 weights: scores from internal probing/adaptation only; no modified weights, LoRA or adapter deltas are shared; no implied endorsement by the LUNA authors; the LUNA name is not used to suggest an official release.
Rights review
Owner-approved on 2026-10-04 for internal probing and adaptation with aggregate scores only. No modified weights, LoRA or adapter deltas are shared; no endorsement by the LUNA authors is implied, and the LUNA name is not used to suggest an official release.
Row footnote
Resampled to 256 Hz and truncated to whole 40-sample patches; 1-2 s windows and 4-8 channel montages are outside the authors' tested regime.
Notes
LUNA resamples to 256 Hz and keeps whole 40-sample patches: 1 s keeps 240/256 samples, 2 s keeps 480/512.
EEGMAT adaptation
Run: a head trained on the frozen encoder against LoRA rank 4, three seeds.

LUNA Large

Panel
A row beside the core matrix on every protocol page
Encoder parameters
40.45M
Revision
PulpBio/LUNA @ 999c1af0
Checkpoint SHA-256
03e0321a1e1a30dc074f7bfe512a901138200494f7694f31ab633e42b105c0e4
Paper
paper ↗
Weights licence
CC BY-ND 4.0 (owner-approved terms as LUNA Base)
Licence note
CC BY-ND 4.0 weights (as LUNA Base).
Rights review
Owner-approved on 2026-10-04 for internal probing and adaptation with aggregate scores only. No modified weights, LoRA or adapter deltas are shared; no endorsement by the LUNA authors is implied, and the LUNA name is not used to suggest an official release.
Row footnote
As LUNA Base. Frozen probes only.
Notes
LUNA resamples to 256 Hz and keeps whole 40-sample patches: 1 s keeps 240/256 samples, 2 s keeps 480/512.
EEGMAT adaptation
not run by design: LUNA Large is frozen probes only in the v9 stage specification

Pretraining exposure, by dataset

Whether each core dataset is in the model authors’ published pretraining list, checked on 2026-10-04 and linked to the source. A dataset absent from the list is not proof that its recordings were never seen; recording-level audits were not done.

LUNA Base · LUNA Large

DatasetProtocolsStatementSource
ds003810 Motor Imagery vs Rest (low-cost EEG; Peterson et al.)Motor imagery & restnot in the authors' published pretraining list (checked 2026-10-04)source ↗
EEGMAT (PhysioNet EEG During Mental Arithmetic Tasks; Zyma et al. 2019)Arithmetic & restnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds006593 cBCI Matrix Multimodal Dataset (Celik et al.)P300 target ERPnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds005383 TMNRED (Bai et al. 2025, Sci. Data 12:701)Semantic target ERPnot in the authors' published pretraining list (checked 2026-10-04)source ↗
EESM19 Ear-EEG Sleep Monitoring 2019 (OpenNeuro ds005185; Mikkelsen et al.)Sleep stagingnot in the authors' published pretraining list (checked 2026-10-04)source ↗
BETA 40-target SSVEP (Liu et al. 2020, Front. Neurosci. 14:627)SSVEP · 8 channels · SSVEP · 4 channelsnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds005342 EEG offline/online MI for standing and sitting (Triana-Guzman et al.)Idle & commandnot in the authors' published pretraining list (checked 2026-10-04)source ↗

Cite this page

BCI Report (2026). LUNA: results on public EEG datasets. https://bci.report/methods/luna/

Figures from release foundation-models-update-20261004 (2026-10-04). Cite the upstream datasets as well: each dataset’s page gives its credit.

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