Open Source Hardware

Hardware

Fully 3D-printed 6-DOF arm — STEP files, bill of materials, actuator specs, and validated performance results.

Download Paper GitHub
Mechanical Design

Structural layout.

Six-link serial chain in a modified PUMA configuration. All structural components are 3D-printed PLA at 30% infill. Carbon-fiber tubes carry the primary bending load between shoulder and elbow.

IRIS mechanical assembly

Mechanical assembly — joint layout and link geometry

IRIS CAD render

CAD render

IRIS dimensions

Workspace dimensions

3D Printed Structure

Printed in PLA.

Every structural link, joint housing, bearing seat, and motor mount is 3D-printed. Designed for BambuLab printers at 30% infill with standard 0.4 mm nozzle.

IRIS 3D printed parts

All 3D-printed components laid out

Material
PLA
Standard FDM, 0.4 mm nozzle
Infill
30%
Gyroid pattern for strength
Print cost
~$17
Material only (BambuLab estimate)
Backbone
CF tube
25×2 mm carbon-fiber, 500 mm
Bill of Materials

~$992 total.

Full parts list (~$992 USD)
CategoryItemQtyUSD
ActuatorsUnitree GO-M8010-66$69.65 ea
LinkagesCarbon fiber tube 25×2 mm, 500 mm1$27.40
Bearings26×17×5 mm2$1.59
50×40×6 mm6$2.61
42×30×7 mm5$2.43
TransmissionHTD-5M belt 150T (750 mm)1$15.19
HTD-5M belt 160T (800 mm)2$15.56
FastenersM4 + M3.5 screw sets2$27.04
VisionIntel RealSense D4351$163.63
ComputeNVIDIA Jetson Nano1$216.15
ElectronicsRS-485 Hub, Power Supply (≥300 W)$35.96
3D PrintingPLA @ 30% infill (BambuLab)1$16.99
MiscWire sleeving1$9.26
Total~$992
Actuator System

Unitree GO-M8010-6

Six quasi-direct-drive BLDC motors with a 9:1 gear ratio. Low reduction enables compliant, backdrivable motion — critical for kinesthetic teaching.

ParameterValue
TypeQuasi-Direct Drive BLDC
Peak Torque23.7 N·m
Rated Torque6 N·m
Max Speed45 rpm (no load)
Gear Ratio9:1
Encoder14-bit absolute
InterfaceRS-485
Control Rate200 Hz
ModesMIT / Position / Velocity / Torque
Weight485 g each
DOF
6
Full 6-DOF pose control
Payload
1.5 kg
Camera + lens
Reach
~1.0 m
Max workspace radius
Repeatability
~1 mm
Same trajectory 5×

MIT mode sends simultaneous position, velocity, and feed-forward torque each cycle — enabling smooth impedance control for cinematic motion.

Low-Level Control

RS-485 at 200 Hz.

All six motors share a single RS-485 daisy chain. The hardware driver runs a 200 Hz closed-loop, sending MIT-mode packets with position, velocity, and feed-forward torque simultaneously.

Low-level control results

Low-level actuator control — position tracking results across all joints

Performance

Validated results.

Repeatability and path-following accuracy measured on real hardware. Both tests run with the 200 Hz RS-485 control loop.

Repeatability test

Repeatability

Same trajectory executed five times. End-effector returns to within ~1 mm of the starting position each run.

Path following test

Path Following

End-effector tracks a planned Cartesian path in real time. Demonstrates smooth motion under the impedance control loop.

Vision

Intel RealSense D435

Mounted at the end-effector. Provides synchronized RGB and depth for visuomotor policy training and deployment.

RGB
1920×1080
30 fps, policy input cropped to 640×480
Depth
848×480
90 fps, active stereo IR
Range
0.1–10 m
Active stereo + IR projector
Interface
USB 3.0
ROS camera_info compatible
Assembly

Assembly guide.

Coming Soon
Step-by-Step Assembly Guide

A detailed illustrated guide with photos, torque specs, and wiring instructions is being prepared.

Follow on GitHub

Assembly notes

  • Zero all motors before mechanical assembly using the calibration script.
  • Tighten all M3 joint screws to 1.2 N·m — no Loctite, motors need occasional repositioning.
  • Differential wrist (joints 5 & 6) requires coupling correction — see calibrate_joint_states.py.
  • RS-485 termination resistor (120 Ω) goes on the last motor in the chain.
  • Ground all motor housings to chassis for RS-485 signal integrity.