emgteach: an open-source teaching platform for surface electromyography
Authors/Creators
- 1. Department of Physiology (Faculty of Pharmacy), Universidad Complutense de Madrid, Madrid, Spain
Description
emgteach is an open-source Python package that provides a unified PySide6 desktop application for real-time acquisition, offline analysis and maximum voluntary contraction (MVC) normalisation of surface electromyography (sEMG) signals. It is designed for hands-on biopotential acquisition in undergraduate physiology teaching laboratories, and is meant to be set up by instructors with different levels of technical background and used directly by students during a practical session.
The application is hardware-agnostic through a common AcquisitionDevice interface and ships with two interchangeable low-cost backends: BITalino (revolution) over Bluetooth, and an Arduino RedBoard Plus + MyoWare 2.0 over USB serial (open firmware included). A single setting switches between them.
Main features:
- Three-tab GUI (Acquisition, Analysis, MVC normalisation) wrapping a reusable, Qt-free analytic core.
- Bilingual interface (English / Spanish) with automatic start-up language detection and an in-app language switch.
- Two-channel acquisition (e.g. agonist/antagonist) with a stacked two-channel live view.
- Automatic contraction-onset detection (baseline + k·SD threshold) stored as EDF+ annotations.
- Muscle-load analysis (Jonsson APDF): static (P10), median (P50) and peak (P90) %MVC levels, both offline and as a live monitor with warning/danger zones.
- One-click PDF session and MVC/muscle-load reports.
- Reliable EDF+ output using a buffered-write pattern that avoids a silent file-corruption artefact during continuous streaming.
- Reproducible synthetic signals for class assignments and hardware-free continuous integration.
- Assisted selection of significant fragments, with an editable fragment editor (detection parameters and envelope-filter cut-offs) applied to the analysis.
- Region-of-interest analysis, CSV export of results, and a live signal-quality check during recording.
- An ECG signal profile alongside EMG, selectable through a profile registry.
emgteach runs on Windows, macOS and Linux with Python 3.10–3.12, is covered by a suite of 216 automated tests, and is released under the GPL-3.0-or-later license. Source code, documentation and issue tracker: https://github.com/aagisto-maker/emgteach
Files
aagisto-maker/emgteach-v1.2.0.zip
Files
(287.7 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:f83aa12d6a2bd9d39deed80ef0a41186
|
287.7 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/aagisto-maker/emgteach/tree/v1.2.0 (URL)
Software
- Repository URL
- https://github.com/aagisto-maker/emgteach