Build package
Build HopeJR
The Robot Studio & Hugging Face · Humanoid · active · 2025
Open-source DIY full-size humanoid with dexterous hands and exoskeleton teleoperation, targeting ~$3,000, with LeRobot integration.
Build is partial: Only one arm + dexterous hand and its exoskeleton/glove teleop (Arm/) are buildable from upstream. The full humanoid has a right-leg + pelvis URDF, a draft torso and a legs STEP; no assembly guide and no license on the Arm/ files.

- Drawing
- /huggingface/hopejr
- Maker
- The Robot Studio & Hugging Face
- Country
- FR
- Package rev
- v0.1.0
- Level
- L1 Compiled
- Availability
- DIY
- Openness
- 90/100
- HW licence
- unknown
- Last checked
- 2026-09-25
- DOF
- 66
- Actuators
- Robstride 02 (humanoid body update)
Repo has no LICENSE detected by GitHub (license API returns none, 2026-09-25); Humanoid/LICENSE is Apache-2.0 text with an 'all rights reserved' header and covers only Humanoid/, so no license is declared here. Arm/hand + exoskeleton (Arm/ dir, LeRobot) is the most developed part. sim=true rests on the right-leg + pelvis URDF only. Commercial shipping status in 2026 unconfirmed. HQ left null (joint project). Repo last pushed May 2026.
Configure
Saved in the URL. Share the link to share the build.Source
One cart across 2 vendors · prices in USD as listed31 lines · 156 parts · 29 without an offer in US · 2/31 lines sourced in 2+ regions (L3 gate)
| # | Part | Category | Qty | Unit | Line | Offer |
|---|---|---|---|---|---|---|
Amazon1 line · unpriced | ||||||
| 1 | Velcro strap 20 mm wide: 2x forearm, 2x shoulder, 2x half-torso length other.velcro-strap | other | 6 | unpriced | — | AmazonLink from upstream BOM (one listing for all three lengths) |
Umagnets1 line · unpriced | ||||||
| 2 | Diametrically magnetised N38 neodymium disc magnet, 3 mm x 2 mm (one per joint) sensor.magnet-3x2 | sensor | 23 | unpriced | — | Umagnetsships globallyLink from upstream BOM |
No offer in this region29 lines · unpriced | ||||||
| 3 | Feetech SCS0009 micro serial servo, hand (3 per finger x4 + 4 thumb) actuator.scs0009 · MPN SCS0009 · 1 alt | actuator | 16 | unpriced | — | Offers in CN only |
| 4 | Feetech STS3250 50 kg.cm serial bus servo, shoulder yaw + elbow flex actuator.sts3250 · MPN STS3250 | actuator | 2 | unpriced | — | Offers in CN only |
| 5 | Feetech STS3215 12 V 30 kg.cm serial bus servo, arm actuator.sts3215-12v · MPN STS3215 (12 V) · 1 alt | actuator | 4 | unpriced | — | Offers in CN only |
| 6 | Feetech SM8512BL 12 V 85 kg high-torque servo, shoulder pitch actuator.sm8512bl · MPN SM8512BL | actuator | 1 | unpriced | — | Offers in CN only |
| 7 | Feetech URT-1 serial bus adapter board (arm bus) electronics.urt-1 | electronics | 1 | unpriced | — | Offers in CN only |
| 8 | Waveshare serial bus servo driver board (hand bus) electronics.waveshare-servo-driver | electronics | 1 | unpriced | — | Offers in EU, CN only |
| 9 | Power supply 12 V 5 A + DC adapter (arm) power.psu-12v-5a | power | 1 | unpriced | — | Offers in EU only |
| 10 | Power supply 5 V 4 A (hand) power.psu-5v-4a | power | 1 | unpriced | — | Offers in EU only |
| 11 | USB-C to USB-A cable, 3 m (arm + hand) cable.usb-c-a-3m | cable | 2 | unpriced | — | Offers in EU only |
| 12 | M2 screw assortment set (hand) fastener.m2-set | fastener | 1 | unpriced | — | Offers in EU only |
| 13 | M4 nut assortment set (arm) fastener.m4-nuts | fastener | 1 | unpriced | — | Offers in EU only |
| 14 | M4 screws: 6x 65 mm, 1x 50 mm, 1x 45 mm, 1x 35 mm, 3x 30 mm, 1x 25 mm (shoulder, armpit, wrist, humeral, elbow) fastener.m4-screws | fastener | 13 | unpriced | — | Offers in EU only |
| 15 | M6 x 35 mm screw (2x elbow, 2x shoulder) fastener.m6x35 | fastener | 4 | unpriced | — | Offers in EU only |
| 16 | M6 spacer set (2x elbow, 2x shoulder) fastener.m6-spacers | fastener | 1 | unpriced | — | Offers in EU only |
| 17 | Ball bearing 70 x 90 x 10 mm (wrist) structure.bearing-70x90x10 | structure | 1 | unpriced | — | Offers in EU only |
| 18 | Ball bearing 50 x 65 x 7 mm (shoulder) structure.bearing-50x65x7 | structure | 1 | unpriced | — | Offers in EU only |
| 19 | Ball bearing 20 x 27 x 4 mm (arm) structure.bearing-20x27x4 | structure | 18 | unpriced | — | Offers in EU only |
| 20 | Tension spring 15 mm long, 0.3 mm wire, 3 mm OD (set of 10; thumb + fingers) other.spring-15mm | other | 1 | unpriced | — | Offers in CN only |
| 21 | Tension spring 20 mm long, 0.3 mm wire, 3 mm OD (sets of 10; fingers) other.spring-20mm | other | 2 | unpriced | — | Offers in CN only |
| 22 | Braided fishing line 0.33 mm, 63 lb test (finger tendons) other.tendon-line | other | 1 | unpriced | — | Offers in CN only |
| 23 | PTFE tube (3D-printer filament type) for tendon sheaths other.ptfe-tube | other | 1 | unpriced | — | Offers in EU only |
| 24 | Finger protectors (fingertip covers) other.finger-protectors | other | 5 | unpriced | — | Offers in EU only |
| 25 | M3 screw assortment set (exoskeleton + glove) fastener.m3-set | fastener | 1 | unpriced | — | Offers in EU only |
| 26 | Ball bearing 6 x 10 x 3 mm (exoskeleton upper-arm joints) structure.bearing-6x10x3 | structure | 10 | unpriced | — | Offers in EU only |
| 27 | Homunculus sensor PCB, JLCPCB-assembled (ESP32-C3-WROOM-02, CD74HC4067 16-ch mux, 3x OPA340UA, AMS1117-3.3, USB-C, 16x JST-SH 3-pin) electronics.pcb-homunculus | electronics | 2 | unpriced | — | Offers in CN only |
| 28 | 12-connector breakout PCB (12x JST EH B3B 2.50 mm vertical) electronics.pcb-12-connector | electronics | 1 | unpriced | — | Offers in CN only |
| 29 | 7-connector breakout PCB (7x JST, LCSC C722693) electronics.pcb-7-connector | electronics | 1 | unpriced | — | Offers in CN only |
| 30 | SS49E linear Hall sensor (1 per hand/wrist joint, 2 per upper-arm joint) sensor.ss49e · MPN SS49E | sensor | 28 | unpriced | — | Offers in EU only |
| 31 | JST-SH 3-pin pre-crimped cables, sets of 10: 1x 10 cm, 1x 15 cm, 2x 20 cm, 1x 30 cm (same-direction for 15-30 cm) cable.jst-3pin | cable | 5 | unpriced | — | Offers in CN only |
| Cart total · US | 156 | $0.00 | 31 lines unpriced, not in total | |||
Fabricate
Planned for a 256 mm bed- Fabricated parts
- 7
- Print time (sum)
- —
- Material (sum)
- —
- Plates · estimate
- —
No plate estimate: the package does not list grams per part yet, and we will not guess them. Slice the source files for your 256 mm bed.
| Part | Process | Material | Qty | h / part | g / part | Profile |
|---|---|---|---|---|---|---|
Right shoulder (right_shoulder.stl; left_shoulder.stl for a left arm) printed.shoulder | FDM | Not specified upstream | 1 | — | — | source |
Right humeral / upper arm (right_humeral.stl) printed.humeral | FDM | Not specified upstream | 1 | — | — | source |
Right forearm (right_forearm.stl) printed.forearm | FDM | Not specified upstream | 1 | — | — | source |
Right hand, palm + fingers (right_hand.stl, multi-body file) printed.hand | FDM | Not specified upstream | 1 | — | — | source |
Tendon spool cover (spoolcover.stl; copies needed not stated) printed.spoolcover | FDM | Not specified upstream | 1 | — | — | source |
Right teleop exoskeleton (right_exo.stl) printed.exo | FDM | Not specified upstream | 1 | — | — | source |
Right teleop glove (right_glove.stl) printed.glove | FDM | Not specified upstream | 1 | — | — | source |
Assemble
Every step ends in a check- Steps
- 14
- Subassemblies
- 7
- Hands-on time (sum)
- —
- Critical path
- —
- Your progress · this device
- —
14 steps have no time estimate; times above are lower bounds.
Steps, in build order
- Fabrication01
Print the arm and hand
Print the four right-side arm files and the spool cover from Arm/3dprint files/arm (left_* files for a left arm). The upstream gives no material, layer or infill settings. Arm/STEP/arm.step and hand.step are the reference geometry. Tolerances were relaxed in the 2025 revision and threaded inserts were replaced by through-bolts.
CHECKA 20 x 27 x 4 mm bearing and a Feetech STS servo each drop into their printed pockets by hand with no visible play.- Parts in
- Right shoulder (right_shoulder.stl; left_shoulder.stl for a left arm)printed.shoulder
- Right humeral / upper arm (right_humeral.stl)printed.humeral
- Right forearm (right_forearm.stl)printed.forearm
- Right hand, palm + fingers (right_hand.stl, multi-body file)printed.hand
- Tendon spool cover (spoolcover.stl; copies needed not stated)printed.spoolcover
- Tools
- FDM printer
- Torque
- —
- Time
- —
- After
- Start
- Source
- github.com
- 02
Print the exoskeleton and glove
Print right_exo.stl and right_glove.stl from Arm/3dprint files/exoskeleton. Geometry reference: Arm/STEP/exoskeleton.step and glove.step.
CHECKA 3 x 2 mm magnet and a 6 x 10 x 3 mm bearing seat in their printed pockets on the exoskeleton, and the glove fits the operator's hand.- Parts in
- Right teleop exoskeleton (right_exo.stl)printed.exo
- Right teleop glove (right_glove.stl)printed.glove
- Tools
- FDM printer
- Torque
- —
- Time
- —
- After
- Start
- Source
- github.com
- 03
Order the assembled PCBs from JLCPCB
For each folder in Arm/PCB, upload gerber.zip to JLCPCB, select PCB assembly, then upload that folder's BOM and POS (CPL) files. The Homunculus board carries the ESP32-C3, 16-channel mux and op-amp buffers for the Hall sensors; the connector boards join servo/sensor cables so no soldering is needed.
CHECKJLCPCB's placement preview shows every BOM designator placed (e.g. U1-U6 on the Homunculus board), and a delivered Homunculus board enumerates as a USB serial device when plugged in over USB-C.- Parts in
- Homunculus sensor PCB, JLCPCB-assembled (ESP32-C3-WROOM-02, CD74HC4067 16-ch mux, 3x OPA340UA, AMS1117-3.3, USB-C, 16x JST-SH 3-pin)electronics.pcb-homunculus
- 12-connector breakout PCB (12x JST EH B3B 2.50 mm vertical)electronics.pcb-12-connector
- 7-connector breakout PCB (7x JST, LCSC C722693)electronics.pcb-7-connector
- Tools
- —
- Torque
- —
- Time
- —
- After
- Start
- Source
- github.com
- Hand04
Hand: finger servos, tendons, springs
No step-by-step guide is published; work from hand.step. Per the Arm README: each finger has three SCS0009 servos (radial flexor, ulnar flexor, PIP/DIP) and the thumb four (CMC, MCP, PIP, DIP), the DIP joint is underactuated, tendons are locked with screws rather than crimps, run through PTFE tubes, and wind on spools that linearise finger motion against servo angle. Assign servo IDs 1-16 in the order LeRobot's hope_jr_hand.py expects (thumb_cmc=1 ... pinky_pip_dip=16).
CHECKWith tendons tensioned, turning each servo horn by hand flexes the matching finger and the springs return it to open; all 16 servos answer on the bus with IDs 1-16.- Parts in
- Right hand, palm + fingers (right_hand.stl, multi-body file)printed.hand
- Tendon spool cover (spoolcover.stl; copies needed not stated)printed.spoolcover
- Feetech SCS0009 micro serial servo, hand (3 per finger x4 + 4 thumb)actuator.scs0009
- Braided fishing line 0.33 mm, 63 lb test (finger tendons)other.tendon-line
- PTFE tube (3D-printer filament type) for tendon sheathsother.ptfe-tube
- Tension spring 15 mm long, 0.3 mm wire, 3 mm OD (set of 10; thumb + fingers)other.spring-15mm
- Tension spring 20 mm long, 0.3 mm wire, 3 mm OD (sets of 10; fingers)other.spring-20mm
- Finger protectors (fingertip covers)other.finger-protectors
- M2 screw assortment set (hand)fastener.m2-set
- Ball bearing 20 x 27 x 4 mm (arm)structure.bearing-20x27x4
- Tools
- —
- Torque
- —
- Time
- —
- After
- 01
- Source
- github.com
- Arm05
Arm: shoulder, humeral, elbow, forearm, wrist
No step-by-step guide is published; work from arm.step and the BOM's placement notes (M4x65: 2 upper shoulder, 2 armpit, 2 wrist; M4x50/45/35 and one M4x30: humeral; two M4x30: lower shoulder; M4x25: upper elbow; M6x35 with spacers: 2 elbow, 2 shoulder; 70x90x10 bearing at the wrist, 50x65x7 at the shoulder). Servo IDs per LeRobot hope_jr_arm.py: shoulder_pitch=1 (SM8512BL), shoulder_yaw=2, shoulder_roll=3, elbow_flex=4, wrist_roll=5, wrist_yaw=6, wrist_pitch=7. Route wires behind the mantle.
CHECKUnpowered, every arm joint turns through its range by hand with no binding, and all 7 servos answer on the URT-1 bus at their IDs 1-7.- Parts in
- Right shoulder (right_shoulder.stl; left_shoulder.stl for a left arm)printed.shoulder
- Right humeral / upper arm (right_humeral.stl)printed.humeral
- Right forearm (right_forearm.stl)printed.forearm
- Feetech SM8512BL 12 V 85 kg high-torque servo, shoulder pitchactuator.sm8512bl
- Feetech STS3250 50 kg.cm serial bus servo, shoulder yaw + elbow flexactuator.sts3250
- Feetech STS3215 12 V 30 kg.cm serial bus servo, armactuator.sts3215-12v
- Ball bearing 70 x 90 x 10 mm (wrist)structure.bearing-70x90x10
- Ball bearing 50 x 65 x 7 mm (shoulder)structure.bearing-50x65x7
- Ball bearing 20 x 27 x 4 mm (arm)structure.bearing-20x27x4
- M4 screws: 6x 65 mm, 1x 50 mm, 1x 45 mm, 1x 35 mm, 3x 30 mm, 1x 25 mm (shoulder, armpit, wrist, humeral, elbow)fastener.m4-screws
- M4 nut assortment set (arm)fastener.m4-nuts
- M6 x 35 mm screw (2x elbow, 2x shoulder)fastener.m6x35
- M6 spacer set (2x elbow, 2x shoulder)fastener.m6-spacers
- Tools
- —
- Torque
- —
- Time
- —
- After
- 01
- Source
- github.com
- Teleop06
Exoskeleton: Hall encoders, bearings, straps
No step-by-step guide is published; work from exoskeleton.step. Each exo joint mirrors a robot joint; each joint gets one diametric magnet, upper-arm joints use two SS49E sensors (sin/cos pair). Plug sensors into the Homunculus PCB with the JST cables, and strap the exo to forearm, shoulder and torso with the velcro straps.
CHECKFlashed with exo.cs, the serial monitor at 115200 baud prints 16 raw values plus 5 angles (0-3600), and rotating each instrumented joint changes only its own angle smoothly with no wrap mid-range.- Parts in
- Right teleop exoskeleton (right_exo.stl)printed.exo
- Ball bearing 6 x 10 x 3 mm (exoskeleton upper-arm joints)structure.bearing-6x10x3
- Diametrically magnetised N38 neodymium disc magnet, 3 mm x 2 mm (one per joint)sensor.magnet-3x2
- SS49E linear Hall sensor (1 per hand/wrist joint, 2 per upper-arm joint)sensor.ss49e
- Homunculus sensor PCB, JLCPCB-assembled (ESP32-C3-WROOM-02, CD74HC4067 16-ch mux, 3x OPA340UA, AMS1117-3.3, USB-C, 16x JST-SH 3-pin)electronics.pcb-homunculus
- JST-SH 3-pin pre-crimped cables, sets of 10: 1x 10 cm, 1x 15 cm, 2x 20 cm, 1x 30 cm (same-direction for 15-30 cm)cable.jst-3pin
- M3 screw assortment set (exoskeleton + glove)fastener.m3-set
- Velcro strap 20 mm wide: 2x forearm, 2x shoulder, 2x half-torso lengthother.velcro-strap
- Tools
- —
- Torque
- —
- Time
- —
- Source
- github.com
- 07
Glove: finger Hall sensors
No step-by-step guide is published; work from glove.step and Project Homunculus (the glove's origin). One magnet + one SS49E per hand joint, wired to the second Homunculus PCB.
CHECKFlashed with glove.cs, the serial stream at 115200 baud shows 16 raw readings and flexing each finger moves only its own channels.- Parts in
- Right teleop glove (right_glove.stl)printed.glove
- Diametrically magnetised N38 neodymium disc magnet, 3 mm x 2 mm (one per joint)sensor.magnet-3x2
- SS49E linear Hall sensor (1 per hand/wrist joint, 2 per upper-arm joint)sensor.ss49e
- Homunculus sensor PCB, JLCPCB-assembled (ESP32-C3-WROOM-02, CD74HC4067 16-ch mux, 3x OPA340UA, AMS1117-3.3, USB-C, 16x JST-SH 3-pin)electronics.pcb-homunculus
- JST-SH 3-pin pre-crimped cables, sets of 10: 1x 10 cm, 1x 15 cm, 2x 20 cm, 1x 30 cm (same-direction for 15-30 cm)cable.jst-3pin
- M3 screw assortment set (exoskeleton + glove)fastener.m3-set
- Tools
- —
- Torque
- —
- Time
- —
- Source
- github.com
- Arm08
Mount the hand on the wrist
Join the hand to the wrist bearing and route the hand servo bus back along the arm to the Waveshare driver.
CHECKWrist roll, yaw and pitch still move freely by hand with the hand attached, and no cable pulls tight at any wrist extreme.- Parts in
- Right hand, palm + fingers (right_hand.stl, multi-body file)printed.hand
- Right forearm (right_forearm.stl)printed.forearm
- Tools
- —
- Torque
- —
- Time
- —
- Source
- github.com
- Bring-up09
Flash the ESP32-C3 teleop firmware
Arm/code/exo.cs and glove.cs are Arduino sketches (despite the .cs extension): rename to .ino, build for ESP32-C3 and upload to the exo and glove boards respectively. Both read a 16-channel mux on S0-S3 = GPIO 5, 6, 8, 7 and analog input GPIO 4, and stream at 115200 baud, matching LeRobot's homunculus baud_rate default.
CHECK`lerobot-find-port` lists both teleop boards, and each streams one line of space-separated integers per scan.- Parts in
- Homunculus sensor PCB, JLCPCB-assembled (ESP32-C3-WROOM-02, CD74HC4067 16-ch mux, 3x OPA340UA, AMS1117-3.3, USB-C, 16x JST-SH 3-pin)electronics.pcb-homunculus
- USB-C to USB-A cable, 3 m (arm + hand)cable.usb-c-a-3m
- Tools
- Arduino IDE (or arduino-cli) with ESP32 core
- Torque
- —
- Time
- —
- Source
- github.com
- Electrical10
Wire servo buses and power
Safety · human-verified requiredArm bus: 12 V 5 A supply into the URT-1 board. Hand bus: 5 V 4 A supply into the Waveshare driver (SCS0009 are low-voltage servos, never put them on 12 V). Connect each board to the host with a 3 m USB-C cable. Use the connector PCBs to join servo leads without soldering.
CHECKBefore plugging servos in, a multimeter reads about 12 V on the arm bus and about 5 V on the hand bus with correct polarity; with servos connected, `lerobot-find-port` shows both adapters.This step can hurt a person or ruin parts. Its instructions need sign-off by a human who has done it before relying on them. Stop and ask if anything differs from what you see.
- Parts in
- Feetech URT-1 serial bus adapter board (arm bus)electronics.urt-1
- Waveshare serial bus servo driver board (hand bus)electronics.waveshare-servo-driver
- Power supply 12 V 5 A + DC adapter (arm)power.psu-12v-5a
- Power supply 5 V 4 A (hand)power.psu-5v-4a
- USB-C to USB-A cable, 3 m (arm + hand)cable.usb-c-a-3m
- 12-connector breakout PCB (12x JST EH B3B 2.50 mm vertical)electronics.pcb-12-connector
- 7-connector breakout PCB (7x JST, LCSC C722693)electronics.pcb-7-connector
- Tools
- —
- Torque
- —
- Time
- —
- After
- 08
- Source
- github.com
- Bring-up11
Install LeRobot with HopeJR extras
Clone huggingface/lerobot and `pip install -e ".[hopejr]"` (pulls the Feetech SDK and pygame for the calibration GUI). Run `lerobot-find-port` and note the ports for arm, hand, exoskeleton and glove.
CHECK`python -c "import lerobot.robots.hope_jr"` succeeds and four distinct serial ports are identified.- Parts in
- —
- Tools
- Host computer (Linux/macOS), Python
- Torque
- —
- Time
- —
- Source
- huggingface.co
- 12
Calibrate hand, arm, glove and exoskeleton
Safety · human-verified required`lerobot-calibrate --robot.type=hope_jr_hand --robot.side=right ...` and `--robot.type=hope_jr_arm ...` open a range-finder GUI: set min/max per joint and Save (writes limits to the motors). Keep ulnar and radial flexor ranges the same size. Then `--teleop.type=homunculus_glove` and `--teleop.type=homunculus_arm`: move every joint through its full range and press ENTER. Files land in ~/.cache/huggingface/lerobot/calibration.
CHECKFour calibration JSON files exist under ~/.cache/huggingface/lerobot/calibration, and each teleop joint's recorded MIN < MAX.This step can hurt a person or ruin parts. Its instructions need sign-off by a human who has done it before relying on them. Stop and ask if anything differs from what you see.
- Parts in
- Feetech SCS0009 micro serial servo, hand (3 per finger x4 + 4 thumb)actuator.scs0009
- Feetech STS3250 50 kg.cm serial bus servo, shoulder yaw + elbow flexactuator.sts3250
- Feetech STS3215 12 V 30 kg.cm serial bus servo, armactuator.sts3215-12v
- Feetech SM8512BL 12 V 85 kg high-torque servo, shoulder pitchactuator.sm8512bl
- Tools
- —
- Torque
- —
- Time
- —
- After
- 11
- Source
- huggingface.co
- 13
First motion: teleoperate hand and arm
Safety · human-verified requiredRun `lerobot-teleoperate` for the hand (hope_jr_hand + homunculus_glove) and, in a separate shell, for the arm (hope_jr_arm + homunculus_arm); the docs say both cannot share a process due to Feetech middleware globals. Start at --fps=30. hope_jr_arm supports max_relative_target to clamp step size; set it for the first run and keep the arm clear of people.
CHECKClosing the glove hand closes the robot hand, and moving each exo joint moves the matching robot joint in the same direction, with --display_data=true showing matching values.This step can hurt a person or ruin parts. Its instructions need sign-off by a human who has done it before relying on them. Stop and ask if anything differs from what you see.
- Parts in
- —
- Tools
- —
- Torque
- —
- Time
- —
- After
- 12
- Source
- huggingface.co
- Policy14
Record, train and evaluate an ACT policy (experimental)
`lerobot-record` with a camera and the glove to capture episodes, `lerobot-train --policy.type=act` on the dataset, then `lerobot-record --policy.path=...` to evaluate. The docs mark record/replay/train for HopeJR as experimental and only show the hand.
CHECKA recorded episode replays with `lerobot-replay` and the robot hand repeats the demonstrated motion.- Parts in
- —
- Tools
- USB camera (OpenCV)
- Torque
- —
- Time
- —
- After
- 13
- Source
- huggingface.co
Progress is stored in this browser only (localStorage). Nothing is sent anywhere.
Bring-up
Flash · calibrate · first policy- A
Flash firmware
TargetsHomunculus exoskeleton PCB (ESP32-C3, Arm/code/exo.cs), Homunculus glove PCB (ESP32-C3, Arm/code/glove.cs), Robot arm + hand: stock Feetech servo firmware driven from LeRobot over URT-1 / Waveshare bus adapters
Repogithub.com/huggingface/lerobot
Robot side has no custom firmware: LeRobot's hope_jr_arm (FeetechMotorsBus, IDs 1-7) and hope_jr_hand (16x scs0009, IDs 1-16, protocol_version=1) talk to the servos directly. Teleop firmware is two short Arduino sketches in https://github.com/TheRobotStudio/HOPEJr/tree/main/Arm/code (mux scan, 115200 baud; exo.cs also converts 5 sin/cos Hall pairs to 0-3600 angles). Teleoperator drivers: https://github.com/huggingface/lerobot/tree/main/src/lerobot/teleoperators/homunculus. Arm/hand drivers: https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/hope_jr_arm.py, https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/hope_jr_hand.py.
- B
Calibrate
Calibrationlerobot-calibrate for hope_jr_hand, hope_jr_arm (GUI range finder, writes limits to motors), homunculus_glove and homunculus_arm (record min/max); files in ~/.cache/huggingface/lerobot/calibration.Log the output. It goes in your build report.
- C
First policy
- hand manipulation via ACT (train-your-own recipe)LeRobot (ACT) source
Try the policy in the browser sim before it touches hardware. Keep a hand near the power switch the first time a policy runs on the real robot.
Report your build
Moves HopeJR toward L4 · BuiltA build report is the only thing that proves a package works. It raises the level, puts a point on the map, and tells the Foreman which steps to rewrite.
Level gate
Holds L1 · evidence, not confidence- L0Indexed
Known to exist. Atlas page only.
- 4 sources on record(met)
- L1Compiled
Package validates against the spec; every fact has a source.
- Build package compiled(met)
- 25 sources across robot and package(met)
- L2Sim-verified
Loads in browser and GPU sim, mass within tolerance of the BOM, holds a stand. Unlocks .training.
- URDF/MJCF is public(met)
- Sim load, mass tolerance and stand are checked on .training(checked elsewhere)
- L3Sourced
Every BOM line resolves to a live offer in at least two regions. Unlocks the one-click cart.
- 1/31 BOM lines have offers in 2+ regions(not met)
- L4Built
At least one community build report with photos and bring-up logs. Unlocks Build it as the main action.
- 0 reviewed build reports(not met)
- Review feed unreachable at last refresh; count is registry-only(checked elsewhere)
- L5Certified
The robot's maintainer signs the package. Unlocks certified teams and kit sales.
- Maintainer signature not recorded(not met)
Levels are cumulative and set by the registry from reviewed evidence. This panel shows what can be measured from the package today.
Same robot, other verbs
- Know ithumanoidrobots.systems/huggingface/hopejr
- Build itpartialhumanoidrobot.build/huggingface/hopejrOnly one arm + dexterous hand and its exoskeleton/glove teleop (Arm/) are buildable from upstream. The full humanoid has a right-leg + pelvis URDF, a draft torso and a legs STEP; no assembly guide and no license on the Arm/ files.
- Train ithumanoidrobots.training/huggingface/hopejr
- Find its crewhumanoidrobots.team/huggingface/hopejr
- See it on the maphumanoidrobots.earth/huggingface/hopejr