Skip to content

Control Table

The control table is the set of registers inside the servo. You read registers with a Read instruction to get status, and write them with Write to control the servo. Every register has a unique address, which goes in the first parameter of the packet.

EEPROM area
Non-volatile. Values survive power-off. Writable only when Torque Enable is 0 and the servo is idle.
RAM area
Volatile. Reset to the initial value at every power-on.
Size
1 or 2 bytes. 2-byte values are little-endian (low byte at the lower address).
Access
RW read and write. R read only, used for monitoring.
Initial value
Factory default for EEPROM registers (or the value you last stored); power-on value for RAM registers.

EEPROM area

Address Size Name Description Access Initial
3 1 ID Servo ID RW 1
4 1 Baud Rate Communication speed RW 1
5 1 Return Delay Time Delay before the status packet RW 250
6 2 CW Angle Limit Clockwise angle limit RW 0
8 2 CCW Angle Limit Counter-clockwise angle limit RW 1023
11 1 Temperature Limit Maximum internal temperature RW 70
12 1 Min Voltage Limit Minimum input voltage RW 60
13 1 Max Voltage Limit Maximum input voltage RW 140
14 2 Max Torque Maximum torque output RW 1023
16 1 Status Return Level Which instructions get a reply RW 2
17 1 Alarm LED Errors that blink the LED RW 36
18 1 Shutdown Errors that cut torque RW 36

RAM area

Address Size Name Description Access Initial
24 1 Torque Enable Motor torque on / off RW 0
25 1 LED Status LED on / off RW 0
26 1 CW Compliance Margin CW position error margin RW 1
27 1 CCW Compliance Margin CCW position error margin RW 1
28 1 CW Compliance Slope CW torque slope near goal RW 32
29 1 CCW Compliance Slope CCW torque slope near goal RW 32
30 2 Goal Position Target position RW –
32 2 Moving Speed Speed toward the goal RW –
34 2 Torque Limit Torque limit (goal torque) RW = Max Torque
36 2 Present Position Current position R –
38 2 Present Speed Current speed R –
40 2 Present Current Current draw R –
42 1 Present Voltage Supply voltage R –
43 1 Present Temperature Internal temperature R –
44 1 Registered Reg Write pending R 0
46 1 Moving Movement in progress R 0
47 1 Lock EEPROM write lock RW 0
48 2 Punch Minimum drive current RW 32

Register details

ID (3)

Identifies the servo on the bus. Values 0–252 (0xFC) are usable; 254 (0xFE) is the broadcast ID, which reaches every servo at once.

Note

Never give two servos on the same bus the same ID. Their replies collide and you may not be able to detect either of them.

Baud Rate (4)

Value Baud rate (bps) Error
1 (default) 1,000,000 0.000 %
3 500,000 0.000 %
4 400,000 0.000 %
7 250,000 0.000 %
9 200,000 0.000 %
16 115,200 −2.124 %
34 57,600 0.794 %
103 19,200 −0.160 %
207 9,600 −0.160 %

An error below 3 % does not affect UART communication.

Return Delay Time (5)

Delay between receiving an Instruction Packet and sending the Status Packet.

Unit Range Notes
2 µs 0–254 Default 250 (500 µs), maximum 508 µs

Example: a value of 10 gives a 20 µs delay.

CW/CCW Angle Limit (6, 8)

Restricts travel. Same range and unit as Goal Position. CW Angle Limit is the minimum Goal Position, CCW Angle Limit the maximum. The pair also selects the operating mode:

Mode CW / CCW
Wheel mode (continuous rotation) both 0
Joint mode (position control) neither 0

Temperature Limit (11)

Unit Range
about 1 °C 0–99

Caution

Do not change this from the default. After an overheating shutdown, let the servo cool for 20 minutes before using it again. Running hot causes permanent damage.

Min/Max Voltage Limit (12, 13)

Operating voltage window.

Unit Range Meaning
about 0.1 V 50–160 5.0–16.0 V

A value of 80 means 8.0 V. If Present Voltage leaves the window, bit 0 of the status packet error byte is set and the alarm configured in addresses 17 and 18 is triggered.

Max Torque (14)

Maximum torque output, 0–1023 (0x3FF), unit about 0.1 %. 1023 uses 100 % of the available torque, 512 (0x200) uses 50 %. Copied to Torque Limit at power-on.

