How hiwonder-official/hiwonder-servo-sdk works
hiwonder-servo-sdk provides APIs for controlling HX-30HM bus servos from Python, ESP32, Raspberry Pi, and STM32. The usual workflow is to create a bus, issue motion or configuration commands through a servo API, and exchange packets with servos over half-duplex UART; status reads return telemetry. Separate sync helpers support coordinated multi-servo motion. The graph reflects documented capabilities and sampled implementations; some platform internals were not sampled, so their wiring is shown only where the README or source supports it.
Main entry points: servo.py Python bus · hiwonder_servo_rpi.py Raspberry Pi bus · HiwonderServo.cpp UART bus · hiwonder_servo_stm32.c STM32 bus
Components 14
Python SDK
- Python bus
python/hiwonder/servo.py - Servo API
python/hiwonder/servo.py - Sync motion
python/hiwonder/servo.py
ESP32 SDK
- UART bus
esp32/HiwonderServo.cpp - Servo API
esp32/HiwonderServo.cpp - Sync motion
esp32/HiwonderServo.cpp
Raspberry Pi SDK
- Raspberry Pi bus
raspberrypi/hiwonder_servo_rpi.py
STM32 SDK
- STM32 bus
stm32/hiwonder_servo_stm32.c - Servo operations
stm32/hiwonder_servo_stm32.c - Sync operations
stm32/hiwonder_servo_stm32.c
Protocol Reference
- Protocol reference
docs/protocol.md - Register map
docs/register_table.md
Other components
- SDK user
- HX-30HM servos
Connections 20
- SDK user → Servo API: uses
- SDK user → Sync motion: requests sync
- SDK user → Servo API: uses
- SDK user → Sync motion: requests sync
- SDK user → Raspberry Pi bus: uses
- SDK user → Servo operations: uses
- SDK user → Sync operations: requests sync
- Servo API → Python bus: reads and writes
- Sync motion → Python bus: sends sync write
- Python bus → HX-30HM servos: UART packets
- Servo API → UART bus: reads and writes
- Sync motion → UART bus: sends sync write
- UART bus → HX-30HM servos: UART packets
- Raspberry Pi bus → Python bus: extends
- Raspberry Pi bus → HX-30HM servos: UART packets
- Servo operations → STM32 bus: calls bus operations
- Sync operations → STM32 bus: sends sync write
- STM32 bus → HX-30HM servos: UART packets
- SDK user → Protocol reference: consults
- SDK user → Register map: consults