A case study: why a hobbyist-EEG data format, why now, and why one person.
Stanley is a 51-year-old locomotive mechanic working the afternoon shift in Montreal. Weekday mornings are his. Weekends are for the projects that pay nothing but compound.
He owns one Muse 2 — his only EEG headset. From a stack of prior work, he also has multiple functional (with bugs) EEG webapp repos: signal-processing pipelines, recording tools, visualization dashboards, integration code for various SDKs he no longer touches. He did not start those projects to build a data format. They were the artifact of the same loop he is now trying to break.
His friends have OpenBCI Cyton boards, PiEEG HATs, and homebrew ADS1299 rigs. They cannot share data with him.
Not “it’s inconvenient to share.” They cannot. Each device exports a different format:
Every time Stanley wants to use a tool he did not build — MNE-Python, Braindecode, EEGLab, a friend’s analysis script — he spends 2-3 days writing a converter. Then again for the next device. Then again when the vendor updates their SDK.
This is the data silo problem. The hardware has converged (ADS1299 chips, BLE, decent resolution) but the data layer has not. The people who would build the missing tools — open-source analysis, federated learning, cross-device research — are stuck reinventing parsers instead.
OpenEEG is the data layer that should exist.
The hobbyist-EEG community is small, distributed, and increasingly sophisticated. The people who own OpenBCI boards, PiEEG HATs, and Olimex EEG-SMT kits are not casual users; they are engineers, researchers, grad students, and serious tinkerers who have chosen to spend €200–€2,000 on a tool that does not have a clean data export.
This is a market that rewards integration — getting hobbyist data into the same toolchains (MNE-Python, Braindecode, EEGLab) that research labs use. It does not reward yet another proprietary SDK.
The original OpenEEG project (2001–2013) was an open-source EEG hardware project — low-cost amplifiers, schematics, firmware. It is dormant, but the brand lives on: Olimex still ships EEG-SMT boards that follow the OpenEEG design. The 2001 project’s keystone was the hardware. The 2026 keystone is the data format that the hardware did not have bandwidth to build.
OpenEEG v0.1 is a revival of the project name, not a continuation of the project scope.
One format, one validator, one reference implementation. Bring your data in (from any supported device), take it anywhere (to any tool that reads OpenEEG).
mne.io.read_raw_openeeg("session.openeeg.json") (after the reference implementation is built).openeeg convert --from openbci --to openeeg session.xml.dataset_description.json (v0.2 feature) and have a portable, citable dataset.The format is the keystone. Once it exists, the ecosystem builds on top of it.
OpenEEG v0.1 is not:
Three reasons Stanley is the right person to ship this, and now is the right time:
Stanley has multiple functional (with bugs) EEG webapp repos. He has written signal-processing pipelines. He has integrated Muse 2, PiEEG SDKs (without owning the hardware), and homebrew ADS1299 rigs (without owning the hardware). He is a locomotive mechanic by day and a self-directed systems learner by morning. The keystone — a portable data format with a reference implementation — is the part of the stack he can credibly ship.
The validation limitation is real and acknowledged: v0.1 has been developed against a single Muse 2 unit (the only headset Stanley owns). The spec is designed to generalize to other hardware, but the reference implementation and example data are Muse 2 specific until converter contributions arrive. This is honest scope, not aspiration. See docs/roadmap.md for the converter plan.
This is not a 18-month flip. The standard should outlast the person building it. A format that becomes the de facto hobbyist-EEG standard in 5 years is a 5-year project. Apache 2.0 licensing and explicit non-vendor positioning protect the format from being acquired or deprecated by any single entity (including Stanley’s employer, AI2NLP Solutions Inc., which holds the copyright but is contractually positioned as a steward, not an owner-operator).
Every new EEG device Stanley encounters is another week of writing a parser. That week is wasted for every other hobbyist who has the same device. OpenEEG ends the loop. The first time is hard; every subsequent time is openeeg convert --from <device>.
In 3 years, success is:
None of these require users to pay for OpenEEG. The format is free, the implementation is free, the converters are free. Revenue (if any) comes from a conversion-as-a-service tool, hosted validator, and a paid community — not from the spec itself.
read_raw_openeeg function, Stanley will write the spec-aligned side; you write the integrationFor v0.1, governance is “Stanley decides, with community input.” This works for a one-person spec. For v0.2 and beyond, if the project gets traction, governance should move to a multi-stakeholder model — a working group with representation from hardware vendors, tool authors, and users. Apache 2.0 makes that transition easy.
The copyright holder (AI2NLP Solutions Inc.) is positioned as a steward: it holds the legal rights, but the spec and code are Apache 2.0 and cannot be relicensed or revoked unilaterally. If the project reaches v1.0 and a multi-stakeholder governance body forms, the copyright can be transferred to a foundation (Linux Foundation, OASIS, etc.) under the same Apache 2.0 terms.
Apache License 2.0. See LICENSE.
Copyright 2026 AI2NLP Solutions Inc.