I’ve been exploring wrist EMG as an input path for VR/AR. This post shares a small, reproducible pipeline:

EMG AFE → MCU with DMA/ISR preprocessing → Linux SBC Rust service → record→analyze→replay tools → metrics dashboards.

The aim isn’t a SOTA classifier; it’s system engineering: clear interfaces (UML/ICDs), timing budgets, and testability.

Repo: https://github.com/aarzhoca/vr-wrist-emg-lab GitHub Repo stars License

What’s in the repo

  • A host Rust service exposing /ingest and Prometheus /metrics
  • Record/replay Python tools for deterministic debugging
  • Text UML/ICD notes to align HW/FW/ML
  • A firmware placeholder describing DMA/ISR capture, fixed-point preprocessing, and transport

Quick start (host service)

```bash cd host_rust_service cargo run

New shell:

python tools/record_replay/record.py –outfile data/run1.bin python tools/record_replay/replay.py –infile data/run1.bin –endpoint http://localhost:9090/ingest