A portable motion capture system for manual wheelchairs, built as a clip-on kit for pediatric rehabilitation. The sensing stack measures wheel motion, chair orientation, and surroundings; therapy games (propulsion, turning, braking, precision) are applications on top of that telemetry.
The kit is non-invasive: magnets clip to spokes, the electronics box mounts to the frame, and nothing is permanently modified.
| Primitive | Source |
|---|---|
| Speed, distance, push count, direction | Hall sensors (A3144) + N35 magnets on spokes |
| Heading, tilt, smoothness (jerk), wheelies | MPU-6050 IMU (accel + gyro) |
| Obstacles, doorways, wall-following | HC-SR04 ultrasonic array |
| Start/stop, game input | Buttons / touch module / voice via companion app |
Controller: Glyph-C6 (ESP32-C6, WiFi 6 + BLE 5, 20 GPIO).
firmware/ PlatformIO project for Glyph-C6 — one lib/ module per concern
protocol/ Versioned JSON schemas: THE contract between firmware & apps
tools/ Python: record serial logs, replay algorithms offline, calibrate
apps/ Game dashboard (web client consuming protocol/)
hardware/ Mounts (3D print), wiring diagrams, BOM
docs/ Architecture, wiring, sensor notes, protocol spec, research
scripts/ setup / flash / ci helpers
./scripts/setup.sh # install Python tools (+ PlatformIO check)
pytest tools/ # algorithm tests (no hardware needed)
./scripts/flash.sh # build + flash firmware to Glyph-C6Record one serial log from the kit, then develop algorithms offline:
python tools/record/capture_serial.py --port /dev/ttyACM0 --out data/session1.jsonl
python tools/replay/replay.py data/session1.jsonlScaffold stage: firmware skeleton (encoders, IMU, ultrasonic, odometry, push
state machine, JSON telemetry over Serial), Python algorithm twins with tests,
protocol v1 schemas, CI for firmware build + tool tests. See docs/.
MIT — see LICENSE.