Skip to content
TURFPTAx edited this page Jun 7, 2026 · 3 revisions

OpenMuscle AR/VR Wiki

Community knowledge base for getting the OpenMuscle WebXR client running on real headsets — setup walkthroughs, troubleshooting, and a chronicle of configurations that have actually worked.

The authoritative reference for setup procedure is docs/vr-setup.md in the OpenMuscle-Software repo (versioned alongside the code). This wiki extends it with screenshots, multi-OS paths, gotchas that are too version-specific to lock in, and a successes log.

Where to start

Goal Page
Just try it, simplest path (USB tethered, no certs) Quick Start
Untethered (walk around your house while wearing it) Cordless Setup mkcert HTTPS
Quest cert install — the hard part Quest Cert Install
Test the app against the hardware Testing Scenarios
Something broke Troubleshooting
What configurations have worked Successes Log

Quick context

The OpenMuscle WebXR client turns a Meta Quest 3 / 3S into a labeling rig and field-capture device for the FlexGrid muscle-sensing bracelet. Two modes:

  • VR mode (?mode=vr) — fully immersive, deliberate gesture training in a controlled space
  • AR mode (?mode=ar) — passthrough, real workspace visible, field-capture during natural activities

See the main OpenMuscle-AR README for the product overview, and the ROADMAP for what's next.

Contributing

This is a wiki — anyone with repo access can edit pages directly via the GitHub web UI (no PR needed). Especially welcome:

  • New entries in Successes Log when you get a fresh hardware/OS combination working
  • New entries in Troubleshooting when you hit (and resolve) something weird
  • Multi-OS setup paths (we have Windows covered; Linux + macOS contributions wanted)
  • Screenshots / video clips of the headset UI for steps that are hard to convey in plain text

If the change is to the procedure (the actual commands you run), prefer a PR to docs/vr-setup.md in OpenMuscle-Software — that's the canonical source. The wiki complements, doesn't replace.

Clone this wiki locally