Recent advances in surface electromyography (sEMG) decoding, such as Meta’s EMG2Pose, EMG2QWERTY datasets, and their associated pretrained models, have demonstrated high-accuracy hand-pose and typing reconstruction. However, these breakthroughs rely on Meta’s proprietary acquisition hardware (sEMG-RD), limiting reproducibility and broader utility for independent research and open development. This repo aims to make the hardware, data, model pipeline transparent, modifiable, and benchmarkable.
open-sEMG-16 will be a 16-channel, high-fidelity, wrist-wearable sEMG platform built from commercially available components, with design files + firmware to enable end-to-end reproducibility.
High-level modules (see top-level folders):
Hardware/— open-sEMG-16 hardware stack (schematics/PCB, electrode layout, enclosure notes, firmware hooks, bring-up docs).- (future)_
acquisition/— acquisition + preprocessing utilities (streaming, windowing, filtering, normalization, dataset I/O, evaluation harness). - (future)
data/— dataset organization, conversion scripts, and format docs (raw → aligned → windowed → model-ready). - (future)
hand-joint-labeling/— tooling for pose labeling / alignment (e.g., joint definitions, coordinate frames, annotation utilities). Weareable sEMG Report.pdf— a PDF report summarizing the design and development of the wearable sEMG platform, including a review of hardware design choices, justification of our component choices, and introduction to the data collection pipeline.Documents/ — remaining design docs, physiology summaries, meeting notes, and other internal documentation.
Status: still in active development; APIs and folder contents may shift. We aim to keep experiments config-driven and results reproducible as the codebase stabilizes.
This repo is organized around a reproducible pipeline:
- synchronized multi-channel sampling
- timestamping + packetization
- stream integrity checks (drop detection, reordering, CRC if available)
- host-side capture and persistent storage
- band-pass filtering (and optional notch)
- per-channel normalization (robust stats recommended)
- windowing (fixed-length frames with overlap)
- optional time–frequency transforms (e.g., STFT / filterbanks) for encoder variants
- augmentation hooks to simulate electrode shift / noise / drift
- consistent hand model definition (joint ordering, DoFs, coordinate frame)
- alignment utilities for pose timestamps vs EMG timestamps
- split generation for cross-user / cross-session / cross-placement evaluation
- Emir Sahin
- Karen Chen Lai
- Yasser Noori
- Oscar
- Jazia
- Clarissa
-
emg2pose: A Large and Diverse Benchmark for Surface Electromyographic Hand Pose Estimation (2024) https://arxiv.org/abs/2412.02725
-
emg2qwerty: A Large Dataset with Baselines for Touch Typing using Surface Electromyography (2024) https://arxiv.org/abs/2410.20081
-
A generic non-invasive neuromotor interface for human-computer interaction (Nature, 2025) https://www.nature.com/articles/s41586-025-09255-w
-
Meta blog: Advancing Neuromotor Interfaces by Open Sourcing sEMG Datasets (2024) https://ai.meta.com/blog/open-sourcing-surface-electromyography-datasets-neurips-2024/
will include list of components and their associated datasheets

