Skip to content

Conversation

@base698
Copy link

@base698 base698 commented Sep 9, 2025


What this does

Adds a cross-platform servo motor debug UI tool for testing and debugging Feetech and Dynamixel motors through LeRobot's motors bus API. This pure Python tkinter-based interface provides similar functionality to the https://github.com/Kotakku/FT_SCServo_Debug_Qt application but works natively with LeRobot's motor infrastructure.

Screenshot 2025-09-08 at 12 58 35 PM

Key features:

  • Auto-detect USB serial ports across macOS, Linux, and Windows
  • Discover connected motors via broadcast ping
  • Read/write motor control table registers with direct editing support
  • Real-time motor feedback monitoring (position, torque, speed, temperature, voltage)
  • Position control with slider and sweep functionality
  • Live plotting of motor parameters

How it was tested

  • Tested motor discovery with STS3215 servos (model 777) on macOS via USB serial connection
  • Verified reading and writing control table registers including torque enable, goal position, and limits
  • Tested real-time feedback monitoring at 200ms intervals
  • Validated position sweep functionality with configurable delays

How to checkout & try? (for the reviewer)

Run the servo debug UI

uv run src/lerobot/motors/servo_debug_ui.py

  1. Connect your Feetech motors via USB
  2. Click the refresh button (↻) to detect available COM ports
  3. Select your port and baudrate (default 1000000)
  4. Click "Open" to connect
  5. Click "Search" to discover connected motors
  6. Select a motor from the list to view its control table and start monitoring

@imstevenpmwork imstevenpmwork added robots Issues concerning robots HW interfaces visualization Issues about visual output, graphs, or data visualization labels Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

robots Issues concerning robots HW interfaces visualization Issues about visual output, graphs, or data visualization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants