Reference
Status of every number
A design release should say which of its numbers are decisions, which are calculations and which are measurements. As of v0.1:
| Quantity | Kind | Source |
| Joint layout, axes, link lengths, part list | decision | tools/build_data.py |
| Actuator torque, Kt, current limit, mass, envelope, mounting and output hole patterns | copied | RobStride user manuals, section 1.1, 2026-07 revision (Product_Information repository) |
| Actuator prices | copied | Duke V2 team BOM, Amazon US / AiFitLab, 2026-09 |
| Other prices | estimate | Typical US listings, 2026-09; verify before ordering |
| Printed-part masses | estimate | STL volume × density × fill factor |
| Self-collision, joint limits | computed | tools/check_collisions.py: zero pose, presets, every joint through its range |
| Robot mass, mass budget | estimate | Sum of the above plus 0.9 kg for fasteners and harness |
| Torque margins | estimate | Static hand calculations on the design page |
| Joint limits | decision | Adapted from Duke V2's software limits |
| Run time, print time, latency, temperatures | unmeasured | Filled in by the roadmap's builds |
Full specifications
Joints
| # | Joint | Parent → child link | Axis | Limits | Actuator | Bus | ID |
|---|
Actuators
| Model | Qty | Peak N·m | Kt N·m/A | I limit A | Ø × L mm | Mass g | Support bearing |
|---|
48 V bus, CAN at 1 Mbit/s, MIT-mode control. Over-temperature warning 75 °C, fault 80 °C. Manuals: robstride.com/download.
Files
| File | What |
tools/build_data.py | The model: every part, joint, price. Edit this, run it, everything below regenerates. |
assets/data/robot.json | Links, joints, part occurrences with primitive shapes, catalogue, poses, specs. Read by the viewer and the tables on this site. |
assets/data/bom.json | Bill of materials by section and tier. |
assets/model/foh_v0_2.urdf | Robot description with masses and inertias, primitive geometry. |
assets/print/ | One STL per printed part plus a zip of all of them; print_files.json holds sizes, SHA-256, volumes and print orientation. |
tools/build_parts.py, tools/check_collisions.py | STL generator (manifold3d CSG) and the self-collision audit. |
assets/js/robot-viewer.js | The viewer: builds the robot from robot.json with three.js. |
Naming
- Part IDs:
3DP_ printed, ACT_ actuator, HW_ bearings and metal, EL_ electronics, CB_ cables, MAT_ filament, TL_ tools. Printed IDs continue with a subassembly code (pel, leg, tor, hea, arm, grp) and a two-digit number, then a descriptive name.
- Occurrences add the side:
knee_L_act, shank_inner_R. Mirrored prints share one part ID.
- Joints:
hip_pitch_L, knee_R, waist; CAN ID = 10 × limb + index (left leg 11–16, right leg 21–26, left arm 31–35, right arm 41–45, waist 1).
- Links are named by the part that carries them:
hip_roll_bracket_L, thigh_L, shank_L, ankle_block_L, foot_L.
Licence
| Artefact | Licence |
Code: this site, tools/build_data.py, the viewer, future control and training code | MIT |
| Hardware design files: the model, URDF, printable files, BOM | CC BY 4.0 |
| Documentation and figures | CC BY 4.0 |
Maintainer's note. These are the proposed terms for v0.1; the code licence is in LICENSE at the repository root. Both parent projects allow this reuse: Duke Humanoid V2's hardware and documentation are Apache-2.0, Berkeley Humanoid Lite's code is MIT and its assets CC BY-SA 4.0. Nothing from either project's CAD is redistributed here; the numbers reused are cited on the page where they appear.
Citation
@misc{fully_open_humanoid_2026,
title = {Fully Open Humanoid: a printable RobStride humanoid derived from Duke Humanoid V2},
author = {Fully Open Humanoid contributors},
year = {2026},
url = {https://fullyopenhml.github.io/}
}
Please also cite the two projects this design is built on:
@misc{duke_humanoid_v2,
title = {Visible-Reachable Workspace for Perception-Aware Humanoid Design},
author = {Boxi Xia and Zijiang Yang and Ryan Shin and Bokuan Li and Eric Lu and Jacob Lee and Jiaxun Liu and Boyuan Chen},
year = {2026},
url = {https://github.com/generalroboticslab/duke_humanoid_v2}
}
@article{chi2025demonstrating,
title = {Demonstrating Berkeley Humanoid Lite: An Open-source, Accessible, and Customizable 3D-printed Humanoid Robot},
author = {Yufeng Chi and Qiayuan Liao and Junfeng Long and Xiaoyu Huang and Sophia Shao and Borivoje Nikolic and Zhongyu Li and Koushil Sreenath},
journal = {arXiv preprint arXiv:2504.17249},
year = {2025}
}
Changelog
| Date | Version | Change |
| 2026-10-03 | v2 | The styled design restarted a second time, now as what the Berkeley Humanoid Lite paper draws in its Fig. 5: the extended, adult-sized BHL from BHL's own published parts (aesthetic page, work in progress). tools/bhl_pieces.py cuts eleven printed parts out of BHL's link meshes (the actuator modules removed, the arms cut where a tube takes over, the arm links straightened); tools/build_v2.py places them on the 1.64 m skeleton with RobStride actuators in their cradles by BHL's module classes (an RS03 at the knee, bored out), carbon tubes on printed socket flanges, our hip stack, a torso cage of BHL's proportion with the shoulder actuators through its sides, the arms hung 10° abducted at the zero pose as BHL's are (joints gained a fixed zero offset for that), and hands. The shape pipeline gained a mesh shape (published parts in the viewer, the audit by surface samples and hulls, boxes in the URDF). Audit clean; MuJoCo stands, crouches and takes 10 N·s. The AI Sapiens K1 study of 2026-10-02 (a fit study and a K1-skeleton build) is withdrawn; the v1a cover shells of 2026-10-01 before it. |
| 2026-10-01 | v1 | Production design published on its own page: Berkeley Humanoid Lite's extended adult-sized configuration (paper Fig. 5) on RobStride actuators, with carbon-fibre tube links, an RS04 joint kit dimensioned from the RS04 manual, laser-cut plates and Amazing Hands. Generated by tools/build_v1.py; collision audit, printable STLs, URDF and MuJoCo check all run on it; added to the catalog and the builder. Fastener lengths are now computed from thread engagement. Corrected in both designs: the elbow axis, whose positive direction bent the forearm backward. |
| 2026-09-25 | catalog | Site reframed around a catalog of open humanoids scored on nine openness criteria (29 projects with sources) and a mix-and-match builder that checks joints, buses, payload, scale and software for any combination and returns a merged BOM with prices and sourcing. Our design is listed on the same terms. Generated by tools/build_catalog.py from tools/catalog_src.py plus the computed subsystems of our design and Duke V2. The builder shows the combination in 3D, composed from each project's published geometry (tools/build_geometry.py). Every catalog fact re-checked against primary sources on 2026-09-25; K-Bot, AgiBot X1, Poppy, Open Duck, Zeroth-01, iCub and Duke V2's licence corrected. Form-factor column (humanoid, bimanual, bimanual + mobile, mobile manipulator, legged, arm, hand) and ten more projects; the builder gained SO-ARM101 and OpenArm arms, LEAP and RUKA hands, LeKiwi, TidyBot++ and Solo 12 bases, the XLeRobot cart and head, a licence check and empty lower or torso slots. |
| 2026-09-24 | v0.2 | Joint kits redesigned on RobStride's measured interfaces (front-lug mounting, output boss with dowels, output support bearing on the coupler). Straight arms on long shoulder brackets, 264 mm hip spacing, pelvis narrowed. Self-collision audit added; knee, elbow, hip-roll and shoulder-roll limits set by geometry. Every printed part released as STL with a manifest. MuJoCo standing, crouch and push check of the URDF (software page). |
| 2026-09-24 | v0.1 | First design release: kinematics, part list, BOM, wiring, bring-up plan, URDF, interactive model. |