Skip to project
LIDOR.
← All projects
ROBOTICS & AEROSPACE

SO-101 AUTONOMOUS ARM

Home learning project: a 3D-printed SO-101 arm trained with an ACT imitation-learning policy to pick a chocolate bar off the desk and drop it into a mug - 52 teleop demos, $2.23 of cloud training, autonomous rollout.

autonomous rollout verified
Year
2026
ARM
SO-101 / SO-ARM100, 5 DOF + gripper, 6x Feetech STS3215
GRIPPER HOLDING THE KIFKEF OVER THE TARGET MUG (RERUN VIEWER)

GRIPPER HOLDING THE KIFKEF OVER THE TARGET MUG (RERUN VIEWER)

IMITATION LEARNING ON AN OPEN-SOURCE ROBOTIC ARM

LEROBOTACTIMITATION-LEARNINGMUJOCORUNPODWSL23D-PRINTINGFEETECH-STS3215
01 / The build

Behind the project.

An end-to-end physical AI build on the open-source SO-101 (SO-ARM100) 5-DOF arm with parallel gripper. Demonstrations were collected by teleoperating a twin leader arm; an ACT (Action Chunking Transformer) policy was trained with Hugging Face LeRobot on a rented RTX 4090 and deployed back to the real arm, which completed the pick-and-place autonomously.

The first trained policy lifted the arm 5 mm and froze: 34.5% of the recorded frames were static dwell at the start and end of each demo, and ACT's 100-action chunks turned that into a strong 'do nothing' prior. An automated kinematic trimming pipeline cut the dataset from 21,665 frames to 14,201 pure-motion frames, and the retrained policy completed the task.

Windows + WSL2 is a trap for real-time robotics: usbipd camera passthrough starved the 30 Hz control loop down to 4.6 Hz, so the camera runs through a native Windows DirectShow MJPEG server consumed by WSL over HTTP. Cloud training was wrapped in triple budget watchdogs (local cost cap, in-container watchdog, guaranteed cleanup) and finished at $2.23 for 47,700 steps. Physical rollout debugging covered leader/follower serial-port calibration mixups, a policy gone blind in a dark room (mean pixel brightness 4.33), and out-of-distribution starting poses.

02 / In the workshop

Project media.

6 photos & media · Tap to expand

Technical details

Under the hood.

ARM
SO-101 / SO-ARM100, 5 DOF + gripper, 6x Feetech STS3215
TELEOP
Twin leader-follower setup
POLICY
ACT via LeRobot 0.6.1 (PyTorch 2.4)
DATA
52 episodes; 21.7k frames raw / 14.2k curated
TRAINING
47,700 steps, RTX 4090, 2.5h, $2.23
SIM
MuJoCo digital twin
ENV
Windows 11 + WSL2, custom DirectShow MJPEG camera server
Notes & outcomes

What came out of it.

  • Killed the 'inaction attractor': auto-trimmed 7.4k static frames (34.5% of data) that taught the first policy to freeze after 5 mm.
  • Full cloud training run for $2.23 with triple budget watchdogs - no surprise bill.
  • Native Windows MJPEG camera server restored a rock-solid 30 Hz control loop over WSL2.
  • Autonomous pick-and-place rollout verified on the real arm after lighting, serial-port and starting-pose debugging.
Keep exploring

Code & resources.