Get Your SO-101 Robot Arm

The SO-100 robot arm is a 5-DOF robotic arm with a 1-DOF gripper. It’s a popular robot arm for AI robotics, with many users. The SO-100 robot arm is open source and can be built using off-the-shelf components and 3D printed parts. If you’re looking to buy SO-100 robot arms already assembled, with cameras and software, you can get a starter pack on our shop.

SO-100 vs. SO-101

The differences between the SO-100 and SO-101 are subtle. Software compatible with the SO-100 will work with the SO-101, but there are some improvements in the SO-101.
  • SO-101 3D printed parts are easier to assemble. The base part no longer requires a small screwdriver, the wrist is easier to 3D print, you can’t rotate the wrist more than 360 degrees, and the wires are outside. This makes maintenance easier and assembly faster.
  • To assemble the SO-101 leader arm, it is now recommended to keep the gears in the motors. The gears of the leader arm have different gear ratios.

Assembly Guide for the SO-101

A video tutorial is available to guide you through the assembly of the SO-101 robot arm.

Secure the SO-101 Arm

Choose a stable surface and firmly attach the SO-101 robot arm using the provided table clamps.
Ensure the arm is securely fastened to prevent any movement during operation. Keep the surrounding area clear of any obstacles that could impede the arm’s movement.
SO-100 fixed using clamps

Connecting the Components

Follow this sequence to connect your setup:
  1. Connect the SO-101 robot arm to the power supply. Note that the Pro Edition of the SO-101 requires a 12V power supply for the follower arm and a 5V supply for the leader arm.
  2. Plug one end of the USB-C cable into the SO-101 arm and the other end into your computer (e.g., laptop, Raspberry Pi).
  3. Connect any additional cameras to your computer.
Here is an illustration of a complete setup with a robotic arm and camera connected to a Raspberry Pi. Full setup

Start phosphobot

With all components connected and powered on, open a terminal and run the following command to install the phosphobot software:
curl -fsSL https://raw.githubusercontent.com/phospho-app/phosphobot/main/install.sh | bash
Next, start the server:
phosphobot run
Navigate to localhost in your web browser to access the phosphobot dashboard, where you can find the Control section to operate your robot with your keyboard. phosphobot dashboard

Calibrating the Robot

If you purchased a pre-assembled robot, it should already be calibrated. This step is for those who have built their own arm.
The phosphobot software should automatically detect your SO-101 arm, but calibration is necessary for proper functionality. A video guide is available to walk you through the calibration process with phosphobot.
  1. Navigate to the Calibration page in the dashboard.
  2. Be prepared to securely hold your robot, as calibration will disable the motor torque, which could cause the arm to fall.
  3. Follow the positions in the video to calibrate your robot arm.
Your calibration settings are saved in the ~/phosphobot/calibration folder in your home directory, where you can manually edit the file for finer adjustments. For example, to tune the PID.

About LeRobot calibration

If you’re using LeRobot framework for training, you’ll need to calibrate the robot with LeRobot after this phosphobot calibration. You need first to calibrate with phosphobot, then with LeRobot. The LeRobot calibration process is compatible with phosphobot, but independent. This only needs to be done once.

Controlling the Robot

Your robot is now ready for operation! From the dashboard, select Keyboard Control to manipulate the robot arm using your keyboard. Six keys are assigned to move the robot in a fixed frame of reference, and the spacebar is used to open and close the gripper. Robot_Controller

Next Steps

You are now set to explore more advanced functionalities: