What are SO101 Robot Arms?
SO101 is an open-source, 6-degree-of-freedom (6-DOF) robotic arm set designed for desk-based use. It is commonly built using 3D-printed parts and standard hardware servos, making it low-cost and highly customizable. These robot arms expose developers to real robotic hardware without the cost or complexity of industrial systems. The SO101 arm set is often deployed as a dual-arm (leader–follower) configuration, but this setup is optional. Users can also operate a single follower arm independently.Physical Components
- 6-DOF Articulated Arm: A compact 6-DOF robotic manipulator designed for close-range, desk-based operations.
- Servo-Driven Joints: Uses position-controlled servo motors to enable real-time joint movement.
- Lightweight, Open-Source Hardware: Built from lightweight, open-source hardware components that are easy to modify and extend.
- Simple End-Effector (Gripper): Includes a gripper suitable for basic manipulation tasks.
- Leader-Follower Physical Setup (Optional): Supports a dual-arm configuration useful for teleoperation and imitation learning:
- Leader arm (manually actuated): Joint positions are sampled.
- Follower arm (actively controlled): Mirrors the leader’s joint trajectories in real time.
- USB Control from a Computer / SBC: The SO101 can be directly controlled from a laptop or single-board computer (SBC, such as a Raspberry Pi) over USB or serial communication. This allows developers to control the robot without industrial controllers or specialized hardware.
Set up the SO101
Before configuring the software, you need to physically connect your SO101 hardware components.Connect the Hardware Components
Follow this sequence to set up your physical hardware:Step 1: Power the Robot Arms
Connect both the leader and follower arms to their power supplies:- Locate the power input on each arm’s controller board.
- Connect the appropriate power supply to each arm.
- Verify voltage: Ensure the voltage matches your motor specifications
- Common configurations: 6V or 12V (depends on your motors).
- Check your SO101 build documentation for the correct voltage.
Step 2: Connect Arms to Computer
Each arm needs a USB connection to communicate with your computer:-
Leader arm:
- Plug one end of a USB-C cable into the leader arm’s controller.
- Plug the other end into your computer (laptop, Raspberry Pi, or SBC).
-
Follower arm:
- Plug one end of a USB-C cable into the follower arm’s controller.
- Plug the other end into your computer.
Each arm appears as a separate serial device. You’ll identify their specific ports in the software setup steps.
Step 3: Connect the Camera
If you’re using an external camera for dataset recording:- Connect your USB camera or IP camera to the computer.
- Verify the camera is detected by your system.
Use Cyberwave with SO101
The SO101 robot arm set provides a low-cost and efficient way to get started with robotic manipulation. Using Cyberwave with an SO101 arm set enables the following capabilities:- Quick onboarding: Onboard an SO101 arm from the Cyberwave catalog, automatically create its digital twin, and begin interacting with it in just a few clicks, no manual hardware configuration required.
- Teleoperation: Teleoperate the SO101 using Cyberwave’s SDK, enabling real-time control of the follower arm through a physical leader arm with joint-level mirroring.
- Remote operation: Operate the SO101 without a leader arm by sending control commands directly from Cyberwave via the browser, SDK, or APIs.
- Controller policies: Assign external controller policies such as keyboard input, scripted controllers, or vision-language-action (VLA) models using a standardized control interface.
- Create and export datasets: Record SO101 operations, including video feeds and control actions, and automatically structure them into episodic datasets for training and evaluation.
- Train and deploy models: Train machine learning models using collected datasets and deploy them directly as controller policies within Cyberwave.
- Simulation and real-world execution: Test trained models in a browser-based 3D simulated environment using the SO101 digital twin, then deploy the same models to the physical robot without changing the logic.
Next Steps
Get Started with SO101
Set up teleoperation, create datasets, and train ML models with the SO101 robot arms.