BrainCo Revo II Community
Frequently asked questions, troubleshooting tips, and community resources for the BrainCo Revo II bionic hand.
Common Questions
What is the USB baud rate for the BrainCo Revo II?
The BrainCo Revo II communicates over USB-CDC (USB serial) at 115200 baud. Open the port at exactly 115200 — any other rate will produce unreadable output. The device enumerates as /dev/ttyACM0 on Linux or a COM port on Windows. Commands are newline-terminated JSON strings.
What are the BLE GATT UUIDs for the BrainCo Revo II?
The BrainCo Revo II exposes a BLE GATT service with UUID 0000ffe0-0000-1000-8000-00805f9b34fb. Write commands to characteristic 0000ffe1-0000-1000-8000-00805f9b34fb and subscribe to notifications on 0000ffe2-0000-1000-8000-00805f9b34fb. The same JSON command format is used over both USB and BLE transports.
How does the piano key press mode work?
Piano mode executes a 4-phase press sequence per finger: Phase 1 (20 ms) extends the finger to a neutral hover position (0.15 closure); Phase 2 (30 ms) drives the finger down to the press depth proportional to the velocity parameter (0.55–0.95 closure); Phase 3 holds the key depressed for the requested duration; Phase 4 (20 ms) retracts back to hover.
Different fingers can press concurrently — per-finger asyncio locks prevent dropped notes.
How do I calibrate the BrainCo Revo II fingers?
Send the calibrate command: {"cmd": "calibrate"}. This triggers a per-finger wave sequence: the hand opens fully, then each finger from thumb to pinky closes to 90% and opens again with a 120 ms step between movements. After the wave completes, all fingers settle at the neutral hover position (15% closure). The firmware uses this sequence to establish per-finger travel limits.
Can I control the BrainCo Revo II without a physical device?
Yes. Run brainco_revo_agent.py --mock --session YOUR_SESSION_ID to start a fully simulated hand. Mock mode includes Gaussian noise on position readings, realistic command-count tracking, and the full piano press timing sequence. All platform teleop features — finger position bars, press indicators, session recording — work identically without hardware. You can also run a self-test with --self-test which exercises all API methods.
What is the thumb rotation ratio on the BrainCo Revo II?
The BrainCo Revo II thumb has 2 DOF: flexion and rotation. When setting thumb position via the unified API, rotation is derived as a fixed fraction of the flexion value: rotation = flexion × 0.4 (THUMB_ROTATION_RATIO). This means at 50% thumb closure the rotation actuator moves to 20% of its range. Index through pinky each have 1 DOF (flexion only).
My serial port is "permission denied" on Linux. How do I fix it?
Add your user to the dialout group: sudo usermod -aG dialout $USER. Log out and back in for the group change to take effect. Verify with groups — you should see dialout listed. Then retry opening the port.
What is the difference between set_finger and set_pose?
set_finger controls a single finger: {"cmd":"set_finger","finger":N,"position":P} where N is 0–4 and P is 0–100 (percent). set_pose sets all five fingers atomically in one command: {"cmd":"set_pose","positions":[p0,p1,p2,p3,p4]} — preferred for low-latency simultaneous pose updates.
Community Resources
Have a question or want to share your dexterous manipulation research?
Community Forum → Developer Wiki → Contact Support →Related Hardware
Other hardware that pairs well with the BrainCo Revo II.
Booster K1 Humanoid
Attach the Revo II as a bionic end-effector to the K1 for full humanoid dexterous manipulation experiments.
VLAI L1
Mobile dual-arm manipulator — mount the Revo II on the L1 arm for mobile dexterous manipulation.
OpenArm 101
Collaborative arm that can be equipped with dexterous end-effectors for tabletop manipulation research.
LinkerBot O6
Glove-based teleoperation — use the LinkerBot O6 to teleoperate the Revo II for demonstration capture.