From Waveshare Wiki
Jump to: navigation, search







RSBL45-24 is a programmable RS485 serial servo motor with a locked-rotor torque of It features a full aluminum alloy case, a brushless motor, a steel gear box, a 360° high-precision magnetic encoder, and an external stainless steel primary multi-servo disk. The servo motor allows for programming to set any angle as the servo motor's middle position, enabling 360° controllable angles and multi-turn continuous rotation. It includes a built-in acceleration start/stop function for smoother movements.
Each servo motor has two interfaces, allowing multiple servo motors to be connected in series. Theoretically, up to 253 servo motors can be controlled simultaneously, with each servo motor capable of reporting its current angle, load, voltage, mode, and other information. This servo motor is suitable for robotic arm projects, hexapod robots, humanoid robots, wheeled robots, and other robot applications requiring closed-loop control, easily handling heavy loads.
Additionally, we provide a robotic arm model for this servo motor model, as showcased on the detail page. You can download the open-source structure model and engineering files from the "Resources - Open Source Structure" section at the bottom of the page.


  • WORKING VOLTAGE: 9 ~ 24 V (typ. 24V)
  • ROTATION ANGLE: 360° (angle control in servo mode)/continuous rotation in motor mode
  • BAUDRATE: 38400bps ~ 1Mbps (1Mbps by default)
  • GEAR: high precision steel gear (reduction ratio 1:353)
  • NO-LOAD SPEED: 0.142sec/60°(70RPM)@24V
  • ID RANGE: 1 ~ 253
  • FEEDBACK: Position, Load, Speed, Input Voltage, Current, Temperature
  • WEIGHT: 100g


  • Can be used in series, controlling up to 253 servo motors simultaneously (provided sufficient power supply) and obtaining feedback information from each servo motor.
  • 360° magnetic encoder allows for a wider range of angle control.
  • High precision with angle control accuracy reaching 360°/4096.
  • Any angle can be set as the servo motor's middle position, making assembly more convenient.
  • Acceleration start/stop function provides smoother movement.
  • Compact structural design and more nice-looking appearance.
  • Wide voltage input range of 9-24V, can be directly powered by 2S or 3S lithium batteries.
  • High torque, reaching up to
  • Programmable working modes: servo mode for angle control or motor mode for continuous rotation.

Hardware Usage

Software Usage

Here we demonstrate how to control the RSBL45-24 servo motor using our bus servo driver board and running a Python example. To control the servo motor directly using the Python example, the driver board must be set to the USB port control.
RSBL85-12 USB01.png

Python Environment Setup On Windows

First, download the latest installation package from the Python website. Please download it according to your OS. Here the package I downloaded is Python 3.11.5 for Windows.
Bus servo adapter a05.png
After downloading, double-click python-3.11.5-amd64 to install, and click "Customize installation" to enter "Optional Features". Keep clicking on "Next" to enter the "Advanced Options" interface. Be sure to keep "Add Python to environment variables" checked, and click "Browse" to modify the installation address. Here is the default installation address. Click "Install" after setting, and then just wait for the installation.
Bus servo adapter a06.png
Once installed, let's move on to the Python project compilation example.

ST Series Servo Python Example

Download ST serial bus servo control library (Python) demo, unzip, and then input "cmd" in the start menu bar to open the Windows command prompt interface, type "cd folder path" to enter the STServo_Python project folder, where the virtual environment has been created, the name is stservo-env, and then enter:


This command is to activate the virtual environment.
Bus servo servo a07.png
In the STServo_Python project, you can see the "requirements.txt" file, which is for storing the installation package list used in this project. After entering the virtual environment, input:

python -m pip install -r requirements.txt

This command can be used to install the package in this project, and you can see the package to be used only is "pyserial" and has been installed.
Bus servo driver a08.png
Connect the RSBL45-24 to the RS485 bus servo interface on the driver board, and connect the 9~24V power supply through the DC IN 9V-25V interface on the driver board, and then use the USB cable to connect to the computer through the USB interface of the Bus-Servo on the driver board. Search for Device Manager in the start menu bar to check the newly connected port number.
Bus servo driver09.png
Next, change the name of the device in the demo you want to run to the access port number, in my case COM11 (different computers have different access port numbers).
Bus servo driver12.png
Once modified you can run it, here is an example of the file, enter:


You can see it runs successfully and the servo with ID 1 is connected successfully.
Bus servo adapter a10.png
These are simple tutorials for Python examples.


3D Model




Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)