Skip to content

LZ-01 masterCtrlV2.0 Modbus RTU Communication Protocol

Version: V2.2 | Update Date: 2026-03-01


1. Communication Parameters

ItemParameter
Physical InterfaceRS-485 Half-Duplex
Baud Rate115200 bps
Data Bits8 bits
ParityNone
Stop Bits1 bit
Protocol TypeModbus RTU
Default Slave ID1 (Right Hand) / 2 (Left Hand)
Response Timeout20ms
Serial Buffer256 Bytes

2. Supported Function Codes

Function CodeNameDescription
0x03Read Holding RegistersRead holding registers, supports batch reading
0x06Write Single RegisterWrite a single register
0x10Write Multiple RegistersWrite multiple registers, supports batch writing

3. Register Address Overview

Address RangeAreaR/WDescription
0~5Motor Position ControlRWSet target position, Read returns actual position (0~1000 ‰)
6~11Motor Speed ControlRWSet target speed, Read returns actual speed (0~1000 ‰)
12~17Motor Torque ControlRWSet torque limit, Read returns actual torque (‰)
18~30Pressure SensorsROPressure measurements (Unit: mN)
31~40Joint AnglesROJoint actual angles (Unit: 0.1°)
41~46Motor Position FeedbackROActual position feedback (0~1000 ‰)
47~56Angle CalibrationRWEncoder calibration parameters
57System ControlRWFlash save command
58~63Error LogsROError flags / Count / Status
66Latest Error CodeROMost recent error code
67Error ClearWOWrite 1 to clear all error counters and flags
70~75Motor Speed FeedbackROActual speed feedback (0~1000 ‰)
76~81Motor Torque FeedbackROActual torque feedback (‰)

4. Register Detailed Definitions

4.1 Motor Control Registers (Address 0~17, R/W)

Value range: 0~1000 (‰).

Read-Write Reflection Mechanism: For convenience in unified control and monitoring, reading these 18 registers returns real-time measured values instead of set-points:

  • Read 0~5: Returns actual motor position
  • Read 6~11: Returns actual motor speed
  • Read 12~17: Returns actual motor torque

Position Command (Address 0~5)

AddressNameDescription
0pos_cmd[0]Thumb rotation motor target position
1pos_cmd[1]Thumb pinch motor target position
2~5pos_cmd[2~5]Index / Middle / Ring / Little target position

Speed Command (Address 6~11)

Default value: 1000 (Full Speed).

Torque Limit Command (Address 12~17)

Default value: 1000 (Max Torque).

4.2 Pressure Sensor Registers (Address 18~30, Read-Only)

Unit: mN (milli-Newton).

AddressNameTargeted Part
18~19pressure[0~1]Thumb
20~21pressure[2~3]Index
22~23pressure[4~5]Middle
24~25pressure[6~7]Ring
26~27pressure[8~9]Little Finger
28~30pressure[10~12]Palm

4.3 Joint Angle Registers (Address 31~40, Read-Only)

Unit: 0.1°.

AddressNameFinger
31~32angle[0~1]Thumb (J1/J2)
33~34angle[2~3]Index (J1/J2)
35~36angle[4~5]Middle (J1/J2)
37~38angle[6~7]Ring (J1/J2)
39~40angle[8~9]Little Finger (J1/J2)

5. Error Code Definitions

last_err_code (Address 66) format: 0xTTII (High Byte=Type, Low Byte=Device ID):

Type CodeMeaning
0x01Communication Timeout
0x02Device Connection Failed
0x03Data Read Failed
0x04Abnormal Initialization
0x05Mechanical Homing Timeout

6. Communication Examples

6.1 Read All Actual Motor Positions (Address 41~46)

Request: 01 03 00 29 00 06 [CRC16]
Response: 01 03 0C [12-byte data] [CRC16]

6.2 Set Thumb Rotation Position to 50% (500‰)

Request: 01 06 00 00 01 F4 [CRC16]
Response: 01 06 00 00 01 F4 [CRC16]

7. Data Flow Diagram


8. Precautions

  1. Initialization: Check hand_status (Address 62) after power-on. A value of 1 indicates that homing is complete and the system is ready for control.
  2. Frequency: Recommended Modbus polling frequency is between 10ms - 50ms.
  3. Parameter Saving: After modifying calibration parameters, write 1 to save_cmd (Address 57) to trigger permanent Flash storage.