PHD-Hand

PHD‑Hand

Printable Humanoid Dexterous Hand

A dexterous humanoid hand with three actuated degrees of freedom in every digit, driven entirely by linkages. A single 3D-printed flexure hinge at the root of each digit keeps the part count low enough to build on a budget 3D printer, at close to human size.

Read the paper

Open-source release coming soon

Specifications

Digits
1 thumb + 4 fingers
Actuated DOFs per digit
3: two at the root, one for the coupled upper joints
Total actuated DOFs
15
Drivetrain
Fully linkage-driven, no tendons or gear trains
Root joint
2-DOF TPU flexure hinge
Upper joint coupling
Cross 4-bar, ratio 0.77
Hand length
About 200 mm
Major parts per digit
18
Actuators
Generic mini RC servos, mounted off the digits
Controller
Pololu Mini Maestro 18
Backdrivable
Yes, every DOF in both directions
Testing so far
About 200 hours on one prototype

The flexure hinge

The one part that makes a fully linkage-driven 3-DOF digit simple.

The root of each digit is a single printed TPU part shaped like the strain relief on a cable connector. It tilts in two directions, for flexion and side-to-side motion, while resisting twist.

Because it bends gently instead of folding sharply, a 0.6 mm spring steel rod can pass straight through its center to drive the upper two joints in both directions. Bending the hinge doesn't push or pull that rod, so the root joint and the upper joints are completely decoupled. Tilting the root never disturbs the finger's curl, and the reverse holds too.

Two RC servos tilt the root through two rigid drive rods and four ball joints, a layout that grew out of the classic planar 5-bar. A cross 4-bar couples the upper two joints at a ratio of 0.77, within the 0.75 to 0.8 range measured in human fingers. Its coupling rod runs outside the middle phalanx, so it can be shaped to add some passive compliance during contact.

The root joint's forward kinematics is close to linear: flexion follows the average of the two servo angles and side tilt follows their difference. An affine fit stays within 1.8° over most of the range and within 2.7° everywhere.
Diagram of one digit showing the flexure root joint, rigid drive rods, spring steel elastic drive rod, coupling rod, and flexible upper joints
One digit: the 2-DOF flexure root joint, rigid drive rods, spring steel drive rod, and coupling rod.
Red TPU flexure hinge being 3D printed horizontally with a 0.4 mm nozzle
The flexure prints flat, with no supports.

Print settings for the flexure

MaterialTPU 95A
Nozzle0.4 mm at 215 °C
Bed55 °C, with an enclosure
Speed100 mm/s
Layer height0.15 mm
Infill15%
OrientationHorizontal, no supports

How it compares

Against other hands that are fully linkage-driven, with at least three actuated DOFs per digit and all actuators off the digits.

PHD-HandKim et al. 2021 and follow-upsLinkerbot L20 (commercial)
Major parts per digit1827+Unknown
FabricationDIY on a budget 3D printerIndustrialIndustrial
Root and upper joint kinematicsCompletely decoupledPartially coupledUnknown
BackdrivableYesNoUnknown
Hand lengthAbout 190 mm218 to 255 mmAbout 225 mm

What it can do

Thumb opposition, the full GRASP taxonomy, and in-hand manipulation.

In-hand manipulation

Relocate and flip. The hand shifts a jar in its grip until the index finger can reach the lid, then flips it open. That takes the thumb and index finger coordinating with the other three digits, plus the index finger's full range and strength.

Precision screwdriver. The thumb and middle finger alternate between retracting and spinning the driver without pushing it out of the index finger's hold.

Wrench worm screw. The thumb rolls the worm screw outward to close the jaws. Tendon-driven hands that rely on springs to extend their digits can't do this, so it shows true bidirectional actuation.

Sequences of the hand flipping open a lid, spinning a precision screwdriver, and thumbing the worm screw of a crescent wrench
(a) relocate and flip, (b) screwdriver, (c) worm screw.

Control from the browser

A web GUI talks to the Mini Maestro directly. Nothing to install.

  • A 2-DOF pad per digit for jogging the root joint, plus a slider for the upper joints
  • Calibration for the zero, direction, and range of every DOF
  • Preset postures, and recording, saving, and replaying motions

The GUI and the motion trajectories, including the cube rotation above, were generated with Claude from a plain-text description of the hand and refined against the real prototype.

Screenshot of the hand controller GUI with per-digit jog pads, calibration sliders, posture buttons, and record and playback controls
The control GUI.

Files

Everything needed to print, wire, and run the hand, coming soon in the GitHub repo.

PackageWhat's insideFormatStatus
CAD Full hand assembly and editable models of every part, including the modular digits. STEP, Fusion 360 Coming soon
Print files Print-ready parts with materials and settings: TPU 95A for the flexures and upper joints, PETG or TPU for the phalanges. STL, 3MF Coming soon
Control GUI Browser controller with jog pads, calibration, preset postures, and record and playback. HTML, JS Coming soon
Motions Saved postures and trajectories, including the in-hand cube rotation. .prim Coming soon
Bill of materials Mini RC servos, Pololu Mini Maestro 18, ball joints, rods, pins, fasteners, 0.6 mm 304 spring steel wire, and filament. CSV Coming soon

Build it

The full guide will come with the GitHub release. Here's the path from spool to working hand.

  1. Print the parts

    Print the flexure hinges and upper-joint strips in TPU 95A with the settings above, and the phalanges in PETG, or in TPU to make each digit body one piece.

  2. Cut the drive rods

    Cut the elastic drive rods from 0.6 mm 304 stainless spring steel wire, and shape the connectors with proper tooling, since a badly formed bend is the most likely place for a rod to break.

  3. Assemble the digits

    Each digit is a self-contained module with its three servos, so you can build, test, and swap them one at a time.

  4. Wire and calibrate

    Connect all 15 servos to the Mini Maestro using the channel map in the repo, then set each DOF's zero, direction, and range in the GUI.

  5. Run it

    Open the GUI in Chrome, connect to the Maestro, and try the preset postures or play back a recorded motion.

A single modular digit with its servos, flexure root joint, and drive rods
A complete digit module.

Papers

Cite the Humanoids paper for the full hand.

IEEE-RAS Humanoids 2026

PHD-Hand: A Printable Humanoid Dexterous Hand with Linkage-Driven 3-DOA Digits

Neel Adwani, Muhaiminul Islam Akash, Saffia Ouali, Ethan Liu, Cong Wang

New Jersey Institute of Technology

PDF arXiv
@inproceedings{adwani2026phdhand,
  title         = {{PHD-Hand}: A Printable Humanoid Dexterous
                   Hand with Linkage-Driven 3-{DOA} Digits},
  author        = {Adwani, Neel and Akash, Muhaiminul Islam
                   and Ouali, Saffia and Liu, Ethan
                   and Wang, Cong},
  booktitle     = {IEEE-RAS International Conference on
                   Humanoid Robots (Humanoids)},
  year          = {2026},
  eprint        = {2610.29030},
  archivePrefix = {arXiv},
  primaryClass  = {cs.RO}
}

MECC 2026

Dexterous Robot Hands with Linkage-Driven Three-DOF Fingers

Neel Adwani, Saffia Ouali, Mateusz Orlowski, Ethan Liu, Cong Wang

Modeling, Estimation and Control Conference

The earlier paper that introduced the flexure root joint, with a preliminary three-digit prototype and strength tests.

@inproceedings{adwani2026dexterous,
  title     = {Dexterous Robot Hands with Linkage-Driven
               Three-{DOF} Fingers},
  author    = {Adwani, Neel and Ouali, Saffia
               and Orlowski, Mateusz and Liu, Ethan
               and Wang, Cong},
  booktitle = {Modeling, Estimation and Control
               Conference (MECC)},
  year      = {2026}
}

Maintained by Neel Adwani · LinkedIn

GitHub repository coming soon.

Not loading? or open on LinkedIn