Design

One robot, two parents. The joint layout and actuator strategy come from Duke Humanoid V2; the manufacturing strategy comes from Berkeley Humanoid Lite. This page records every decision so that the next person can disagree with it precisely.

Goals

  1. Cost. Under $6,000 in parts for a robot that can walk and carry a gripper, without giving up integrated quasi-direct-drive actuators. Actuators are the floor: 23 RobStride units are about 80 % of the bill, so everything around them has to be nearly free.
  2. No machining. Every structural part prints on a desktop FDM printer with a 250 mm bed. The only metal is off-the-shelf: 2020 extrusion cut to length, thin-section bearings, screws and inserts.
  3. Few distinct parts. Four actuator models, three bearing sizes, one connector family. Every joint of a given actuator model uses the same printed adapter, cup and support bearing, so there are three joint kits repeated 23 times rather than 23 joints.
  4. Sourceable anywhere. Everything but the actuators comes from Amazon, AliExpress or any filament vendor, with the manufacturer part named so substitutes are obvious.
  5. Buildable by one person. Bench subassemblies that one person can lift, and a hoist only for the final steps.
  6. Honest numbers. Every figure on this site is either computed from the model in tools/build_data.py, copied from a named source, or marked as an estimate.

What is kept from each parent

From Duke Humanoid V2

  • Leg topology. Hip pitch → roll → yaw, knee, ankle pitch → roll. The hip-yaw actuator sits directly on top of the knee actuator, so the "thigh" is a short block and the long link is the shank. This keeps the hip narrow and the leg mass high.
  • RobStride actuators with the same model-to-joint logic: RS03 wherever gravity torque is large, RS06 for roll axes, RS02 for arms, RS05 for the wrist.
  • Bearing-supported joints. Duke's retainer–bearing–coupler stack on every output: a thin-section bearing between the printed mount ring and the coupler hub, so the printed coupler carries torque and the bearing carries the bending moment.
  • One-shell harness. XT30(2+2) carries 48 V and CAN in one connector; every limb is a daisy chain with a terminator at the end.
  • The parallel gripper (rack and pinion, one bus servo), as an optional kit.
  • Joint limits, the ID map pattern and the bring-up sequence.

From Berkeley Humanoid Lite

  • All structure printed. Plates, cups and adapters in carbon-filled PETG; covers in PLA; soles and pads in TPU.
  • 2020 aluminium extrusion torso with printed end plates: stiff, cheap, and cut with a hacksaw.
  • A $160 mini PC is enough to run a reinforcement-learning policy at 50 Hz and the motor loop at 500 Hz.
  • Blind by default. Walking uses the IMU and joint encoders. Cameras are an add-on kit, not a prerequisite.
  • Filament and fasteners listed in the BOM as real line items.
  • Two-configuration thinking: a core robot everyone builds the same way, plus kits.

Every change from Duke V2, with its reason

The reference is the priced lines of Duke V2's published parts lists (actuators $5,605, electronics $2,815, CNC $4,199, prints $169, fasteners $179, cables $30: $12,997, 2026-09; consumables unpriced). The rows below bridge that to this design's $5,649.

