Wearable Signal Tools · EEG
Open-Source EEG Signal Processing Tools
16 open-source tools for electroencephalography (EEG) data, most often in Python, MATLAB and C. Each listing shows its licence, commercial use and last commit.
What open-source tools process EEG signals from wearables?
Electroencephalography (EEG) records electrical activity of the brain from electrodes on the scalp or, in some wearables, around the ear or forehead.
- AutoSleepScorerPython signal processing toolbox for EEG signalsEEGSignal processingPythonLicence: AGPL-3.0Commercial use: yesLast commit Sep 21, 2025
- BioSigKitMATLAB signal processing toolbox for ECG, accelerometer/IMU, respiration and EEG signalsECGIMURespirationEEGSignal processingMATLABLicence: MITCommercial use: yesLast commit Mar 22, 2019
- BioSPPyPython signal processing toolbox for ECG, PPG, EDA, respiration and EEG signalsECGPPGEDARespirationEEGSignal processingPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Sep 17, 2026
- BrainBeatsMATLAB signal processing toolbox for EEG, ECG and PPG signalsEEGECGPPGSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit Oct 9, 2026
- BrainFlowC++ data collection platform for ECG and EEG signalsECGEEGData collection platformC++Licence: MITCommercial use: yesLast commit Oct 21, 2026
- Counting Sheep PSGMATLAB annotation tool for EEG signalsEEGLabeling and annotationMATLABLicence: BSD-3-ClauseCommercial use: noLast commit Sep 11, 2026
- explorepyPython device and mobile SDK for EEG and ECG signalsEEGECGMobile and device SDKPythonLicence: MITCommercial use: yesLast commit Sep 22, 2026
- LunaC signal processing toolbox for EEG signalsEEGSignal processingCLicence: GPL-3.0Commercial use: yesLast commit Oct 20, 2026
- lunapiPython signal processing toolbox for EEG signalsEEGSignal processingPythonLicence: GPL-3.0Commercial use: yesLast commit Sep 3, 2026
- MNE-BIDSPython preprocessing library for EEG signalsEEGPreprocessingPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Oct 21, 2026
- MNE-PythonPython signal processing toolbox for EEG signalsEEGSignal processingPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Oct 21, 2026
- NeuroKit2Python signal processing toolbox for PPG, ECG, EDA, EEG and respiration signalsPPGECGEDAEEGRespirationSignal processingPythonLicence: MITCommercial use: yesLast commit Mar 1, 2026
- OpenSignalsReaderPython data reader and loader for ECG, EEG and EDA signalsECGEEGEDADataset loaderPythonLicence: MITCommercial use: yesLast commit Jun 6, 2019
- PhysioExPython benchmark and evaluation code for EEG, ECG and respiration signalsEEGECGRespirationBenchmark harnessPythonLicence: MITCommercial use: yesLast commit Oct 16, 2026
- TEAPMATLAB signal processing toolbox for PPG, ECG, EDA, EEG, respiration and skin temperature signalsPPGECGEDAEEGRespirationTemperatureSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit Oct 28, 2022
- YASAPython signal processing toolbox for EEG signalsEEGSignal processingPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Oct 17, 2026
Questions about open-source EEG tools
What is EEG?
Electroencephalography (EEG) records electrical activity of the brain from electrodes on the scalp or, in some wearables, around the ear or forehead.
How many open-source EEG tools are listed?
16. The most common categories are signal processing (10), data collection platform (1) and labeling and annotation (1).
Which programming languages do open-source EEG tools use?
Python (10), MATLAB (4), C (1) and C++ (1). A tool that names more than one language is counted under each.
Can I use these EEG tools in a commercial product?
It depends on each licence. Of the 16 tools, 15 list commercial use as yes, 1 as no and 0 do not state it. Each tool page shows the licence exactly as the project publishes it; read the licence in the project repository before you build on it.
Listings, summaries, licences and commercial-use fields are shown as recorded for each project, as of Oct 21, 2026. Maintenance is computed from the date of the last commit. Check the licence in each project’s repository before you use it.















