Skip to content

Gharib23/OpenSSVEP-Lab

Repository files navigation

OpenSSVEP Lab is an open-source Python platform for teaching and running complete SSVEP-based BCI experiments. It guides learners step by step — from wearing the g.tec Unicorn headset and preparing the recording environment, through live EEG acquisition via LSL, signal filtering and segmentation, FFT-based visualization, and result interpretation. Built for biomedical engineering students, teaching assistants, and anyone who wants to go beyond just recording data and actually understand the signal.


Features

OpenSSVEP Lab screenshot

  • 5 SSVEP paradigms — single flicker (fixed & sweep), two-box, four-arrow, four-arrow with Arduino BCI serial output
  • Demo Mode — explore synthetic SSVEP datasets (no hardware required)
  • Annotated FFT viewer — marks target frequency, first harmonic, detected peak, and on/off-target verdict per trial
  • Learn page — 7 in-app lessons covering SSVEP physics, the visual cortex, signal processing pipeline, Unicorn headset, LSL, classification, and result interpretation
  • Help page — step-by-step setup guides for hardware, software, first experiment, demo mode, and troubleshooting
  • Full metadata export — every session saves EEG CSV, trial labels, timing, and a JSON metadata file with all subject and paradigm parameters

Requirements

  • Python 3.9+
  • g.tec Unicorn headset + UnicornLSL (optional — Demo Mode works without hardware)

Quick Start

pip install -r requirements.txt
python main.py

See docs/installation.md and docs/quick_start.md for full setup instructions.

Project Structure

OpenSSVEP-Lab/
├── main.py                  # Entry point
├── requirements.txt
├── gui/                     # All Tkinter pages and theme
├── acquisition/             # LSL stream, EEG recorder, markers
├── processing/              # Filters, segmentation, FFT, channel quality
├── stimuli/                 # Paradigm runners and presets
├── education/               # Learn page and Help page content
├── demo_data/               # Synthetic demo CSVs + generator
└── docs/                    # Installation and quick-start guides

License

MIT © 2025 Ahmed M. Gharib

About

Python-based educational platform for end-to-end SSVEP experiments using the g.tec Unicorn headset — from setup and acquisition to preprocessing, visualization, and interpretation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages