2 releases
| 0.1.1 | Jan 10, 2026 |
|---|---|
| 0.1.0 | Jan 10, 2026 |
#575 in Hardware support
105KB
2K
SLoC
waveshare-serial-servo-tui
A terminal UI for debugging and controlling Waveshare SC/ST serial bus servos.
Features
- Servo scanning - Automatically detect connected servos on the bus
- Real-time status - View position, speed, load, voltage, temperature, and current
- Position control - Move servos with arrow keys or precise position commands
- Motor/wheel mode - Spin servos continuously with variable speed
- Position history graph - Visual chart of position over time with zoom
- Register inspection - View raw EEPROM and SRAM register values
- Configuration display - See servo settings like PID, limits, deadband
- Factory reset - Reset servos to default settings
- Clone settings - Copy configuration from one servo to another
Supported Servos
- SC Series: SC09, SC15, SC40, SC60
- ST Series: ST3215, ST3020, ST3025
- SMS/STS Series: Generic support
Installation
From crates.io
cargo install waveshare-serial-servo-tui
From source
git clone https://github.com/mneuhaus/waveshare-serial-servo-tui
cd waveshare-serial-servo-tui
cargo build --release
Usage
# List available serial ports
servo-tui --list
# Connect to a specific port
servo-tui --port /dev/tty.usbserial-110
# On Linux
servo-tui --port /dev/ttyUSB0
Keyboard Controls
| Key | Action |
|---|---|
Tab |
Switch between Status/Config/Regs tabs |
Up/Down |
Select servo |
Left/Right |
Adjust position (hold for continuous) |
+/- |
Zoom position chart in/out |
q |
Quit |
Commands
Type : followed by a command:
| Command | Description |
|---|---|
:scan |
Rescan for servos |
:move <pos> |
Move to position (0-1023) |
:spin <speed> |
Spin at speed (-1000 to 1000) |
:stop |
Stop spinning |
:torque on/off |
Enable/disable torque |
:reset |
Factory reset selected servo |
:clone <from> <to> |
Clone settings between servos |
:id <new_id> |
Change servo ID |
Protocol
Uses the Waveshare/Feetech serial bus servo protocol:
- Half-duplex TTL serial at 1Mbps (default)
- SC series: Big-endian byte order
- SMS/STS series: Little-endian byte order
License
MIT License - see LICENSE for details.
Contributing
Contributions welcome! Please open an issue or PR on GitHub.
Dependencies
~10–24MB
~329K SLoC