Servo console

local Disconnected

Talk to ST3215 servos over the adapter's USB-serial port (WebSerial). The baud you pick is also the servo bus rate — the firmware mirrors it onto the wire. Default 1 Mbaud (factory).


  

Scan bus

Jog position

2048

Read register

Write register

Set ID

Live telemetry

EEPROM-area registers (ID, baud, angle limits) need torque disabled before they'll accept a write. Writing the ID or baud changes how the servo answers — re-scan afterwards.

Adapter config

disconnected

Talks to the adapter's HID control interface (separate from the servo port above). Lets you relocate the half-duplex bus to a different GPIO if a pad gets damaged — the new pin is saved to flash.

fw
current

Network (mirror firmware)

disconnected

Provisions the networked-mirror firmware variant — WiFi credentials + the Phoenix session string the device will join. The browser derives the WPA2 PSK from your passphrase before sending, so the plaintext passphrase never touches the device. Open the HID channel above first; values save to flash but only take effect after a reboot.

stored:
applies saved WiFi + session and brings the network stack up

Role (mirror firmware)

disconnected

Decides whether this device polls its servos and publishes (leader), mirrors incoming poses to its bus (follower), or does both at once on disjoint ID sets (local mirror + network publish). IDs are bus addresses, comma-separated; rate caps the leader poll loop. Changes save to flash but only take effect after a reboot.

Topology

disconnected

Shows the buses currently programmed on this device. Active is how many CDC interfaces the firmware advertises at boot; bumping it requires a reboot to take effect (USB re-enumerates as a different device topology). Factory mode exposes an extra MSC interface for config.json drag-and-drop provisioning — clear it before shipping to end users.

/ ? max
(reboot to apply)
(reboot to apply)

PWM lanes

disconnected

Per-lane GPIO + pulse-width calibration for PWM-class buses. Save persists immediately; the firmware re-initialises the hardware on next reboot. Position 0 → min µs, 4095 → max µs, with center µs the safe boot-time value.

Motion sequencer

idle

Drive multiple servos at once. Sliders set goals live; Record samples their positions over time; Play replays a captured motion via synchronized SYNC_WRITE frames. Save downloads the keyframes as JSON you can load back later.

0 keyframes / 0.0s
ms

Lead / Follower (networked)

idle

Two browsers join a shared session: the leader publishes its servos' positions over a WebSocket; the follower mirrors them onto its own bus via SYNC_WRITE. Server is a dumb relay — anyone with the session string can read/write, so pick something hard to guess. Leader servos should have torque OFF (move them by hand); followers stay torqued ON.

sent 0 / recv 0 / err 0