Open-source wearable EEG hardware
24-bit ADC · instrumentation amp · ESP32-S3 · MIT licensed
оюу · turquoise · a small board that listens
On-head Berger test · OUT0
Eyes open (blue) vs closed (red) · α peak ~10 Hz · ratio 29.66× · PASS
Most EEG hardware is either closed, expensive, or impossible to modify.
Oyu is the opposite: a real, bench-proven wearable EEG prototype — a TI ADS1220 24-bit ADC and an AD8422 instrumentation amp next to a Seeed XIAO ESP32-S3 in a compact two-board stack.
This is not a toy breadboard. It is a design that was soldered, powered from LiPo, and streamed from the bench — then validated with a classic Berger eyes-open / eyes-closed run (graphs above).
If open brain-computer interfaces matter to you, star this repo.
Stars tell us the community wants more — Gerbers, better docs, and the next open drop.
| AFE panel | Main board + AFE | Assembled stack |
|---|---|---|
![]() |
![]() |
![]() |
Left: panelized AFE (AD8422) boards. Center: main carrier with XIAO ESP32-S3 + ADS1220. Right: live stack with electrode harness.
Three PCBs, one ecosystem:
| Board | Role | Core parts |
|---|---|---|
| NF Mark 3 Main | Carrier, MCU, ADC, power, UI | Seeed XIAO ESP32-S3, ADS1220, LiPo path, LEDs, switches |
| NF Mark 3 AFE | Analog front-end daughter | AD8422 instrumentation amplifier + passives |
| NF Mark 3 Expansion | SPI ADC strip (no MCU) | ADS1220 + H8/H9 + U5 breakout |
Electrodes → AD8422 (IA) → ADS1220 (24-bit) → ESP32-S3 → Host (USB serial)
Everything you need to understand, rebuild, and iterate:
neurofocus-mark3/
├── schematic/
│ ├── netlist/ # nf-mark3-main / afe / expansion (.tel)
│ ├── gerber/ # fab zips
│ ├── drawings/ # schematic PNGs
│ └── archive/ # original EasyEDA export names
├── assets/pcb/ # PCB layout screenshots
├── hardware/photos/ # Real assembled boards
├── firmware/ # Modular PlatformIO + native unit tests
├── docs/ # Pinout, BOM, fabrication
├── LICENSE
└── README.md
| Path | What it is |
|---|---|
schematic/netlist/nf-mark3-main.tel |
Main carrier netlist (XIAO + ADS1220 + power + UI) |
schematic/netlist/nf-mark3-afe.tel |
AD8422 AFE daughter |
schematic/netlist/nf-mark3-expansion.tel |
ADS1220 SPI strip (no MCU) |
schematic/gerber/ |
Gerber packages for all three boards |
assets/pcb/ |
PCB layout screenshots |
docs/BOM.md |
Parts list |
docs/PINOUT.md |
XIAO ↔ ADS1220 ↔ OUT0..3 |
firmware/ |
Full CLI firmware (b/s/v, presets, tests) |
| Function | XIAO pin | ADS1220 / board |
|---|---|---|
| CS | D7 |
Chip select |
| DRDY | D5 |
Data ready |
| SCK | D8 |
SPI clock |
| MISO | D9 |
SPI data (ADC → MCU) |
| MOSI | D10 |
SPI data (MCU → ADC) |
| BAT-MEASURE | D0 / A0 |
Divider (220k / 220k) |
| OUT0–OUT3 | — | ADC AIN0–AIN3 via H8/H9 |
Full detail: docs/PINOUT.md
cd firmware
pio run -t upload
pio device monitor -b 115200Serial commands (OpenBCI-compatible subset):
| Key | Action |
|---|---|
b |
Begin stream |
s |
Stop stream |
v |
Reset ADC config |
Samples print as CSV raw counts (4 channels, muxed on the ADS1220).
| MCU | Seeed XIAO ESP32-S3 (USB-C, Wi-Fi / BLE capable) |
| ADC | TI ADS1220, 24-bit delta-sigma, SPI |
| AFE | Analog Devices AD8422 instrumentation amplifier |
| Channels | Up to 4 single-ended / differential mux paths on ADS1220 |
| Power | USB-C and/or LiPo (JST), onboard switch + battery sense |
| UI | 2× status LEDs, user button |
| Form | Compact carrier + plug-in AFE strip |
MIT — hardware design docs, schematic netlists, photos (as included), and firmware in this repository.
See LICENSE. Use it. Ship it. Improve it. Attribution is appreciated; starring is louder.
Third-party silicon (TI, Analog Devices, Espressif, Seeed) remains under their respective terms. You still need to respect component datasheets and any module certifications.
Honesty > FOMO:
- Gerber / drill / pick-and-place files are not committed yet. Connectivity is fully specified in the netlists; PCB artwork may be released as a follow-up once cleaned for public fab.
- Advanced firmware (BLE streaming, power management, multi-channel ADS1299-class designs) is outside this open drop.
Want Gerbers next? Star + open an issue titled Gerbers please. If enough people ask, we prioritize the export.
- Fork and branch from
main - Keep the tree clean: schematics in
schematic/, docs indocs/, no binaries larger than needed - Prefer netlists + human-readable docs over mystery EDA project dumps
- Open a PR with a photo if you fab a board — we will feature community builds
┌─────────────────────────────────────────────────────────┐
│ Open EEG should not be a $1k black box. │
│ │
│ Oyu is a stake in the ground. │
│ Star → we ship Gerbers. │
│ Fork → you own the next revision. │
│ Build → show us your brain waves. │
└─────────────────────────────────────────────────────────┘
Built with patience, flux, and too much coffee.
MIT · Open hardware · Oyu







