Skip to main content

Getting Started with reBot Arm B601-RS

License: MITPython VersionPlatformPinocchio

6-DOF Robotic Arm · Multi-Motor Support · Kinematics Solver · Trajectory Planning · Fully Open Source

The reBot Arm project is open source on GitHub—please visit the repository and give it a Star! The repository contains the complete BOM. This guide will help you get started with the B601-RS, from assembly to operation.

Project Introduction

reBot-DevArm (reBot Arm B601 DM and reBot Arm B601 RS) is a robotic arm project dedicated to lowering the threshold for learning embodied intelligence. We focus on "True Open Source" — not just code, we open-source all of the following without reservation:

  • 🦾 Open-source robotic arms with two motor versions: We provide all open-source files for RoboStride and Damiao motor versions of the same appearance.
  • 🛠️ Hardware blueprints: Sheet metal and 3D printed part source files.
  • 🔩 BOM (Bill of Materials): Detailed to every screw's specification and purchase link.
  • 💻 Software and algorithms: Python SDK, ROS1/2, Isaac Sim, LeRobot, etc.

Safety Disclaimer and Risk Notice

About Power Supply

  1. The robotic arm is not shipped with a power supply / does not include a power supply by default. You can connect a battery yourself, or purchase our open-source 48V 12.5A MeanWell Power Supply or Amazon, Please do not purchase power supplies from unbranded manufacturers or unsafe channels. Any risks or consequences arising therefrom shall be borne by the individual.

If your household voltage is 220V, set the voltage selector switch on the side of the power supply to 230V. If your household voltage is 110V, switch it to 115V.

Assemble the Power Supply

Alternatively, you can choose our open-source 24V 14.6A MeanWell power supply enclosure for self-assembly. The text instructions and BOM are open-sourced in the GitHub repository (recommended only for developers with relevant power supply assembly experience).

Assembly reference video:

Assembly Guide

1

Assemble the reBot Arm

Step 1

  • Before assembly, please read the following instructions carefully. To ensure a smooth assembly process and a complete hands-on experience, please be patient, stay focused, and always follow these key points:
    1. This kit includes numerous screws and structural parts, some of which look similar. Please carefully verify the screw specifications and part models, and confirm the installation orientation before fastening.
    2. The video was recorded in early April. There may be minor adjustments to parts later, but this does not affect the assembly quality when following the video. The final parts are subject to what is shipped.
    3. For ease of screw installation and removal, the open-source BOM specifies standard screws. However, the screws shipped with the kit have thread-lock applied. You may also use your own preferred tools or an electric screwdriver (highly recommended to have one ready). If using an electric tool, be sure to set the torque to a low-to-medium level (3–6 kgf·cm) to avoid excessive torque that could strip the screws, causing irreversible damage where parts cannot be removed. If there is any sign of stripping, immediately replace the screw or realign and retry. Stripped thread-lock screws cannot be removed with a screw extractor and will scrap the entire part. Therefore, please proceed with caution.
    4. Please prioritize safety during assembly to avoid pinched fingers or crush injuries. Children should complete this project with the accompaniment of a parent or guardian.

You should have completed the preliminary preparation for the robotic arm assembly by following the video. Next, we will introduce the steps for writing motor IDs and calibrating the robotic arm.

Please refer to the video and text tutorial. Before controlling the robotic arm, you need to reset the zero point again.

Use MotorBridge to Calibrate the Arm and Complete the First Run

tip
  1. Explore our MotorBridge platform. This one-stop solution supports an expanding range of motors, including Damiao, RobStride, HighTorque, MyActuator, Hexfellow, and continuously updated robotic arms such as reBot. It is beginner-friendly and provides developers with a Python SDK matching the Web UI features.

  2. MotorBridge features tailored for reBot include one-click zero calibration, parameter writing, drag-and-drop motor control, and built-in model visualization.

  3. MotorBridge supports Windows, Ubuntu, and macOS.

tip
  1. Virtual machines do not provide sufficient performance for reliable demo operation and may introduce configuration issues. Use a physical Ubuntu machine whenever possible.

    We recommend installing Ubuntu 24.04 LTS.

    Recommended Bilibili installation tutorial: Ubuntu Dual-Boot Installation Tutorial

  2. (Beta) You can ask an agent to initialize the robotic arm. Send it the following prompt:

