Safety Guidelines
Read these guidelines before powering on your SO-101 for the first time. The arm is lightweight but servos can apply enough force to cause injury or damage if operated incorrectly.
Servo Protection
The Feetech STS3215 servos are the most sensitive components in the SO-101. Incorrect handling can strip gears or burn out windings.
- Never manually override a joint while the arm is powered — always send a software stop command first
- Avoid hitting joint travel limits repeatedly; configure software limits to stop before physical limits
- If a servo emits a clicking or grinding sound, stop operation immediately and inspect for gear damage
- Allow servos to cool between long recording sessions — sustained high-load positions generate heat
- Do not exceed the rated payload (~500 g) at full arm extension
Power Safety
The SO-101 runs on 12V DC. Incorrect voltage or reversed polarity can permanently damage servos.
- Use a regulated 12V DC supply rated at 3A or higher
- Never use a laptop charger or unregulated supply as a substitute
- Inspect all servo cable connections before applying power after any reassembly
- Keep the work area dry — never operate near liquids
- Use a power strip with an accessible switch as a manual cut-off for the 12V supply
Build Quality & Maintenance
The SO-101 uses 3D-printed structural parts. Print quality and assembly tightness directly affect safe operation.
- Re-check all screws after initial assembly — vibration can loosen hardware during first operation
- Inspect all servo mounting screws monthly, or after any collision
- Check for layer delamination or cracking in printed parts, especially at joint interfaces
- Replace any printed part showing visible stress fractures before continuing operation
- Use a minimum 20% infill density for structural parts; 40%+ recommended for servo mounts
Workspace Setup
The SO-101 is a lightweight arm, but an unsecured base can tip or slide during fast motions, creating a hazard.
- Bolt or clamp the base securely to a sturdy table before first power-on
- Keep hands and objects out of the arm's reach envelope during powered operation
- Define a clear workspace area around the arm — avoid clutter that the arm could strike
- For classroom or lab use, always have a second person present or visible during initial testing
- Route USB and power cables away from joint travel paths to prevent snagging
Calibration Requirements
Calibration sets the servo zero positions. Operating without calibration or with stale calibration data can cause the arm to move unexpectedly.
calibrate.py --robot.type=so101 before operating the arm. Calibration data stored from a previous configuration will produce incorrect joint zeros.
- Run calibration on first power-on after assembly
- Re-calibrate after any joint disassembly, servo replacement, or collision
- Verify all joints reach their calibration positions without obstruction before recording
Emergency Procedures
The SO-101 has no hardware e-stop. Use the software and hardware methods below.
- Software stop: Press Ctrl+C in the terminal running lerobot scripts — the arm will disable servo torque and go limp
- Hardware stop: Unplug the USB cable — the arm holds position but stops receiving commands
- Full de-energize: Unplug the 12V power supply — all servos disengage; support the arm before doing this to prevent it from falling under gravity
- Keep the workspace clear so you can reach the USB cable or power switch quickly