00Overview
Everything needed to build, wire, flash, and operate a MABEL — an open-source mobile bimanual robot. This is the replication manual: parts, steps, commands, and checks, in build order. The project site covers what the robot can do; this covers how to make one.
The robot, in numbers
| Item | Value | Detail |
|---|---|---|
| Functional DoF | 56 | 59 motors total |
| Base | 3 modules | Delta-layout holonomic swerve — REV NEO + NEO 550 per module, 6 × SPARK on CAN |
| Lift | 0.635 m | Cascaded Z-column (FlexiSpot E7 Pro column), brushed DC + leadscrew, RP2040 Pico |
| Torso | 400 N·m peak | DaMiao DM-J10422P on the body CAN bus |
| Arms | 2 × 7 DoF | OpenArm-derived, DaMiao quasi-direct-drive, back-drivable, one CAN bus per arm |
| Hands | 2 × 17 DoF | Open-source ORCA hands, tendon-routed, 17 Feetech servos per hand on one 1 MHz TTL chain |
| Neck | 3 DoF | Yaw on CAN (DaMiao), roll + pitch on 2 × Dynamixel XC330-T181 |
| Sensing | — | Stereo head camera, 2 wrist cameras, 2D lidar; base depth camera and IMU optional by tier |
| Compute | — | NVIDIA Jetson (Orin Nano → AGX Thor by tier), Ubuntu 24.04 + ROS 2 Jazzy |
| Reach | 0 – 2.23 m | fingertip envelope, floor to overhead (lift + arm) |
| Footprint | 0.49 m | fits doorways and elevator cars |
| Mass | ≈ 62 kg | 24 V, fully untethered. The BOM buys two packs (line 7.03) |
| Cost | $8,056+ | Core BOM $7,650 + perception/compute tier — see 01 · BOM |
Before you order anything
Three gaps in the parts list will stop a build if you meet them at the bench
instead of here. All three are tracked in BOM/data/open_items.csv.
| Gap | What it means for your order |
|---|---|
| The swerve line is a lump | REV-21-3005 is the MODULE only — motors, controllers and framing are not included. Each module also needs a NEO, a NEO 550, a SPARK Flex and a SPARK MAX, about $557 more per module. Ordering the BOM line as written gets you three modules that cannot move. |
| Two Teensy 4.1 are missing | One drives the swerve base, one drives both arms. Neither appears in the parts list; without them the robot has no low-level control at all. |
| No hardware E-stop is costed | The safety docs describe a
hardware stop that de-energises the actuators independently of the host, and the
software E-stop (hw.estop()) is not that. Budget $30–80 for a switch
and contactor — the OpenArm harness set may already include one, unconfirmed. |
The rest of the fixed core can be ordered on day one: none of it depends on a decision made later. The five deferred choices (compute, head camera, wrist cameras, base depth camera, lidar) are laid out in 01 · BOM.
What you need
| Requirement | Why |
|---|---|
| 3D printers (2–3, one large-format) | Roughly a week of near-continuous printing — an estimate from building it, not a measured figure. The base and body housings need a large-format bed (Bambu H2D / H2S class); the rest fit a standard bed. No machine shop is needed beyond the laser-cut and bent sheet parts, which are ordered from any fab service (drawings in the BOM). Seven parts are machined rather than laser-cut — see 01 · BOM |
| Filament — 7 spools | The BOM buys PLA Basic: 4 × Jade White (covers, sensor mounts, trim), 2 × Black (the ORCA hand structure, the highest-wear parts on the robot), 1 × Light Gray (accents). The arm housings are specified separately in PETG, about 260 g per arm (mechanical/arm_housing/) — the filament line does not cover them |
| A current-limited bench supply | Not optional. Every first energization — each actuator, each board, the first lift motion — runs through it with the limit set low, so a miswired bus trips the limit instead of cooking a motor. Hex drivers, a crimper, a soldering iron and a multimeter cover the rest of the build |
| Basic electronics skills | Crimping, CAN bus wiring, servo ID assignment, one custom PCB per board set. The gerbers are not released yet — the boards are simple carrier and power-distribution layers, never control electronics, and BOM/data/open_items.csv tracks them as an open item |
| A Mac or Linux laptop | Runs the full simulation twin and every desktop tool. ROS 2 is only required on the robot itself |
| Ubuntu 24.04 + ROS 2 Jazzy on the Jetson | ROS 2 + the hardware layer run onboard |
| Time | Printing runs in the background; hands-on assembly is measured in evenings per module, not months |
You can do everything up to real hardware on a laptop alone. Build the
simulation stack first (05 · Software), drive the
digital twin, and only then order parts — every motion you'll ever command
can be proven in the twin before a single motor exists.
Build order
- 01 · Bill of materials. Pick a tier, order everything, start the printer.
- 02 · Mechanical assembly. Base → lift → body → arms → hands → head. Each module is built and checked before the next stacks on.
- 03 · Electronics & wiring. Land the PCBs, run the CAN/TTL/USB buses, connect sensing, power from one pack.
- 04 · Firmware. Flash the base Teensy, arms Teensy, lift Pico; assign every servo ID.
- 05 · Software. Sim stack on the laptop; ROS 2 workspace + hardware layer on the Jetson.
- 06 · Bring-up & calibration. First power-on limp, bus-by-bus enumeration, zeros, limits, CoM check.
- 07 · Operate. Teleop from a browser, iPhone, or Vision Pro; the terminal cockpit; the safety model.
- 08 · Data & learning. Record episodes, curate, train, deploy policies.
The golden rules
- Simulate first. Prove every motion in the twin before running it on hardware.
- One source of truth. The MuJoCo MJCF defines the body; the URDF, viewers, and app rigs are all generated from it.
- Power up current-limited, always. First energization of any bus goes through a current-limited supply.
- Know your stop. Identify the e-stop path before energizing anything (safety model).
Source layout
Everything lives in one repository — robotmabel/open_mabel:
| Path | Contents |
|---|---|
simulation/mabel_mujoco/ | The canonical robot model (MJCF) + scenes — the single source of truth |
hardware_bridge/ | The hardware abstraction layer (HAL) — the one process that owns every device |
firmware/ | Per-MCU firmware: swerve base, arms link, lift, ORCA hands, head |
controller/ | The mabel control library: retargeting, whole-body control, safety gates |
server/ | The teleop gateway: one wire contract for every client, sim and real |
ros/ | ROS 2 workspace (bring-up, description, SLAM, Nav2) |
web_gui/ | Browser studios: control centers, data curation, trainer |