Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 1.58 KB

File metadata and controls

51 lines (39 loc) · 1.58 KB

Ghost Hands Web UI

Web interface for managing Ghost Hands arms over USB serial. Connect, calibrate, monitor, and control both arms from one place. Works with any board the firmware supports (ESP32-WROOM-32, XIAO ESP32-C3, XIAO ESP32-S3).

Architecture

Browser (React + Tailwind)
    ↕ River WebSocket (ws://localhost:3001)
Node Server (River services + SerialManager)
    ↕ USB Serial (115200 baud)
ESP32 (Leader / Follower)

Quick Start

cd web
pnpm install
pnpm dev          # runs the River server + Vite dev server together (UI on :5173)

Or run them separately:

pnpm dev:server   # River server only
pnpm dev:vite     # Vite dev server only

Tabs

  • Connection — Scan for ESP32 USB ports, connect as leader/follower
  • Monitor — Live 10Hz position/load/temp gauges for all 6 joints
  • Calibrate — Interactive calibration wizard (center → sweep → save)
  • Controls — Gain slider, servo ping, show/clear calibration

River Services

ConnectionService

  • listPorts — List ESP32 USB serial ports
  • connect / disconnect — Manage serial connections
  • connections — Get current connection states
  • connectionStatus — Subscription for connect/disconnect events

ArmService

  • getStatus — Parsed status from s serial command
  • setGain — Set bilateral gain (0.0–2.0)
  • ping — Check all 6 servos respond
  • getCalibration / clearCalibration — Manage calibration data
  • armState — 10Hz subscription streaming position/load/temp
  • calibrate — Bidirectional stream for interactive calibration wizard