Community & Support
Frequently asked questions, forum topics, and community resources for the SO-101 open-source robot arm.
Frequently Asked Questions
Where do I get the parts and BOM for the SO-101?
The full bill of materials, STL files for printing, and assembly instructions are maintained in the HuggingFace LeRobot repository on GitHub. Search for "SO-101" in the repo. Feetech STS3215 servos can be purchased directly from Feetech or from common electronics suppliers such as Amazon or AliExpress.
Is the SO-101 compatible with LeRobot?
Yes, natively. The SO-101 is supported directly by HuggingFace LeRobot with no additional plugin needed. Install LeRobot and use --robot.type=so101 in all CLI commands:
pip install lerobot # or: uv pip install lerobot python lerobot/scripts/calibrate.py --robot.type=so101 --robot.port=/dev/ttyACM0
No manual registration or additional configuration is needed after installation.
Can I use the SO-101 for bimanual teleoperation?
Yes. Use one SO-101 as a leader arm and a second SO-101 (or a DK1 leader arm) as the input device. Both connect via USB serial and are natively supported by LeRobot. For a bimanual follower setup with the DK1 leader, see the DK1 page for full configuration details.
The serial port is not found on Linux — what do I do?
On Linux, USB serial ports under /dev/ttyACM* require the user to be in the dialout group. Run the following and then log out and back in:
sudo usermod -aG dialout $USER
Alternatively, grant temporary access with sudo chmod 666 /dev/ttyACM0. If the port still does not appear, verify the CH340 or CP2102 USB-to-serial driver is installed. On macOS you may need to install the CH340 driver separately.
A servo is not responding — what should I check?
Work through this checklist in order:
- Verify 12V power is connected and polarity is correct
- Confirm the USB cable is securely connected to the PC and to the servo bus adapter
- Check you are using the correct port in your command (run
find_motors_bus_port.py) - Verify each servo has a unique ID (1–6 from base to tip) — duplicate IDs cause communication failures
- Re-run calibration:
python lerobot/scripts/calibrate.py --robot.type=so101 --robot.port=/dev/ttyACM0 - Inspect the servo cable connections for loose or reversed connectors
What cameras work with the SO-101 for data collection?
Any USB webcam works with LeRobot's built-in OpenCV camera driver. Use --robot.cameras.top.type=opencv and --robot.cameras.top.index=0 in the record.py command.
For depth-enabled data collection, OAK-D (Luxonis) and Intel RealSense D435 are community-recommended options. These provide RGB + depth at 30 fps and are supported by LeRobot camera drivers.
Active Forum Topics
Community Resources
LeRobot on GitHub
Official HuggingFace LeRobot repository. BOM, STL files, SO-101 documentation, and issue tracker.
github.com/huggingface/lerobot →SVRC Forum
Ask questions, share recordings, and connect with other SO-101 researchers in the main community forum.
Open forum →Learning Path
Structured progression from fit assessment through setup, pilot design, and community-backed troubleshooting.
Read learning path →Setup Guide
Step-by-step assembly, LeRobot install, calibration, teleoperation, and data collection walkthrough.
Open setup guide →Full Specifications
Complete mechanical, electrical, and software specifications for the SO-101 arm.
View specs →Direct Support
Reach the SVRC team directly for integration questions or community support inquiries.
Contact us →Have a question or want to share your SO-101 build results?
Go to Forum → LeRobot GitHub → Contact Support →