< back

Proto (1)

Built and walking. August 2026.

A 0.75 m, 3.3 kg biped humanoid, designed from nothing in parametric CAD, printed in PETG, wired by hand, and taught to walk with reinforcement learning. It self-stabilizes on a single policy: it walks, sprints, and turns in both directions.

Front view render of Proto (1) showing the full body, arms and feet.
Front view, straight out of the parametric CAD model.

Specification

Height0.750 m
Mass3.3 kg
Actuators15 x LX-16A serial bus servos
ComputeJetson Orin Nano Super
VisionLogitech C910, 1080p, pitched 15 deg down
Battery4S LiPo 2200 mAh, 220 g
Power2 x 300 W buck, 4S down to a 7.4 V servo bus
Cut-off30 A DC toggle on XT60
StructurePETG, 27 parametric parts
Walking speed0.13 m/s

Joints

Five degrees of freedom per leg: hip twist, hip swing, knee, ankle pitch, ankle roll. Shoulder roll and shoulder pitch per arm, plus a neck servo. There is no hip abduction, so Proto (1) cannot step sideways. Perfectly straight walking is a hardware limit, not a controller one.

Annotated side view of Proto (1) with joint heights and component callouts.
Side view with joint heights. Shoulder roll 0.658 m, deck top 0.557 m, hip swing 0.450 m, knee 0.230 m, ankle pitch 0.095 m.

Control

Why it actually transfers

The LX-16A stalls at 1.67 N·m but only sustains about 0.50 N·m. Training against the stall figure produces a gait that looks perfect in simulation and collapses on contact with the floor. Proto (1) was trained against the sustained figure instead, so the policy never learns to ask for torque the hardware cannot hold.

A week of failed walking came down to one thing: the gait commanded zero ankle roll, so single support loaded a servo past its stall point. The fix was a real weight shift, not a tuning pass.

Sensing

Inertial sensing is an external IMU, running unfiltered. That is the honest state of it: there is no filter on Proto (1). Everything the balance controller does, it does off raw joint feedback and the scripted phase.

Tooling

The whole robot is one parametric CAD program, so a dimension change regenerates every affected part. Interference is checked by exact boolean intersection volume between parts rather than by eye, which is how problems like a shoulder clevis clipping the clavicle got caught before printing.

Screenshot of the servo calibration tool used to trim each joint.
Servo calibration tool: per joint trim and live position readback across all three buses.