Skip to the content
PCBKitNew board
2 layers55 × 41.5 mmEEGFrontier, the printed circuit board in 3D

EEGFrontier is an open-source EEG device designed to measure focus and attention during study using real brain signals. It uses a custom-built PCB with a professional EEG analog front-end to capture raw EEG data and stream it in real time to a computer via USB.

Size
55 × 41.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
56
Pads
138
Tracks, vias
232, 28
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Feb 2026
Updated
24 Sep 2026

Overview

EEGFrontier is an open-source printed circuit board by TheusHen, from the TheusHen/EEGFrontier repository on GitHub, published under the MIT licence. It is a 2-layer board of 55 × 41.5 mm with 33 parts on 56 nets, routed with 232 tracks and 28 vias.

It is built around the ADS1299-4PAGR. Its parts include 12 capacitors, 11 resistors, 2 ICs, 2 diodes and 1 connector.

Main components

1

README

README.md

EEGFrontier V1

CI

[!WARNING] Hardware V2 Under Development The current version of this project (V1) has pending schematic and layout revisions. V2 is under active development with all necessary fixes. If you plan to fabricate or assemble this board, please wait for the official V2 tag and release before sending files to the fab.

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

Important Notice

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.

Short Project Description

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.


How to Use the Project

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.

Why I Made This Project

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.


Project Concept

The board is designed to connect dry electrodes and stream real-time data from the EEG channels.

EEGFrontier concept and wiring overview V2

Hardware Overview

3D View (Front)

EEGFrontier V1 3D front view

3D View (Back)

EEGFrontier V1 3D back view

PCB Layout

EEGFrontier V1 PCB layout

Schematic

EEGFrontier V1 schematic

Quick Start

  1. Flash the firmware to the Seeed XIAO RP2040 using PlatformIO
  2. Connect the EEGFrontier board via USB
  3. Attach EEG electrodes (channels, REF, BIAS)
  4. Open Pendulum or a serial monitor
  5. Start streaming with the START command

Hardware Highlights

  • 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

Firmware Overview

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

Firmware Build (PlatformIO)

bash
cd firmware
pio run -e xiao_rp2040

Monitor (default baud rate is 921600):

bash
cd firmware
pio device monitor -b 921600

Serial Commands (Firmware)

  • HELP
  • INFO
  • STATS
  • REGS
  • START
  • STOP
  • MODE BIN
  • MODE CSV
  • REINIT
  • TEST ON
  • TEST OFF
  • SELFTEST
  • LOFF ON
  • LOFF OFF
  • LOFF STATUS
  • PING

Technical Specifications

  • Channels: 4 EEG channels + REF + BIAS
  • ADC: 24-bit (ADS1299)
  • Sampling rate: configurable (up to ADS1299 limits)
  • Interface: USB (CDC)
  • Power: USB 5V

Repository Structure

  • firmware/ - PlatformIO firmware for XIAO RP2040 + ADS1299
  • assets/ - Images used in this README
  • EEGFrontier.kicad_sch / EEGFrontier.kicad_pcb - KiCad project files
  • Pendulum - Host software

Pendulum

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.

Pendulum desktop monitor

Pendulum web monitor

Pendulum result example

Pendulum interface detail

If you are considering building this

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.

Safety & Protection

⚠️ Important Safety Notice

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.

Medical Disclaimer

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.

Known Limitations

  • No medical-grade isolation
  • No onboard battery
  • Susceptible to motion artifacts with dry electrodes
  • Requires external software for filtering and analysis(e.g. Pendulum)

License

This project is released under the MIT License. See the LICENSE file for details.

Parts

33
QtyValueFootprintReferences
8100kResistor_SMD:R_0805_2012MetricR4, R5, R6, R7, R8, R9, R10, R11
610µFCapacitor_SMD:C_1206_3216MetricC5, C6, C9, C10, C11, C12
5100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C7
4LOGOLOGOG1, G2, G4, G5
21kΩResistor_SMD:R_0805_2012MetricR2, R3
2LEDLED_SMD:LED_0805_2012MetricD1, D2
1102010428OPL:MODULE_102010428U1
110kResistor_SMD:R_0805_2012MetricR1
11µFCapacitor_SMD:C_0603_1608MetricC8
1ADS1299-4PAGROPL:QFP50P1200X1200X120-64NU2
1Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalJ1
1SW_PushButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1

Questions

How big is the EEGFrontier PCB?

It measures 55 × 41.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the EEGFrontier use?

33 parts, built around the ADS1299-4PAGR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the EEGFrontier KiCad files?

From the TheusHen/EEGFrontier repository on GitHub, at the commit this page was made from: the board is PCB/EEGFrontier.kicad_pcb and its schematic SCH/EEGFrontier.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the EEGFrontier design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers70.5 × 33.7 mmTi based, the printed circuit board in 3D

    Ti based

    tharaka27/RatEEG

    RatEEG is 4 channel EEG device for iSeizure project

    73 parts12MIT
  • 4 layers85 × 125 mmRobustEEG Base, the printed circuit board in 3D

    RobustEEG Base

    ppolGTMonster/RobustEEG_forUHFMRI

    Hardware for an Open Source EEG usable in high magnetic Fields

    107 parts1
  • 4 layers83.8 × 36.5 mmWearable, the printed circuit board in 3D

    Wearable

    aidanaalund/sleep-wearable

    Work on our sleep state tracker wearable headband for ECE Senior Design at UT Austin. Members are Aidan Aalund, Justin Banh, Alex Ho, and Kien Ton. Mentored by Dr. Edison Thomaz.

    106 parts
  • 4 layers52 × 41.4 mmEMG PCB, the printed circuit board in 3D

    EMG PCB

    PsXcor/EMG_PCB_PROJECT

    code repo for EMG PCB

    97 parts
  • 4 layers78 × 58 mmEeg ads1299 lab, the printed circuit board in 3D

    Eeg ads1299 lab

    utof/eeg_ads1299_lab

    It is not a finished EEG recorder, a validated PCB, or permission to attach a circuit to a person. The firmware is a board-dependent bench-only starter using the ADS1299's internal test/short circuits.

    70 parts
  • 6 layers35 × 23 mmEeg, the printed circuit board in 3D

    Eeg

    bradkim06/gas_nordic

    gas sensing iot device(nrf52832)

    80 partsApache-2.0
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    33 parts1kGPL-3.0