#Duke V2FOH v0.1WhyΔ cost
135 CNC aluminium 6061 parts ($4,199), six SLS nylon parts and FDM covers ($169), fasteners and bearings ($179)34 printed parts ($224 of filament), four 2020 extrusions, bearings, inserts and screws ($154)The single biggest barrier to a build is a machining order. Printed PETG-CF plates 10 mm thick, backed by the support bearing, carry the loads at this scale; the hip and knee brackets can be reprinted in PA-CF if they creep.−$4,170
27-DOF arm: RS03 + RS06 + RS02 ×3 + RS00 + RS05, plus two SLS wrist housings5-DOF arm: RS06 ×2 + RS02 ×2 + RS05Wrist pitch and yaw were Duke V2's most complex subassembly (SLS nylon housings, three actuator models). A 5-DOF arm still places a gripper anywhere in front of the robot; the two wrist axes return as an upgrade kit once the base robot walks.−$540
3Shoulder pitch RS03 (60 N·m, 0.91 kg)Shoulder pitch RS06 (36 N·m, 0.62 kg)The arm root only has to hold a 2.4 kg arm plus a 0.5 kg payload: about 9 N·m static (see margins below).−$30
4Knee RS04 (120 N·m, 1.44 kg)Knee RS03 (60 N·m, 0.91 kg)The robot is 35 kg → 26 kg. Peak knee torque per kilogram (2.3 N·m/kg) is in the range of Duke V2 (3.4) and Unitree G1 (2.6). Same bracket family as the hips.−$60
5Two RealSense D436 ($708) on two 2-axis gimbals of RS05 actuators ($440)Fixed printed head; one D435i optional ($300, not in the core total)Duke V2's twin gimbals serve its perception-aware-workspace research. A walking platform needs an IMU. The head keeps a camera pocket.−$1,148
6MINISFORUM X1-470 ($1,295)Intel N100 mini PC ($160)Duke V2 runs its planner on a separate CUDA machine anyway. On-robot work is a small MLP at 50 Hz plus CAN I/O.−$1,135
76 CAN adapters (5 actuators each), 3 USB hubs4 adapters (one per limb, waist on the left-arm bus), 1 hubSix actuators per 1 Mbit/s bus at 500 Hz is 35 % bus load. Fewer adapters, fewer cables through the torso.−$68
82 × 6S 10 Ah ($367)2 × 6S 8 Ah ($180)Same 44.4 V bus; the lighter robot draws less. Expect 30–45 minutes of walking; unmeasured.−$187
9No E-stop, breaker or contactor in the BOM100 A breaker, 100 A contactor, E-stop loopDuke V2's own release notes list the missing E-stop as a blocker. A quasi-direct-drive robot has no self-locking gears: cutting power drops it, so the stop is paired with a hang point.+$57
10Grippers in the core list: two Feetech HL-3915 ($50 each), two driver boards, two convertersOptional kit: two STS3215 ($16 each) on one driver boardSame bus protocol, same Waveshare driver, ten times the stock in the market thanks to LeRobot arms. A walking robot does not need hands on day one.−$115
11Waist RS03Waist RS03 (kept)One actuator turns the whole upper body for manipulation and for arm-swing decoupling in walking. Delete it for a further −$225 and a fixed torso.0
12Harness as lab consumables; ten TVS diodes, surge protector, two voltage checkers, three convertersHarness itemised ($124); six TVS, one converter, fused distribution block, two voltage alarmsItemising the harness makes the cost honest; the rest is the smaller robot's smaller electrical system.+$48
$12,997$5,649Core robot, 2026-09 prices−57 %

Kinematics

Frame: X forward, Y left, Z up, ground at z = 0. The pelvis is the base link. Right-side joints are mirrored with the X and Z axes flipped so that a positive angle is the same motion (abduction, outward yaw) on both sides. The arm is straight: shoulder yaw, elbow and wrist share one line 232 mm from the centre, carried by a long shoulder-roll bracket as on Duke V2, so that yawing the shoulder spins the forearm about its own axis and the hand clears the hip actuators at every wrist angle.

shoulder pitch · roll shoulder yaw elbow wrist roll waist yaw hip pitch · roll hip yaw knee ankle pitch ankle roll z = 0 460 mm hip height 480 mm shoulder–hip 264 mm hip spacing 464 mm shoulder-roll spacing RS03 RS06 RS02 RS05 pitch (Y) roll (X) yaw (Z)
JointActuatorAxisLimitsPeakCAN

Limits are proposed software limits. Mechanical end stops are not designed yet; the bring-up procedure sets the software limits before any motion.

Actuator selection and torque margins

Static gravity loads at the worst plausible pose, against RobStride peak torque. Dynamic loads in walking are typically two to three times static at the knee and ankle, which is the reason the leg uses the 60 N·m RS03 throughout even where the static number is small.

