Servo BUS editor
The Servo BUS editor lets you define or edit a serial servo connected via
D4C (DEIMOS) protocol (e.g. Waveshare ST3215 / ST3215HS).
It opens from the start window → Elements tab → New or
Edit button, selecting the Servo BUS type.
Main fields
| Field | Description |
| Name | Unique servo identifier in the domain (e.g. "Head", "Mouth"). Required. |
| Description | Free notes about the element (optional). |
| Type | Set to Servo BUS. Can only be changed at creation time. |
| Port | Domain serial port where the BUS chain is connected (e.g. COM3). Must use D4C (DEIMOS) protocol. |
| Color | Track color in the timeline. Click to change. |
BUS profile
| Field | Description |
| BUS ID | Unique address of the servo on the serial chain (1–253). Must match the ID programmed in the servo firmware. Required. |
| Model | Servo model: ST3215 or ST3215HS. Determines available speed and acceleration limits. |
| Initial position | Position in degrees (0–360) the servo moves to when the port is opened and when playback ends. |
Advanced options
Click the Advanced options button to access movement parameters:
| Field | Description |
| Speed | Default maximum movement speed (hardware units). Range depends on model: ST3215 = 0–3500, ST3215HS = 0–7500. |
| Acceleration | Acceleration/deceleration profile (0–150). Higher values = smoother movements. |
Movement limits
| Field | Description |
| Minimum limit | Minimum angular position allowed during playback (0–360°). Mechanical protection against out-of-range movements. |
| Maximum limit | Maximum angular position allowed during playback (0–360°). |
Always set min/max limits within the physical range of your servo and mechanical installation.
An out-of-range movement can damage the mechanism or tear cables.
Common errors
| Message | Cause and solution |
| BUS ID not set | The BUS ID field is 0. Enter a value from 1 to 253 matching the servo ID. |
| Name already exists | An element with the same name already exists. Use a different name. |
| Duplicate BUS ID | Another servo on the same port already uses that ID. Each servo on the same chain must have a unique ID. |