VCP6
A six-axis desktop arm learning to play mahjong
2026-08 — 2026-09
Built VCP6, a six-axis desktop arm derived from the open-source PAROL6, with the controller rewritten from scratch on a Teensy 4.1 and six TMC2209 drivers. Replaced every belt with GT2 and wrote an iPhone app that streams ARKit pose over USB to teleoperate the arm and record demonstrations.
Trained a diffusion policy on those demonstrations to pick up and rotate mahjong tiles, running at 15 Hz from wrist, overhead and side cameras.
- 1Controller — Teensy 4.1, six TMC2209
- 2J1, base rotation — GT2 128T/20T
- 3J2, shoulder — 20:1 planetary
- 4J3, elbow — GT2 63T/57T
- 5J4 and J5, wrist — GT2 72T/18T
- 6Tool flange — gripper and wrist camera
- Controller
- Teensy 4.1
- Drivers
- Six TMC2209, SpreadCycle
- Step generation
- 200 kHz step generation; trapezoidal planner at 1 kHz
- Transmission
- GT2 belts; 20:1 and 10:1 planetary gearboxes at J2 and J6
- Gripper
- Printed OV/UMI gripper on an SG90 servo
- Cameras
- Wrist, overhead and side, 640 × 360 at 30 Hz
- Teleoperation
- iPhone ARKit pose over USB at 60 Hz
- Policy
- Diffusion policy; ResNet18 per camera, conditional UNet1D, action horizon 16