
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
electromyography, EMG, biopotential, open-source-hardware, MyoWare, physiology, Arduino, EDF, BITalino, teaching, EDF+
electromyography, EMG, biopotential, open-source-hardware, MyoWare, physiology, Arduino, EDF, BITalino, teaching, EDF+
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