Please follow the process in AGENTS.md (https://github.com/Welt-liu/reBot-B601-Agent-Guide/blob/main/en/AGENTS.md) to help the user complete the initialization of a new robotic arm.

If you purchased a pre-assembled kit, tell the agent during the motor ID step: "I purchased a pre-assembled kit. Scan motors 1–7 and verify that they are online. Do not rewrite the motor IDs."

  1. The agent writes motor IDs through CLI commands, while this Wiki uses the Web UI. Both methods work.

Software Setup and Calibration Workflow

Follow these steps in order to install Miniforge and create an isolated Python environment for reBot development.

1

Install Miniforge

Step 1

Download and install Miniforge for your operating system:

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

During installation, press Enter to continue, enter yes to accept the terms, and enter yes when asked whether to initialize Conda.

Restart the terminal and verify the installation with conda --version.

If conda is not found

Load Miniforge and initialize Bash:

source ~/miniforge3/etc/profile.d/conda.sh
conda init bash
2

Disable Automatic Base Activation (Optional)

Step 2

After Miniforge initializes Conda, each new terminal automatically activates the (base) environment. If you prefer to start in the system environment, disable automatic base activation:

conda config --set auto_activate_base false

Verify: Close the current terminal and open a new one. The (base) prefix should no longer appear. Activate the reBot environment manually when needed with conda activate rebot.

Restore the default: Run conda config --set auto_activate_base true to enable automatic base activation again.

3

Create the Python Environment

Step 3

Create the Python 3.12 environment:

conda create -y -n rebot python=3.12
4

Activate the Environment

Step 4

Run this command whenever you open a new terminal for reBot:

conda activate rebot
5

Install Motorbridge

Step 5

After activating the reBot virtual environment, run the following command to install motorbridge:

Note for macOS users

If you experience low frame rates during teleoperation on macOS, it may be caused by an outdated WCH CH34x driver version. For macOS 10.14 and later, the system includes a built-in AppleUSBCHC0M driver. You can uninstall the old driver and switch to the macOS built-in driver, which should effectively improve frame rates.

pip install motorbridge
6

Configure PCAN-USB

Step 6

Get the PCAN-USB device working on the CAN bus at 1Mbps for robotic arm communication.

# The kit includes PCAN-USB, which should normally show up as can0 or can1
sudo modprobe peak_usb
ip -br link

# If can0 appears, set the bitrate
sudo ip link set can0 down 2>/dev/null
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up
Attention

If the PCAN device has incorrect firmware after driver installation, expand the section below, download the PCAN firmware, and follow the recovery steps.

PCAN Firmware Download & Driver Repair Steps - Ubuntu

Ubuntu users please refer to this guide

1.> 📦 Click to download USB2CAN.zip

2.Switch USB2CAN to BOOT

3.Please extract the USB2CAN.zip from step 1, and place flash_pcan_ubuntu.sh and pcan_canable_hw.bin (from inside USB2CAN.zip) in the same directory

Click to download flash_pcan_ubuntu.sh

If transferring from another computer (e.g. scp):

scp flash_pcan_ubuntu.sh pcan_canable_hw.bin seeed@your_Ubuntu_IP:~/Downloads/

Or simply copy it onto a USB flash drive and plug it into the Ubuntu machine — as long as the files end up in ~/Downloads, the current directory, or /tmp, the script will find them automatically.

4.Execute:

bash flash_pcan_ubuntu.sh

Enter your password; wait for completion

After completion, switch back to "120R"

Re-plug the USB.

7

Write Zero Points and Debug with MotorBridge Gateway

Step 7

Before Motor Reset

Before motor parameter configuration, please note the following preparations and safety rules:

  • Prepare 2 tooling clamps (size ≥3 inches) and a 48V XT30-output switching power supply (please choose a reputable brand; do not use inferior power supplies).
  • During debugging and operation, maintain a safe distance of at least 1 meter.
  • Do not hot-plug motors; disconnect the power supply before plugging/unplugging the XT30 2+2 connector.
  • Do not overload or overspeed the motors; check wiring and fasteners before startup; do not use in humid, high-temperature, or dusty environments.
  • Set reasonable program parameters and emergency stop function to prevent equipment runaway.
  • Please strictly follow the above rules. The seller is not liable for any risks and losses caused by non-compliant operations or human errors.

Web UI Zero Point Writing and Debugging

Open the address motorbridge-studio in your browser, click the Help option, copy the corresponding command based on your operating system and driver board, verify the IP address and port number, then press Enter in the terminal to run it.

motorbridge-gateway --bind 127.0.0.1:9002  

macOS:

motorbridge-gateway --bind 127.0.0.1:9002 

or

DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib motorbridge-gateway --bind 127.0.0.1:9002 

Initialize RS Motor Control Parameters

Complete parameter initialization before first use

Most reBot Arm B601-RS examples run in MIT mode. Native Position (pos_vel) mode directly uses the position-loop gain loc_kp and maximum velocity vel_max. Its motion behavior is also affected by the speed-loop gain spd_kp and acceleration parameter acc_rad. If the recommended B601-RS parameters have not been initialized, or if the parameters saved on each joint are inconsistent, Position mode may show abnormal response, speed, or acceleration and deceleration behavior.

First select rebot-arm-robstride under Robot Model in MotorBridge Studio, scan and confirm that Joints 1-7 are all online, and complete the robotic arm zero calibration described above. Then perform the following steps:

  1. Click Read Parameters to read the parameters currently saved on all online joints. This operation only reads data and does not modify the motors. Wait until the page reports that the control parameters have been read successfully, and retain the current values as a record.
  2. Click Apply Default Template and confirm that the page reports the reBot Arm RobStride default parameter template has been applied to Joints 1-7. This operation only loads the recommended values into the page; it does not write them to the motors yet.
Read the B601-RS motor parameters and apply the default template
  1. Click Write Parameters. Confirm that the robotic arm is safely supported and that no people or obstacles are nearby, then confirm the write operation in the dialog. Do not disconnect the power or plug or unplug motor cables while parameters are being written.
Confirm writing the B601-RS motor parameters
  1. After writing is complete, MotorBridge Studio automatically reads the parameters back. Initialization is successful when the page reports that the post-write readback verification matches.
Loading Comments...