RUKA Hand
Open-source 15-DoF tendon-driven humanoid hand learned from data, from NYU.
- No license stated for the printable parts
- robot hand11 DoF
- $519.94source total
About RUKA Hand
RUKA is an open-source, tendon-driven humanoid hand with 15 underactuated hand joints across five fingers, from NYU (Zorin, Guzey, Yan, Iyer, Kondrich, Bhattasali, Pinto; arXiv 2504.13165). The source code initializes 11 Dynamixel-compatible motors that drive the hand through tendon couplings, and the repository includes motor calibration, teleoperation, controller training, MuJoCo XML and STL meshes. The 3D view comes from the MuJoCo hand_assembly.xml model. The BOM lists the parts without a complete costed total.
Licenses
- Hardware
- No license stated for the printable partsMIT covers the software repo; the STLs on GitBook and Onshape state none
- Software
- MIT
- Docs
- CC-BY-SA-4.0project website only
Degrees of freedom
11 DoF ring 2index 2pinky 2thumb 3middle 2
Dexterous handTendon-drivenUnderactuatedsource
How to build RUKA Hand
5 stepsSteps marked Motari summary condense the linked source; follow the source for exact instructions. Upstream step marks a step taken from the linked guide.
Print the structural parts
Print the plate STL files from the GitBook 3D print parts page with the settings listed per plate: 100% infill for the pulleys and finger parts, 35% infill for the other plates, 0.12 mm layers (0.2 mm for the motorbase top, front and bottom plate) and supports on the build plate only. The MuJoCo files in the repo's assets folder are for simulation.
Motari summaryruka.gitbook.io/instructionsSource the BOM and assemble
Source the parts in the GitBook BOM sheet (11 DYNAMIXEL XL330-M288-T, U2D2, 5V power supply, braided fishing line, PTFE tubing, dowel pins, springs, brass inserts), then follow the GitBook assembly pages.
Motari summaryruka.gitbook.io/instructionsConnect and find the port
Plug each hand in over USB, identify its /dev/ttyUSB port, and set USB_PORTS in ruka_hand/utils/constants.py. Add your user to the dialout group.
Upstream stepgithub.com/ruka-hand/RUKA/blob/fe4f60805e7415bbeda8e7d49ef6f...Calibrate motor ranges
Run calibrate_motors.py to find the curled and in-tension bounds for each tendon, saved to motor_limits/. Tension varies per build, so calibration is required.
Upstream stepgithub.com/ruka-hand/RUKA/blob/fe4f60805e7415bbeda8e7d49ef6f...Run the learned controllers
Download checkpoints from OSF, then drive the hand with RUKAOperator using the learned LSTM/MLP encoder-decoder controllers, MANUS, or Oculus teleop.
Motari summaryruka.gitbook.io/instructions
Wiring, power and firmware are safety-relevant and shown for reference only. Check them against the source before building.
RUKA Hand bill of materials
7 rowsCost to build
- one hand, XL330-M288-T version, without tools, BOM as of 2024-12-19
- one hand with tools, including a printer, BOM as of 2024-12-19
In the source currency, as read on 2026-09-30. Not converted, and not checked against current vendor prices: none of these is a Motari-verified checkout total.
RUKA Hand parts, as the source lists them (read 2026-06-07). Prices are the source's, not checked against vendors.
| Part | Qty | Spec | Source | Confidence |
|---|---|---|---|---|
DYNAMIXEL XL330-M288-T11 actuators drive 15 tendon-coupled hand joints | 11 | DYNAMIXEL XL330-M288-T serial servo | ROBOTIS / compatible Dynamixel hardware$23.90 each (GitBook BOM sheet, Dec 2024)RUKA GitBook single-hand BOM sheet; hand.py motor IDs | high |
3D-printed RUKA hand mesh setPalm plus MCP/DIP/PIP parts for thumb, index, middle, ring, and pinky fingers | 1 | MuJoCo hand_assembly.xml references 16 source STL visual meshes | 3D print yourself from RUKA assets/xml/meshesprice not listedRUKA hand_assembly.xml lines 13-30 | high |
USB serial / Dynamixel interfaceUSB connection from workstation to hand motor bus | 1 | ROBOTIS U2D2 | ROBOTIS / compatible USB serial interface$32.10 (GitBook BOM sheet)RUKA README.md lines 63-65, constants.py line 14, dynamixel_util.py lines 51-75 | high |
Tendon cable and tensioning hardwareTendon-driven hand hardware requiring per-build motor-range calibration | 1 | Cable/tendon and mechanical tensioning components; tensions vary between builds | hardware retail / self-assembleprice not listedRUKA README.md lines 84-90 and 98-107 | med |
Controller workstation / host computerRuns installation, calibration, learned controllers, and teleoperation scripts | 1 | Conda/Python environment with RUKA package, checkpoints, and serial access | user-provided computerprice not listedRUKA README.md lines 23-32, 34-40 and 109-158 | high |
Optional MANUS glove teleoperation deviceOptional teleoperation input path | 0 | MANUS glove and Linux SDK stream client | MANUSoptional; price not listedRUKA README.md lines 177-203 | high |
Optional Oculus / Quest teleoperation deviceOptional teleoperation input path using OpenTeach Oculus app | 0 | Oculus/Quest headset with OpenTeach app | Meta / OpenTeach setupoptional; price not listedRUKA README.md lines 204-210 | high |
Rows from the source's own parts list 7
ruka_hand/control/hand.py@fe4f608python
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
RUKA motor count and Dynamixel client setup | 11 motor IDs | RUKA source repositoryno price listed | L31 |
ruka_hand/utils/dynamixel_util.py@fe4f608python
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
RUKA Dynamixel protocol evidence | source-described Dynamixel-compatible actuator bus | RUKA source repositoryno price listed | L9 |
ruka_hand/utils/constants.py@fe4f608python
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
RUKA finger motor map and USB ports | source-listed motor mappings and USB ports | RUKA source repositoryno price listed | L4 |
assets/xml/hand_assembly.xml@fe4f608xml
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
RUKA printable hand mesh set | 16 source STL mesh assets | RUKA source repositoryno price listed | L13 |
1 more source files with parts rows are listed under Files.
RUKA Hand source files
8 files- assets/xml/meshes/Palm.STL
- assets/xml/meshes/Thumb_MCP.STL
- assets/xml/meshes/Pinky_PIP.STL
- configs/train_controller_right_thumb.yaml
- configs/train_controller_left_index.yaml
- environment.yml
- README.md
- requirements.txt
Files stay in the upstream repository under their own licenses; these links open them there. The 3D model on this page is Motari's conversion of the file named under Simulation.
RUKA Hand in simulation
Robot description files a simulator or CAD tool can load, linked at the commit they were found.
- MJCF (MuJoCo)assets/xml/hand_assembly.xmlruka-hand/RUKA
- Onshapecad.onshape.com/documents/6be13b87a3aad01bd61ef6ab/w/86f8cbb...
The 3D specimen on this page is converted from assets/xml/hand_assembly.xml at fe4f608.
Builds of RUKA Hand
0 reviewedNo reviewed builds of RUKA Hand yet.
A build log records the evidence (photos, a video, your repository), what the build cost, how long it took and what you changed. Each one is checked by Motari (until a maintainer claims this page) before it shows here, and reviewed builds count toward the reproducibility score.
Sources and provenance
Sources
- Softwaregithub.com/ruka-hand/RUKAfe4f608
- Build guideruka.gitbook.io/instructions
- Bill of materialsdocs.google.com/spreadsheets/d/1bi4XM1knMoRTz975P-abTXNx2L5B...
- Hardwarecad.onshape.com/documents/6be13b87a3aad01bd61ef6ab/w/86f8cbb...
- Documentationruka-hand.github.io
Last push to ruka-hand/RUKA: 2025-08-11 (checked 2026-10-01)
Related links
- Checkpoints + dataOSF project hwajz
- RUKA paperarXiv 2504.13165
How this page was made
Assembled from public sources on 2026-06-04, not yet reviewed by the maintainer. Each figure links to where it is stated; a value the sources do not state reads "not published". Last source review: source-reviewed 2026-06-07.
Original files stay intact and separately licensed; Motari adds only the summary on this page. Maintainer? Request a correction or removal.
Badge for the README
Maintain RUKA Hand? Show its reproducibility score in the project's README. The badge links back to this page and updates with the score.
[](https://motari.io/r/ruka-hand)<a href="https://motari.io/r/ruka-hand"><img src="https://motari.io/api/v1/badge/ruka-hand" alt="Motari reproducibility score for RUKA Hand" height="20"></a>Not fully met yet: bom evidence (partial), wiring diagram (partial), oshw-compatible license. The score is read from the project's own sources, so publishing what is missing is what raises it. A score of 90 or more needs a reviewed build. How the score is computed