How to build GELLO
7-DoF desktop robot arm · Beginner
Build GELLO, UC Berkeley's 3D-printed Dynamixel replica controller for teleoperating Franka, UR5, xArm, YAM, Lite6 and AR4 arms. Parts, steps and FAQ.
Mostly printed parts and plug-in servos. Good first build.
Our estimate, part-time
Project's own total, source currency
MIT
What is GELLO?
GELLO isn't a robot arm in its own right. It's a 3D-printed, scaled replica of a real arm's kinematics, using Dynamixel servos as joint encoders. You move it by hand, and the real robot follows. It was introduced in 2023 by Philipp Wu, Yide Shentu, Zhongke Yi, Xingyu Lin and Pieter Abbeel at UC Berkeley.
Because each GELLO matches its target robot joint for joint, the mapping is direct, with no inverse kinematics and no VR headset. That makes it a cheap, intuitive way to collect imitation-learning data. Designs exist for Franka, UR5, xArm7, YAM, Lite6, AR4 and Franka FR3.
GELLO specifications
- Joints
- Same as the target arm, plus a trigger gripper
- Sensors
- Dynamixel servos used as encoders
- Interface
- U2D2 USB adapter
- Supported robots
- Franka FER/FR3, UR5, xArm7, Lite6, YAM, AR4
- Software
- Python (uv or Docker); ROS 2 Humble for FR3
Figures as published by the project. See Sources below.
Bill of materials
| Part | Qty | Notes |
|---|---|---|
| Dynamixel servos | — | One per joint plus gripper |
| U2D2 | 1 | |
| Robot-specific printed parts | — | |
| Shared gripper parts | — | |
| Hardware per the BOM doc | — |
Where's the full bill of materials?
The full BOM, with exact quantities and vendors, lives in the project's own files. Prices change often, so treat $272 as a ballpark from the project. Start at the project repository.
Tools you'll need
- 3D printer
- Hex keys
- Dynamixel Wizard 2.0
- Linux PC with Python 3.11
Step-by-step build overview
Electronics & wiring overview
One Dynamixel daisy chain into a U2D2 over USB. The servos run with torque off, so they draw very little power.
Software
gello_software uses YAML configs for robots and teleop, supports simulation and includes data collection. The YAM path is the best supported.
Tips from the bench
- ☕ Set the IDs before assembly.
- ☕ Calibrate in the exact build pose.
- ☕ Try simulation before driving a heavy arm.
GELLO FAQ
Is GELLO a robot?
No. It's a passive controller that mirrors a robot arm's joints.
Which robots does it support?
Franka FER/FR3, UR5, xArm7, Lite6, YAM and AR4.
Where are the CAD files?
The repo has STLs. The authors share CAD source on request.
Sources
- GELLO hardware: wuphilipp/gello_mechanical
- GELLO software: wuphilipp/gello_software
- GELLO site
- Paper (arXiv 2309.13037)
Written by Bots n' Beans from the project's own documentation. Check the sources for the latest revision before you buy parts.
Related builds
Robot deals
All deals →
Get dealDeal · Everblog
10% off
ShopShop · CircuitMess
DIY robot kits
Robot and gadget kits you build yourself.
ShopShop · GRABO
Cordless vacuum lifter
GRABO Pro Brushless: the original cordless vacuum lifter for pavers, stone, glass and panels.
Like what we do? Buying through these links supports Bots n' Beans. We earn a commission at no extra cost to you. Thank you!
