A Collection Python EEG (+ ECG) Analysis Utilities for OpenBCI and Muse
Last updated Jun 18, 2026
262
Stars
73
Forks
4
Issues
0
Stars/day
Attention Score
60
Language breakdown
No language data available.
▸ Files
click to expand
README
EEGrunt: A Collection Python EEG (+ECG) Analysis Utilities
[READ THE ANNOUNCEMENT POST »][1]
Working with EEG (electroencephalography) data is hard, and this little library aims to make it easier. EEGrunt consists of a collection of functions for reading EEG data from CSV files, converting and filtering it in various ways, and finally generating pretty and informative visualizations.
Update: We’ve added functions to plot heart rate and heart rate variability from recorded OpenBCI ECG (electrocardiography) data. You can test these out with the analyzeecgchannel.py and analyzeecgdata.py demo scripts. We’ve posted a new tutorial on our blog to get you started: [EEGrunt update: Analyze heart rate and HRV with Python][2]
Features
- EEGrunt is compatible with data from OpenBCI and Muse.
- EEGrunt has bandpass, notch, and highpass filters for cleaning up powerline interference, OpenBCI's DC offset, and zeroing in on the frequency band you want to analyze.
- EEGrunt makes it easy to generate signal plots, amplitude trend graphs, spectrograms, and FFT (fast-fouier transform) graphs, etc.
Getting Started
- Download or clone the repo:
git clone https://github.com/curiositry/EEGrunt - Run
sudo bash installlinuxdependencies.sh(tell me if this doesn’t work) - Take a look in
analyze_data.pyand edit at will, or create your own script usingEEGrunt.py. Make sure to set the required variables — device, path, and filename. - Run it:
python analyze_data.py - [Read the announcement post for the official tutorial!][1]
- [Optional] Interested in [analyzing ECG data with EEGrunt][2]? Take a look at the [new tutorial][2].
🔗 More in this category