Examples / Bus servos

Bus servos

Drive smart serial servos — the kind used in robot arms. Pose a joint by hand, read it back, and replay it.

AdvancedMotionTool
Bus servos — the example running

Bus servos

Drive two Feetech ST-series serial bus servos from the browser: drag to command position, read live position / load / voltage / temperature back, and free a joint to hand-pose it (torque off) then re-hold it.

Hardware

The STS3215 is the same servo used in the LeRobot SO-100/SO-101 arms.

Setting servo IDs

Servos ship as ID 1. To renumber, put a single servo on the bus, attach it, and call setId(newId) — then repeat one at a time. scan() lists the IDs currently responding on the bus.

Arduino

Install the SCServo library (from the Waveshare Bus Servo Adapter wiki or the Feetech SDK — usually a ZIP, not in the Library Manager), then upload File → Examples → Pardalote → bus-servos. Note the IP the board reports.

Browser

This is a tool — it works out of the box, no code editing:

  1. Open index.html in a browser.
  2. Type the board's IP into the Board IP row and press Connect.
  3. Set the two joints' bus IDs in the Servos row under the display (defaults 1 and 2) — changing an ID reconnects and re-attaches.

The browser remembers the IP and IDs, so next visit it reconnects with one click.

Input Action
Drag a dial command that joint's position
Torque buttons or 1 / 2 free that joint (torque off) to pose by hand; press again to re-hold

Notes