Research and data

Open Data,
Honest Baselines

Forearm force-myography recordings with continuous finger flexion and extension labels (per-frame regression targets, not gesture classes), built for researchers in human-machine interfaces, prosthetic sensing and VR interfaces. OpenMuscle also publishes its analysis code and a paper that reports how well finger prediction from the forearm really generalizes. Everything is free to use under open licenses.

Where this stands: the paper is a preprint draft and has not been peer reviewed. Its main analysis covers two wearers and four sessions on one hardware revision (FlexGrid V4), with a smaller legacy subset from a single V3 band, so conclusions about transfer across wearers are directional, not definitive. The numbers below are reported as they are, including the unflattering ones.

The dataset

Labeled and raw sensor capture sessions from OpenMuscle wearables, published for machine learning research on hand and forearm biomechanics. The data is free to use, including commercially, under CC BY 4.0 with attribution to the OpenMuscle project. It grows as new sessions are recorded.

What is in the dataset

Config Captures Board Labels Recorded
lask5_labeled default 23 FlexGrid V3 (20), earlier pre-V4 board not recorded (3) LASK5 handheld labeler, 4 piston targets May 2026
quest_labeled 25 FlexGrid V4 (14), FlexGrid V3 (11) Meta Quest hand tracking, 25 joints per hand May to July 2026
legacy_2025 13 2025 prototype band LASK5, 4 piston targets, partial coverage July 2025
supplementary_unlabeled 14 2025 prototype band (13), earlier pre-V4 board not recorded (1) None (long unlabeled streams) July 2025 to May 2026

75 captures in all.

Wearers: the dataset codes the two wearers as P01 and P02. The paper calls them W1 and W2.
Splits: evaluate with a temporal split or leave-one-session-out. Random row splits overstate skill, because neighbouring frames are near-duplicates (see the baseline results).

What the GitHub archive holds

Folder Contents
flexgrid/ FlexGrid prototype capture sessions from 2025 (CSV, 60 or 64 pressure cells; the GitHub README labels them V3)
merged/ Merged multi-session training CSVs produced by the PC pipeline
curated/ Hand-picked good sessions from early capture runs
legacy/ Early prototype captures (txt) from pre-FlexGrid devices

The repository README is the authoritative description of what is published today.

Device and signal (as used in the paper)

Band FlexGrid V4, ESP32-S3 controller on a flexible sensor sheet
Sensing 15 x 4 grid, 60 Velostat pressure cells, about 12-bit readings
Rate and link 17 to 19 Hz per band, streamed over Wi-Fi UDP
Motion 6-axis IMU on the band
Labels Meta Quest hand tracking (25-joint poses) on V4. The LASK5 handheld piston labeler was used on the earlier V3 band; no V4 recording is LASK5-labeled yet

The paper's analysis set

Wearers 2
Sessions 4 (8 two-hand captures)
Paired sensor-label frames about 22,300 (11,145 left hand, 11,146 right hand)
Targets 15 wrist-relative finger degrees of freedom per hand

Licenses

Dataset CC BY 4.0
Hardware CERN-OHL-S-2.0
Software MIT

The paper

Preprint draft

OpenMuscle: Forearm Force-Myography with VR Hand-Tracking Ground Truth: Dataset and Honest Baselines

Tory Moghadam, OpenMuscle, 2026

The paper presents an end-to-end open system that pairs low-cost 60-cell forearm force-myography bracelets with consumer VR hand tracking as an automatic ground-truth labeler. It releases a first two-wearer dataset and reports baselines under a four-rung generalization ladder, from a random split within a session up to prediction across wearers.

Every number and figure regenerates from the raw captures with analysis/paper/analyze.py and figures.py.

Baseline results: the generalization ladder

One deliberately simple model, evaluated four ways. The same model family scores very differently depending on how hard the test is, which is why every rung is reported. Error is the mean finger-flexion MAE as a fraction of full curl, averaged over sessions and both hands. Lower is better.

Rung Protocol Flexion MAE Joint angle MAE Typical flexion R²
E1 Within one session, random 80/20 split 0.043 4.9 deg per joint 4.1 to 6.0 deg 0.84 to 0.91
E2 Within one session, temporal split (train on the first 80% of the timeline) 0.110 12.7 deg per joint 7.8 to 18.7 deg 0.21 to 0.77
E3 Across sessions, same wearer (train on one session, test on another) 0.24 0.16 and 0.33 by wearer 16 to 42 deg at most 0.35, often below 0
E4 Across wearers (train on all of one wearer, test on the other) 0.27 27 to 32 deg below 0 in every case
1

Random splits flatter the model about 2.6x

E1 and E2 use identical data and the same model; only the split differs. At 17 to 19 Hz, neighbouring frames are near-duplicates, so a random split leaks near-copies of test frames into training.

2

Re-donning the band rivals changing the wearer

Taking the band off and putting it back on the same day cost 0.16 flexion MAE. Five days and a re-donning apart cost 0.25 to 0.42, as bad as or worse than testing on a different wearer (0.27). Band placement is the dominant obstacle.

3

Within a session, it is usable today

About 5 degrees per joint under a random split and about 13 degrees under a temporal split. That is enough for live per-hand "ghost hand" rendering, from training to prediction in under a minute on consumer hardware.

The model: one random forest (100 trees) per hand per condition, mapping the 60 raw cell values of a single frame to 15 wrist-relative finger targets. No temporal context, calibration or normalization. It is a floor, chosen so that differences between protocols cannot be blamed on model capacity. Temporal models and per-session calibration are the obvious next experiments.
Limits: two wearers, four sessions, one hardware revision (FlexGrid V4). VR hand tracking is itself an estimator, so label noise is reduced but not eliminated. Flexion is normalized with nominal joint ranges rather than per-person calibration.

How to cite

If you use the data, please cite the dataset by its DOI. If you use the results or the hardware designs, cite the paper as well. Either way, credit the OpenMuscle project, as CC BY 4.0 asks. The paper DOI is pending and will be added here once it is issued.

Plain text (paper)

Moghadam, T. (2026). OpenMuscle: Forearm Force-Myography with VR Hand-Tracking Ground Truth: Dataset and Honest Baselines. https://openmuscle.org/research (DOI pending)

BibTeX (paper and dataset)

@misc{moghadam2026openmuscle,
  author = {Moghadam, Tory},
  title = {{OpenMuscle: Forearm Force-Myography with VR Hand-Tracking Ground Truth: Dataset and Honest Baselines}},
  year = {2026},
  url = {https://openmuscle.org/research},
  note = {DOI pending},
}

@misc{moghadam2026openmusclefmg,
  author = {Moghadam, Tory},
  title = {{OpenMuscle FMG dataset}},
  year = {2026},
  publisher = {Hugging Face},
  doi = {10.57967/hf/11416},
  url = {https://huggingface.co/datasets/openmuscle/openmuscle-fmg},
}

Author: Tory Moghadam, ORCID 0009-0001-8126-247X.