LinkerBot O6

A 5-finger dexterous hand system with 12 DOF, glove-style teleoperation controller, 16-region tactile sensing, and USB serial integration. Three commands from unboxing to a live browser teleop session.

12
Degrees of Freedom
16
Tactile Regions
580 g
Hand Weight
15 min
Setup Time

Full Hardware Specs

VendorLinkerBot / Linker / Juqiao
Total DOF12 per hand (5 fingers, 2-3 DOF each)
Fingers5 per hand, individual bend sensors
Tactile Regions16 per hand (capacitive)
Payload (per finger)~500 g tip pinch / ~2 kg power grasp
Repeatability±0.5 mm fingertip position
Max Finger Speed~300 deg/s
Hand Weight~580 g (hand unit only)
Power Supply12V DC, 3A peak
Hand SupportLeft and right, simultaneous
InterfaceUSB Serial (/dev/ttyUSB0 Linux, COM* Windows)
Baud Rate921600
ProtocolJuqiao framing (AA 55 03 99 header)
Control Rate50 Hz command loop
Operating Temp0 - 45 C
SDKpip install roboticscenter (Python 3.8+)
ROS2 Packagelinkerbot_o6_ros2 (Humble / Iron)
Full Specs →

Use Cases

The LinkerBot O6 is designed for research labs, educational institutions, and data collection workflows that need reliable dexterous manipulation at an accessible price point.

Imitation Learning Data Collection

Pair with the glove controller to record dexterous manipulation demonstrations at 50 Hz. Episodes export as JSONL, compatible with ACT, Diffusion Policy, and custom pipelines via the SVRC data platform.

Manipulation Research

16 tactile regions give per-finger contact feedback for grasp stability analysis, slip detection, and in-hand regrasping experiments. Publish tactile data alongside joint state to ROS2 topics.

Robotics Education

The 15-minute setup time and browser-based teleop panel make O6 ideal for university courses and workshops. Students go from unboxing to a working teleop demo in a single lab session.

End-Effector Integration

Standard flange adapter mounts O6 on OpenArm 101, UR5e, Franka, or Kinova arms. The USB serial protocol means no CAN bus wiring -- just one cable to the host.

Why Choose the O6 Over Alternatives

Fastest Setup in Class

Three commands from unboxing to live browser teleop. No firmware flashing, no CAN bus wiring, no ROS dependency. Plug USB, install SDK, launch session. Most competing hands require 2-4 hours of setup including driver installation and bus configuration.

Integrated Glove Teleoperation

Ships with a matched glove controller for intuitive data collection. Calibrate open/closed fist, then record demonstrations immediately. Competing hands (Orca, Allegro) require separate teleoperation hardware purchased and integrated separately.

Built-In Tactile Sensing

16 capacitive tactile regions per hand included out of the box. No aftermarket sensor integration needed. The Allegro Hand has zero tactile sensing stock; the Orca Hand requires Paxini sensors added separately.

Cost-Effective for Labs

Priced well below the Shadow Hand ($100K+) and Allegro Hand ($15K+), the O6 provides 12 DOF and tactile sensing at a fraction of the cost. Leasing starts at a monthly rate that makes dexterous manipulation accessible to teaching labs and startups.

Dexterous Hand Comparison

Feature LinkerBot O6 Orca Hand Allegro Hand Leap Hand
DOF12171616
Fingers5544
Tactile Sensing16 regions (included)Add-on (Paxini)None stockNone stock
Glove TeleopIncludedSeparate purchaseSeparate purchaseSeparate purchase
Setup Time~15 min~3-4 hrs~2 hrs~1 hr
InterfaceUSB SerialUSB SerialCAN / EtherCATUSB Serial
Open SourceSDK onlyFull (MIT)NoFull (MIT)
Approx. PriceContact for quote~$2K BOM (DIY)~$15K+~$2K BOM (DIY)
Best ForFast data collectionResearch customizationHigh-torque researchLow-cost research
Compare All Hardware →

Python SDK & ROS2 Package

Control the O6 from Python in under 10 lines. The SDK handles serial framing, tactile decoding, and glove calibration automatically.

Python SDK -- Joint Position Control

# pip install roboticscenter from roboticscenter import LinkerBotO6 # Auto-detect USB port and connect hand = LinkerBotO6.connect() # Read current joint positions (12 floats, normalized 0-1) joints = hand.get_joint_positions() print(f"Current positions: {joints}") # Command a pinch grasp (thumb + index close) hand.set_finger("thumb", position=0.8) hand.set_finger("index", position=0.8) # Read 16-region tactile data tactile = hand.get_tactile() print(f"Tactile: {tactile}") # Start recording to JSONL hand.start_recording("episode_001.jsonl")

ROS2 Integration

# Install ROS2 package (Humble / Iron) cd ~/ros2_ws/src git clone https://github.com/svrc/linkerbot_o6_ros2.git cd ~/ros2_ws && colcon build # Launch driver node -- publishes: # /linkerbot/joint_states (sensor_msgs/JointState) # /linkerbot/tactile (std_msgs/Float32MultiArray) ros2 launch linkerbot_o6_ros2 driver.launch.py port:=/dev/ttyUSB0

Guides & SDK Docs

Everything from protocol internals to platform integration and data collection.

Community

Have a question or want to share your setup?

SVRC Forum → FAQ →

Pricing & Availability

Purchase
Custom Quote
Request Quote
Monthly Lease
Available
Lease Options

Pricing depends on hand configuration (left/right/pair), glove bundle, and quantity. Ships worldwide from Mountain View, CA. Talk to our team for volume pricing or demo units.

Ready to Start?

Three commands from unboxing to a live browser teleop session.