3D PRINT THIS ROBOT ARM, SHOW IT A TASK, AND IT LEARNS TO REPEAT IT

Demonstrate a task by moving a leader arm, record it a few dozen times, and LeRobot trains the follower to repeat it; this is the arm much of Hugging Face's imitation-learning community builds on.

by The Robot Studio

FULL CAD BOM FIRMWARE DOCS

RoboticsAI

Built with3D printing

difficulty
●●●●○
time
a week
license
Apache-2.0
repo
repo ACTIVE7,648 stars
1
Jump to section

COMPAREE VERDICT

This is the hardware backbone of Hugging Face's LeRobot project: you build a leader arm to demonstrate tasks and a follower arm that learns to mimic them. Move the leader through a task, record many demonstrations, and LeRobot trains a policy to repeat it. The current version is SO-101; the repo has STL and STEP files, a parts list with the exact STS3215 servo variants, and links to kits and assembled arms. The prints take time, the servo wiring is dense, and calibration takes patience, but you end up with a capable learning robot on your desk for a few hundred dollars in servos and filament. The biggest trap is the software side: LeRobot is not plug-and-play, and you need Python fluency and patience with dataset collection. If you have built servo projects before and are comfortable with Python, this is a week well spent.

GOOD TO KNOW

  • —STL files, STEP models, and detailed assembly instructions all present in the repo.
  • —Full bill of materials with servo specs, screws, and recommended suppliers.
  • —LeRobot integration is documented — you set servo IDs and calibrate with LeRobot's scripts, then run Python training loops. No custom firmware to flash.
  • —The official SO-101 assembly guide in the Hugging Face LeRobot docs is the best starting point; the original SO-100 is now deprecated.
  • —Apache 2.0 license — commercial use permitted.
  • —What is missing: a one-click setup. Unless you buy a kit or assembled arms from the listed vendors, you are building two arms, configuring motor IDs, calibrating them and debugging USB connections before any learning happens.

Parts to buy

5 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • 12 Feetech STS3215 servos for a leader-follower pairFind
  • Two bus servo driver boardsFind
  • Power suppliesFind
  • USB cablesFind
  • Clamps and screwsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintFull leader and follower sets in PLA+ at 15% infill; the repo has combined plates for Ender-size (220x220) and Prusa-size (205x250) beds.
Buy12 Feetech STS3215 servos for a leader-follower pair (7× C001, 2× C044, 3× C046), two bus servo driver boards, power supplies, USB cables, clamps and screws — or a ready-made kit from one of the listed vendors
Tools3D printer, soldering iron, hex keys, USB-serial adapter, Python environment
Skillsintermediate 3D printing, soldering, Python scripting, motor calibration — this is not a first robotics project
Timea week — prints span multiple days, assembly and wiring take a weekend, then software setup and first training runs
Cost$$ — servos dominate the budget, expect 200-300 dollars in motors and electronics before filament
SafetyNo mains voltage, no lithium cells. The arm can move fast enough to pinch fingers during testing — keep hands clear when motors are live.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

Want to help with building robots?

A short video from The Robot Studio's own YouTube channel. For the build itself, follow the official SO-101 assembly guide in the Hugging Face LeRobot docs, linked from the README.

More builds like this

All projects

Gallery

opengraph.githubassets.com
media.springernature.com
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the Hugging Face assembly tutorial by Jess Moss(Linked in the repo README — this is the clearest build walkthrough, with photos of every joint and servo placement.)
  2. 2.Check the bill of materials in the README (Sourcing Parts section)(Exact servo model numbers and screw sizes — order everything before printing.)
  3. 3.Print the SO-101 parts from the STL/SO101 folder(The leader and follower have separate print plates (the leader has a handle and trigger instead of the follower's gripper jaw), so print one Leader and one Follower plate for your printer size. The README recommends PLA+ at 15% infill.)
  4. 4.Follow the LeRobot SO-ARM100 setup guide(In the LeRobot docs: setting motor IDs, calibrating both arms, teleoperating, recording a dataset and training your first policy.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Buying the wrong servos — the arms use Feetech STS3215 serial bus servos, and the leader arm needs specific gear-ratio variants (C044 and C046) so it is easy to move by hand. Cheap hobby PWM servos will not work.
  • Underestimating the two-arm requirement — you need to build both leader and follower to do imitation learning. Budget double the print time and servos.
  • Skipping motor ID setup — every servo needs a unique ID or the arm will twitch randomly. The LeRobot docs explain this, but it is easy to miss.
  • Expecting instant learning — collecting a useful dataset means repeating a task dozens of times, then waiting for training to converge. First attempts often fail.
  • Loose connections — the servo daisy chain is fragile. A single bad crimp will make the whole arm unresponsive.
  • Ignoring the Python stack — LeRobot needs PyTorch, gym environments, and dataset tools. If you have never trained a policy before, budget a day just for software setup.

Can I build just one arm to test?

Yes, but you cannot do imitation learning without both — the leader is how you teach tasks. A single follower can run pre-trained policies if someone shares them.

What can it actually learn?

Pick-and-place, simple assembly, button presses — anything you can demonstrate repeatably in its workspace. Complex multi-step tasks need more data and tuning.

How long does training take?

It depends on the task, the policy, the number of demonstrations and your GPU; the LeRobot docs cover training, and collecting a good dataset is usually where most of the time goes.

Do I need a specific 3D printer?

No — any printer with a 200x200mm bed and decent accuracy works. The parts are not precision-critical, but loose joints will hurt learning performance.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The repo has more than 7,600 stars and a large part of the LeRobot community runs on this hardware. If you have built one, what task did you teach it first?

CompareeTEAM2mo agoedited

Practical notes from our verification: the repo is clean and complete for the hardware: STL and STEP files for the current SO-101 leader and follower arms, a parts list with the exact STS3215 servo variants, optional camera mounts, and simulation models. There is no custom servo firmware to flash; the servos are off-the-shelf, and motor IDs and calibration are set up through LeRobot. The official assembly guide is on Hugging Face, not a separate YouTube walkthrough, and the README lists several vendors selling kits or assembled arms if you would rather not print. Printing and assembly are straightforward if you have built anything with servos before, but getting LeRobot's training running and collecting a useful dataset is where most of the time goes. This is a research platform rather than a plug-and-play kit, and the project's Discord is the place to ask when you get stuck. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

The Robot Studio

The Robot Studio designed SO-ARM100 with Hugging Face's LeRobot project as a fully 3D-printed 6-DOF arm with a low material cost, so anyone could experiment with imitation learning. It has since become a common reference design in the LeRobot community; the current version is SO-101.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.