Status Return Level (16)

Value Replies to Notes
0 Ping only No status packet for any other instruction
1 Ping and Read
2 (default) All instructions

Note

Packets sent to the broadcast ID 0xFE never get a reply to Read or Write, whatever this register says.

Alarm LED (17), Shutdown (18)

Selects which errors blink the LED (Alarm LED) and which cut motor output (Shutdown). Uses the same bit layout as the status packet error byte:

Bit Error
7 –
6 Instruction
5 Overload
4 Checksum
3 Range
2 Overheating
1 Angle limit
0 Input voltage

Bits combine with OR: 0x05 (0000 0101) enables input-voltage and overheating detection. The default 36 (0x24) enables overload and overheating. On Shutdown, Torque Limit is set to 0 so the motor output drops to 0 %.

Torque Enable (24)

Value Meaning
0 Torque off (free-running)
1 Torque on; EEPROM area locked

LED (25)

Value Meaning
0 (default) LED off
1 LED on

Compliance Margin (26, 27)

Allowed error between goal and present position, one value per direction. Range 0–255, same unit as Goal Position. Larger values allow more error.

Compliance Slope (28, 29)

Sets how torque ramps near the goal position, per direction. Seven steps; higher values are softer. The servo uses the representative value of each step — writing 25 results in 16.

Step Data value Representative
1 0–3 (0x00–0x03) 2 (0x02)
2 4–7 (0x04–0x07) 4 (0x04)
3 8–15 (0x08–0x0F) 8 (0x08)
4 16–31 (0x10–0x1F) 16 (0x10)
5 32–63 (0x20–0x3F) 32 (0x20)
6 64–127 (0x40–0x7F) 64 (0x40)
7 128–254 (0x80–0xFE) 128 (0x80)

Goal Position (30)

Target position, 0–1023 (0x3FF), unit 0.29°. 512 is centre. A value outside the angle limits sets the angle-limit error bit (bit 1) and triggers the configured alarm.

Note

Not used in wheel mode.

Moving Speed (32)

Speed toward the goal. Range and unit depend on the mode.

0–1023 (0x3FF), unit about 0.111 rpm. 0 means no speed control (maximum motor speed). 1023 is about 114 rpm; 300 is about 33.3 rpm.

The servo cannot exceed its own maximum speed, whatever value you write.

0–2047 (0x7FF), unit about 0.1 % of output. Bit 10 is the direction:

  • 0–1023: counter-clockwise, 0 stops
  • 1024–2047: clockwise, 1024 stops

Only output is controlled in wheel mode, not speed. 512 means 50 % output CCW.

Torque Limit (34)

Torque limit, 0–1023 (0x3FF), unit about 0.1 %. 512 limits output to about 50 %. Initialised from Max Torque at power-on.

Note

A Shutdown alarm sets this to 0 and the motor goes limp. Clear the cause, then write a non-zero value to drive again.

Present Position (36)

Current position, 0–1023 (0x3FF), unit 0.29°.

Warning

In wheel mode this value cannot be used to measure distance or count revolutions.

Present Speed (38)

Current speed, 0–2047 (0x7FF). Bit 10 is the direction: 0–1023 CCW, 1024–2047 CW (0 and 1024 both mean stopped). Unit about 0.111 rpm in joint mode, about 0.1 % output in wheel mode. 300 in joint mode means about 33.3 rpm CCW.

Present Current (40)

Current draw in mA. 1000 (0x3E8) means 1 A.

Present Voltage (42)

Supply voltage × 10. 100 (0x64) means 10 V.

Present Temperature (43)

Internal temperature in °C. 85 (0x55) means 85 °C.

Registered Instruction (44)

Value Meaning
0 No Reg Write pending
1 A Reg Write is waiting for Action

Returns to 0 when Action executes.

Moving (46)

Value Meaning
0 Goal position reached
1 Moving toward goal position

Lock (47)

Value Meaning
0 EEPROM area writable
1 EEPROM area locked

Warning

Once set to 1, Lock only returns to 0 after a power cycle.

Punch (48)

Minimum current used to drive the motor, 0x20–0x3FF.


Need samples, a custom build or a volume quote? Contact us — we usually reply within one business day.