SO-101
Low-cost, open-source 3D-printed arm with five joints plus a gripper, driven by six Feetech STS3215 serial bus servos. It is the successor to the SO-100, and the LeRobot docs call it their flagship robot. It is normally built as a leader/follower pair for teleoperation.
open hardware · Apache-2.0LeRobot native since 0.3.2verified 2026-10-24aka SO-ARM101, SO101, SO-101 arm, so101_follower, so101_leader
Policies on SO-101 16 with evidence · 2 unknown
| Policy | State | Tier | Verified | Detail |
|---|---|---|---|---|
| ACT Imitation | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Diffusion Policy Imitation | works with caveats | T3 · community reported | 2026-10-24 1d ago | Community-reported only; not documented upstream or maintainer-tested. |
| Evo-1 VLA | works | T1 · upstream documented | 2026-10-24 1d ago | |
| Fast-WAM World model | partial | T1 · upstream documented | 2026-10-24 1d ago | Upstream docs only give a generic real-robot rollout command for so101_follower; no SO-101 training recipe, real-robot checkpoint or result is published. The only SO-101 checkpoint found is trained on simulated SO-101 data. |
| GR00T N1.7 VLA | works | T1 · upstream documented | 2026-10-24 1d ago | |
| LingBot-VA World model | partial | T3 · community reported | 2026-10-25 today | Community-reported only; not documented upstream or maintainer-tested. |
| MolmoAct2 VLA | works with caveats | T1 · upstream documented | 2026-10-24 1d ago | The MolmoAct2-SO100_101 weights expect the pre-LeRobot-0.5.0 joint calibration convention: lerobot/MolmoAct2-SO100_101-LeRobot includes the frame correction, but self-converted or fine-tuned checkpoints must set joint_signs/joint_offsets or the arm may move in the wrong direction. |
| Multitask DiT Imitation | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| π0-FAST VLA | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| π0 VLA | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| π0.5 VLA | works with caveats | T3 · community reported | 2026-10-25 today | Community-reported only; not documented upstream or maintainer-tested. |
| SmolVLA VLA | works | T1 · upstream documented | 2026-10-24 1d ago | |
| VLA-JEPA VLA | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| VQ-BeT Imitation | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| WALL-OSS VLA | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
| X-VLA VLA | partial | T3 · community reported | 2026-10-24 1d ago | Training evidenced by public checkpoint(s); on-robot inference not documented by a primary source. |
No verified evidence, but both are available in LeRobot (ecosystem context): EO-1, HIL-SERL, TD-MPC.
Not yet verified: OpenVLA-OFT, OpenVLA. Have evidence?
Specifications
- Degrees of freedom
- 5 (Six servos per follower: shoulder_pan, shoulder_lift, elbow_flex, wrist_flex, wrist_roll + gripper.)src
- Arms
- 1
- Actuators
- Feetech STS3215 (follower: 6x, 1/345 gearing; leader: mixed 1/345, 1/191 and 1/147 gearing so it can be back-driven by hand).src
- Price (USD)
- $121.94–$229.88 (Self-sourced parts cost from the maker's README (US links): $121.94 for one follower arm, $229.88 for a leader + follower pair. Excludes 3D-printed parts, shipping and tax. Assembled arms and kits are sold by third-party vendors listed in the README, at their own prices (not recorded here).)src
- BOM / build
- github.com/TheRobotStudio/SO-ARM100#sourcing-parts
- Homepage
- github.com/TheRobotStudio/SO-ARM100
- Supported sensors
- RGB, single camera, RGB, two cameras (wrist + overview), RGB, three or more cameras, Intel RealSense depth
- Teleoperation
- SO-101 leader arm (so101_leader)
LeRobot cameras are configured per robot (`cameras:` dict). OpenCV and Intel RealSense (with depth) are the built-in camera backends.
Framework support
| Framework | Support | Since | Type string | Docs |
|---|---|---|---|---|
| LeRobot | nativesrc | 0.3.2 | so101_follower | docs |
| LeRobot: Leader: --teleop.type=so101_leader. Since 0.4.3 the type is registered by the shared so_follower module, which merged the separate SO-100 and SO-101 implementations (PR #2763). The type string did not change. 0.3.2 is the first tagged release, and the only earlier PyPI release (0.1.0, 2024-03-09) predates all real-robot support. | ||||
Sources
- T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot README lists natively supported hardware.
“SO100, LeKiwi, Koch, HopeJR, OMX, EarthRover, Reachy2, Gamepads, Keyboards, Phones, OpenARM, Unitree G1, reBot B601.”
https://github.com/huggingface/lerobot/blob/v0.6.1/README.md - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
SO-101 assembly guide: follower uses 6 STS3215 motors (1/345); leader uses three gear ratios.
“The follower arm uses 6x STS3215 motors with 1/345 gearing. The leader, however, uses three differently geared motors”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/so101.mdx - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
so_follower config registers both so101_follower and so100_follower robot types.
“@RobotConfig.register_subclass("so101_follower") @RobotConfig.register_subclass("so100_follower")”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/robots/so_follower/config_so_follower.py - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
Motor map: five arm joints plus gripper, all sts3215.
“"wrist_roll": Motor(5, "sts3215", norm_mode_body), "gripper": Motor(6, "sts3215", MotorNormMode.RANGE_0_100),”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/robots/so_follower/so_follower.py - T1 · upstream documentedsource-codesource 2025-08-01verified 2026-10-24 (1d ago)lerobot 0.3.2
so101_follower type already registered at v0.3.2 (first tagged release).
“@RobotConfig.register_subclass("so101_follower")”
https://github.com/huggingface/lerobot/blob/v0.3.2/src/lerobot/robots/so101_follower/config_so101_follower.py - T1 · upstream documentedrelease-notessource 2026-01-22verified 2026-10-24 (1d ago)lerobot 0.4.3
v0.4.3 merged the SO-100/SO-101 implementations into one so_follower module.
“feat(robots): consolidate SO arms implementation by @imstevenpmwork in https://github.com/huggingface/lerobot/pull/2763”
https://github.com/huggingface/lerobot/releases/tag/v0.4.3 - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
LeRobot camera classes: OpenCV (USB webcams etc.) and RealSense (with depth).
“| `RealSenseCamera` | Intel RealSense (with depth) |”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/cameras.mdx - T1 · upstream documentedvendor-docsverified 2026-10-24 (1d ago)
Maker README: SO-101 is the next-generation SO-100; BOM totals $229.88 (leader+follower) and $121.94 (one follower).
“| Total | --- | $121.94 |”
https://github.com/TheRobotStudio/SO-ARM100/blob/a758567c3978dfeefe282ede0500085a48fe8f78/README.md - T1 · upstream documentedvendor-docsverified 2026-10-24 (1d ago)
SO-ARM100 repository (SO-100 and SO-101 designs) is Apache-2.0 licensed.
“Apache License Version 2.0, January 2004”
https://github.com/TheRobotStudio/SO-ARM100/blob/a758567c3978dfeefe282ede0500085a48fe8f78/LICENSE