JointActuatorPeak N·mWorst static case (26 kg robot)Static N·mMargin
KneeRS0360Single-leg support, knee bent 45°, mass above the knee (22 kg) at a 0.15 m horizontal offset321.9×
Hip pitchRS0360Single-leg support, upper body (16 kg) leaning 0.2 m forward311.9×
Hip rollRS0360Single-leg support, whole body (26 kg) 0.135 m off the stance foot341.8×
Hip yawRS0360Turning on one foot; friction-limited<10>6×
Ankle pitchRS0360Single-leg support, centre of mass at the toe (0.12 m)311.9×
Ankle rollRS0636Single-leg support, centre of mass at the foot edge (0.045 m)113.2×
WaistRS0360Accelerating the upper body; no gravity load<10>6×
Shoulder pitch / rollRS0636Arm horizontal (2.4 kg at 0.25 m) plus 0.5 kg payload at 0.55 m8.64.2×
Shoulder yawRS0217Arm horizontal, forearm turned (1.3 kg at 0.2 m)2.66.5×
ElbowRS0217Forearm horizontal (0.9 kg at 0.12 m) plus 0.5 kg payload at 0.3 m2.66.5×
Wrist rollRS055.5Twisting a held 0.5 kg object 0.05 m off axis0.3>10×
Budget swap. If the arms will never carry a payload, RS02 at shoulder pitch and roll still gives a 2× static margin and saves $260 and 0.8 kg. The printed shoulder cup then changes to the RS02 pattern.
ModelQtyJointsPeak N·mKtI limitØ × LMassSupport bearingPrice

Torque, Kt, current limit, envelope and mass are the values in the Duke Humanoid V2 hardware release, which come from the RobStride manuals. Verify against the manual for the revision you buy.

Mass budget

GroupkgBasis

Printed-part masses are the solid volume of the model's primitives × material density × a fill factor (0.45 for PETG-CF, 0.35 for PLA covers, 0.70 for TPU). Real parts with pockets and cable channels will come in lighter; the estimate is deliberately on the heavy side.

Side by side

FOH v0.1Duke Humanoid V2Berkeley Humanoid Lite
Degrees of freedom23 + 2 gripper servos31 + 2 gripper servos22
Height1.11 m1.26 m with camera mastsabout 0.8 m
Mass26 kg (estimate)35 kg (CAD)16 kg
ActuatorsRobStride RS03 ×11, RS06 ×6, RS02 ×4, RS05 ×2RobStride RS00–RS06, 31 unitsPrinted cycloidal gearboxes on MAD 5010 / M6C12 motors
StructurePrinted PETG-CF, PLA, TPU; 2020 extrusionCNC aluminium 6061; printed covers; SLS nylonPrinted PLA; 2020 extrusion
Machined parts0350
ComputerIntel N100 mini PCMINISFORUM X1-470Mini PC
PerceptionIMU; camera optional2 × RealSense D436 on gimbalsIMU
CAN buses464
Parts cost$5.6k core, $6.0k with kits$13.0k (priced lines, 2026-09)$4.35k (US pricing)
Hardware licenceCC BY 4.0 (proposed)Apache-2.0CC BY-SA 4.0

Self-collision audit

tools/check_collisions.py tests every pair of parts: exactly at the zero pose, by surface sampling at the preset poses, and joint by joint through each range. The zero pose, the presets and every single-joint sweep are clear at the limits below; the limits marked geometry are where the printed parts would touch, and the sweep put them there.

JointLimitSet byWhat touches beyond it
Hip roll (adduction)−12°geometryHip-yaw actuator into the pelvis straps and the hip-pitch flange
Hip roll (abduction)105°Duke V2Nothing structural; see the coupled limit below
Knee105°geometryShank plates fold into the thigh block (2.7 mm at 110°); chamfering the block's rear edge in v0.2 buys 10–15°
Ankle pitch±50°Duke V2Clear; the foot upright is cut to 92 mm for it
Ankle roll±30°Duke V2Clear
Shoulder roll0° to 150°geometryAdduction below 0° swings the hanging hand into the hip stack; possible only with the elbow flexed
Elbow120°geometryInner forearm plate into the upper-arm link (upper arm narrowed to 50 mm for it)
Shoulder yaw, wrist roll, waist, hip pitch, hip yaw, shoulder pitchfullDuke V2Clear through the whole range

One coupled limit. With the arm hanging straight, the leg can abduct 25° before the hip-yaw actuator meets the gripper. Swing the arm 20° forward, or flex the elbow 60°, and the full 105° is clear. That is a constraint for the policy's self-collision term, not a mechanical stop, and it is the same on Duke V2.

Open questions and risks