EEGFrontier V1 is a compact EEG acquisition board built around the ADS1299-4PAGR and a Seeed XIAO RP2040.
This repository contains:
- Hardware design files (KiCad)
- Firmware (PlatformIO / Arduino)
- Project assets and documentation images
Please check the bom/ folder for the Bill of Materials and pricing information. A dedicated folder was created specifically to document BOM details and cost references.
EEGFrontier V1 is an open-source EEG acquisition board designed to capture real brain signals and stream them in real time to a computer for analysis and visualization. It focuses on learning, experimentation, and understanding attention and focus using raw EEG data.
The board connects to EEG electrodes and streams data over USB to a computer. Users flash the firmware to the XIAO RP2040, connect electrodes to the header, and read real-time EEG data using serial tools or custom software written in any language.
I made EEGFrontier to learn how real EEG hardware works beyond black-box consumer devices. The goal is to make neurotechnology more accessible to students by providing a platform where raw signals, hardware design, and firmware are fully open and modifiable.
The board is designed to connect dry electrodes and stream real-time data from the EEG channels.
- Flash the firmware to the Seeed XIAO RP2040 using PlatformIO
- Connect the EEGFrontier board via USB
- Attach EEG electrodes (channels, REF, BIAS)
- Open Pendulum or a serial monitor
- Start streaming with the
STARTcommand
- ADS1299-based 4-channel EEG analog front-end
- Seeed XIAO RP2040 as main controller
- Header for EEG channels plus reference and bias
- Start button input (
BTN_START) - Status LEDs (power and stream/activity)
- Compact PCB with front/back annotated design
The firmware (in firmware/) provides:
- ADS1299 initialization and register configuration
- DRDY interrupt-based sampling
- Binary streaming protocol (COBS + CRC16)
- CSV debug mode
- Serial commands for diagnostics and control
- Recovery logic for acquisition timeout
- Self-test and lead-off diagnostics
cd firmware
pio run -e xiao_rp2040Monitor (default baud rate is 921600):
cd firmware
pio device monitor -b 921600HELPINFOSTATSREGSSTARTSTOPMODE BINMODE CSVREINITTEST ONTEST OFFSELFTESTLOFF ONLOFF OFFLOFF STATUSPING
- Channels: 4 EEG channels + REF + BIAS
- ADC: 24-bit (ADS1299)
- Sampling rate: configurable (up to ADS1299 limits)
- Interface: USB (CDC)
- Power: USB 5V
firmware/- PlatformIO firmware for XIAO RP2040 + ADS1299assets/- Images used in this READMEEEGFrontier.kicad_sch/EEGFrontier.kicad_pcb- KiCad project filesPendulum- Host software
Pendulum is the host software suite for EEGFrontier: it reads EEG data over USB, offers a local web dashboard (Reflex), and includes a desktop monitor for real-time focus visualization.
For full setup and usage instructions, see Pendulum/README.md.
I strongly recommend not attempting to fully hand-solder this PCB.
The board uses fine-pitch components and sensitive analog circuitry, which makes manual soldering difficult and error-prone. Instead, consider ordering the PCB fully assembled from a service such as JLCPCB.
If needed, you can then hand-solder only a few missing components — or none at all if everything is available for assembly.
This device interfaces electrically with the human body and must be used with caution.
- This project does not include medical-grade isolation and must never be connected to mains-powered equipment without proper USB isolation.
- Always operate the device using a battery-powered computer or a USB isolator specifically designed for biomedical signals.
- Never use the device if any part of the circuit is damaged, exposed, or improperly assembled.
- Ensure electrodes and cables are clean, dry, and in good condition before use.
- Do not use this device on individuals with implanted electronic devices (e.g. pacemakers).
- This project is intended strictly for research, education, and experimentation.
The author assumes no responsibility for misuse, improper assembly, or unsafe operating conditions.
By using or building this device, you acknowledge that you understand the risks involved in working with bioelectrical signals and accept full responsibility for its use.
This project is not a medical device and is not intended for diagnosis, treatment, or clinical use.
Any data produced by this device should be considered experimental and for educational or research purposes only.
- No medical-grade isolation
- No onboard battery
- Susceptible to motion artifacts with dry electrodes
- Requires external software for filtering and analysis(e.g. Pendulum)
This project is released under the MIT License.
See the LICENSE file for details.








