MyoScope μPy: Design, Fabrication, and Validation of a Fully Open-Source, Low-Cost 4-Channel sEMG Platform Using Passive Dry Electrodes and MicroPython

Published: 10 March 2026| Version 3 | DOI: 10.17632/84n9kfvnr5.3
Contributors:
,
,
,
,
,

Description

Supplementary design files and experimental validation data for the MyoScope μPy, an open-source, low-cost (<$46 USD) 4-channel surface electromyography (sEMG) acquisition system using passive stainless-steel dry electrodes. This dataset contains: 1) Hardware_Design/: EasyEDA schematic and PCB layout files (JSON format) for both the main power management shield and the analog acquisition module, plus a complete project archive (ZIP). 2) Firmware/: MicroPython source code (main.py) for the Pyboard v1.1 (STM32F405), implementing a triple-buffering architecture for deterministic 4-channel ADC sampling at 2500 Hz with continuous microSD storage. 3) 3D_Model/: CAD files (DWG) and technical drawing (PDF) for the 3D-printed electrode bracelet. 4) Validation_Data/: Raw binary sEMG recordings (.bin, uint16 little-endian, 4 channels interleaved at 2500 Hz) from three experimental scenarios: shorted-input noise floor characterization (8 files, 240 s), floating-electrode electromagnetic susceptibility testing (36 files, 1080 s), and signal-to-noise ratio evaluation during rest and maximal voluntary contraction (28 files, 840 s). Includes Python analysis scripts (NumPy, SciPy, Matplotlib) and publication-quality figures (PDF). 5) Battery_Testing/: Charge and discharge profiles of the Li-Ion battery recorded with an external RP2040-based datalogger equipped with an INA226 current sensor at 8 Hz. Includes raw binary data, the datalogger firmware, and plotting scripts. All hardware designs are licensed under CC BY 4.0. Associated article submitted to HardwareX.

Files

Steps to reproduce

ARDWARE FABRICATION: 1. Open the EasyEDA project files from Hardware_Design/ in the EasyEDA editor (https://easyeda.com). 2. Export Gerber RS-274X files and order PCB fabrication (e.g., JLCPCB, 2-layer FR4, 1.6 mm). 3. Solder SMD components according to the Bill of Materials provided in the associated article. 4. Print the electrode bracelet using the STL file from 3D_Model/ (FDM, PLA recommended). FIRMWARE DEPLOYMENT: 1. Copy Firmware/main.py to the Pyboard v1.1 flash storage via USB mass storage mode. 2. Insert a FAT32-formatted microSD card. 3. Power on the system; acquisition starts automatically. DATA ANALYSIS REPRODUCTION: 1. Install Python 3.8+ with: pip install numpy scipy matplotlib 2. Place raw .bin files in the same directory as the corresponding analysis script. 3. Run the scripts from Validation_Data/Scripts/: - analysis_shorted_input_noise.py: Computes IRN, ENOB, and noise floor metrics. - analysis_floating_electrode.py: Evaluates electromagnetic susceptibility. - analysis_notch_60hz_filter.py: Characterizes Twin-T notch filter performance. - analysis_snr_comparison.py: Calculates SNR between rest and MVC phases. 4. For battery characterization, run scripts from Battery_Testing/Scripts/: - plot_charge_profile.py and plot_discharge_profile.py OUTPUT: All scripts generate publication-quality PDF figures and print tabulated metrics to console.

Categories

Signal Processing, Biomedical Engineering, Electronic Engineering, Electromyography

Licence