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.
- 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
- Python 3.9+
- g.tec Unicorn headset + UnicornLSL (optional — Demo Mode works without hardware)
pip install -r requirements.txt
python main.pySee docs/installation.md and docs/quick_start.md for full setup instructions.
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
MIT © 2025 Ahmed M. Gharib
