Waveshare has recently introduced the Serial Bus Servo Driver HAT (A) ESP32-powered servo motor controller for the Raspberry Pi designed to drive up to 253 serial servos simultaneously. The servos can be controlled via UART or USB through the Pi SBC or used as a standalone controller for a robotics project. The board has a wide input voltage range of 9 to 25 volts and features an onboard XT60 connector, a screw terminal, and a DC barrel jack any of which can be used as power input. Besides that, the board features an RS485 port a TTL Servo header, and a UART control switch for convenience.
Previously we have written about the Suptronics X200 HAT multifunction expansion board for the Pi with servo support, as well as the ELECFREAKS Wukong 2040 which can also be used to drive servos.
Waveshare Serial Bus Servo Driver HAT specifications
- CPU – Espressif ESP32-WROOM-32 dual-core Tensilica wireless microcontroller
- Storage – 32Mbit SPI flash
- Connectivity – Wi-Fi 4 802.11 b/g/n up to 150 Mbps, Bluetooth 4.2 LE
- Antenna – On-board PCB antenna
- I/Os – 28 Usable I/O
- Supported servo – Allows controlling up to 253 ST / RSBL series serial bus servos at the same time
- Communication interface – UART, 2x USB Type-C port
- Crystal – 40 MHz
- Additional feature – Supports controlling the serial bus servos directly via onboard USB Type-C port.
- Power supply – 9 to 25V (the input voltage and the servo voltage must be matched)
- Dimensions – 65×57 mm
- Mounting hole diameter: 3 mm
As the servo driver HAT is built around an ESP32 MCU, it supports both wired and wireless control modes enabling the user to send simple commands to the ESP32 to move the servos. Or, if you prefer, you can control the servos directly using a USB Type-C cable all you need to do is flip the selector switch in the right position.
In wireless control mode, the servo driver board creates its own Wi-Fi hotspot. You can connect your phone, tablet, or computer to this network which gives access to their web application, and with that, you can control the servo motors wirelessly. Based on Waveshare’s product page, we can assume that the firmware for wireless control mode will come preinstalled with the board. In USB control mode, the board can be controlled with Python code.
The servo driver board has a built-in buck converter onboard, meaning when it’s attached to the Raspberry Pi it can power the Pi with 5V through the power pins, and all the communication with the board happens through the UART interface (Tx/Rx) of the Raspberry Pi.
In terms of documentation, the company provides a detailed specifications diagram for the serial bus servo driver board, and if you want to learn more about the product you can find that on the Waveshare Wiki page.
Waveshare Serial Bus Servo Driver HAT (A) can be purchased for $22.49 on AliExpress or on Amazon for 25.55. The board can also be bought on the Waveshare online store for $18.99 plus shipping.
Update June 19: I (CNXSoft) have just come across some services that work with the board:
- 120kg.cm RSBL120-24 Servo Motor – $359.99
- 85kg.cm RSBL85-12 / RSBL85-24 Servo Motor – $275.99
- 45kg.cm RSBL45-24 Servo Motor – $151.99
- 30kg.cm ST3235 Serial Bus Servo – $55.43
Debashis Das is a technical content writer and embedded engineer with over five years of experience in the industry. With expertise in Embedded C, PCB Design, and SEO optimization, he effectively blends difficult technical topics with clear communication
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I haven’t seen servos like that before–they’re terminated with a connector & can be daisychained. What kind of servos are they?
It’s for waveshares ST and RSBL servos. They are “simple” serial servos mostly for development and prototyping I guess.
They have an internal magnetic encoder feedback driven control loop and that’s it.
The protocol seems to be proprietary, but is at least documented, see [Communication Protocol User Manual]:
https://www.waveshare.com/wiki/SC09_Servo#Document
The bus is either a wired-or TTL, or RS485. The driver board acts as bus master, the servos respond back.
It says you can daisy chain up to 253 servos but I seriously doubt considering that servos can be pretty power hungry and seems like the power connections are also daisy chained…
The connection is not daisy chained (at least not topology-wise), but actually a multidrop bus. You can run the power wires (of any thickness) directly to the servos.