Record. Analyse. Understand.
OpenPhysiologyLab is an open-source physiology teaching and research prototype for recording, analysing, documenting, and comparing physiological signals.
The current v0.1-alpha release focuses on an ECG-like workflow using NPG Lite over USB serial.
This project is intended for education, experimentation, validation, and open physiology workflows.
New users should begin with docs/start_here.md.
OpenPhysiologyLab is not a diagnostic medical device.
OpenPhysiologyLab v0.1-alpha currently supports:
- ECG-like recording from NPG Lite over USB serial
- one-channel acquisition
- ECG headroom test
- resting ECG / basic RR analysis workflow
- raw CSV recording
- metadata storage
- filtering for review and analysis
- R-peak detection
- manual peak correction
- heart rate and RR interval analysis
- basic HRV-style metrics
- results dashboard
- comparison of saved analysis reports
- machine/session evaluation for ADC headroom and clipping
The first release is deliberately narrow. A focused workflow that works is better than a large unfinished platform.
The v0.1-alpha workflow is:
- Choose ECG setup in the Setup tab
- Record ECG-like signal in the Recorder tab
- Analyse R peaks and RR intervals in the Analysis tab
- View saved results in the Results tab
- Compare saved reports in the Compare tab
- Review machine/session status in the Machine tab
The current practical ECG configuration is:
| Body location | NPG Lite input |
|---|---|
| Right wrist / RA | A0P / CH input P |
| Left leg / LL | A0N / CH input N |
| Right leg / RL | REF / GND |
This is documented as:
RA-LL limb ECG / Lead-II-like
This wording is intentional. The current workflow is not claimed to be certified diagnostic Lead II ECG.
Current platform status:
- Windows 11: tested
- macOS: expected to work, not yet fully tested
- Linux: expected to work, not yet fully tested
The first tested development setup uses Python on Windows 11.
For detailed Windows installation instructions, see:
- docs/installation_windows.md
This guide gives two options:
- Manual installation
- ChatGPT-assisted step-by-step installation for beginners
For launch instructions, see docs/launching_openphysiologylab.md.
Clone or download the repository.
Open Command Prompt and go to the software folder:
cd /d path\to\OPL\software\OpenPhysiologyLabInstall dependencies:
python -m pip install -r requirements.txtLaunch:
python openphysiolab.pyAlternatively, double-click:
launch_openphysiologylab.batA local machine-specific launcher may also be present during development, but users should prefer the generic launcher when possible.
The Python requirements are listed in:
software/OpenPhysiologyLab/requirements.txt
Main dependencies:
- PyQt5
- pyqtgraph
- numpy
- pandas
- scipy
- pyserial
Begin with the walkthroughs in:
docs/walkthroughs/
Recommended order:
first_ecg_recording.mdanalogue_to_digital_ecg.mdecg_validation_workflow.md
These documents are written as different entry points into the same workflow, not as rigid audience categories.
OpenPhysiologyLab v0.1-alpha currently targets NPG Lite over USB serial.
NPG Lite is developed by Upside Down Labs.
For hardware details and purchase links, see docs/hardware_npg_lite.md.
For NPG Lite firmware upload instructions, see docs/firmware_flashing_npg_lite.md.
OpenPhysiologyLab is an independent project and is not officially affiliated with or endorsed by Upside Down Labs unless explicitly stated.
Do not use the Upside Down Labs name, logo, or branding in a way that implies official endorsement.
OpenPhysiologyLab saves recordings as folders containing files such as:
- raw CSV data
- metadata
- analysis reports
- machine/session evaluation information
The raw data should remain unchanged. Filtering, display inversion, and analysis should not overwrite raw recordings.
OpenPhysiologyLab is not a diagnostic medical device.
Do not use it to:
- diagnose disease
- guide treatment
- replace certified ECG equipment
- make emergency medical decisions
Use it for:
- physiology teaching
- open experimentation
- signal validation
- research prototyping
- low-cost educational workflows
Planned future directions include:
- stronger ECG validation workflows
- ECG simulator support
- improved cross-platform testing
- EMG workflow
- EOG workflow
- multi-channel acquisition
- EEG demonstration workflows
- better packaging and installation
- hardware documentation
- validation datasets
This project is released under the GNU General Public License v3.0.
See:
LICENSE
Physiology should not be locked behind expensive black boxes.
OpenPhysiologyLab aims to make the recording chain visible: electrode, machine, raw data, analysis, report, and interpretation.
The goal is not only to record signals.
The goal is to understand them.
Created and maintained by Dr Deepak S.
