LZ-01 masterCtrlV2.0 Modbus RTU Communication Protocol
Version: V2.2 | Update Date: 2026-03-01
1. Communication Parameters
| Item | Parameter |
|---|---|
| Physical Interface | RS-485 Half-Duplex |
| Baud Rate | 115200 bps |
| Data Bits | 8 bits |
| Parity | None |
| Stop Bits | 1 bit |
| Protocol Type | Modbus RTU |
| Default Slave ID | 1 (Right Hand) / 2 (Left Hand) |
| Response Timeout | 20ms |
| Serial Buffer | 256 Bytes |
2. Supported Function Codes
| Function Code | Name | Description |
|---|---|---|
| 0x03 | Read Holding Registers | Read holding registers, supports batch reading |
| 0x06 | Write Single Register | Write a single register |
| 0x10 | Write Multiple Registers | Write multiple registers, supports batch writing |
3. Register Address Overview
| Address Range | Area | R/W | Description |
|---|---|---|---|
| 0~5 | Motor Position Control | RW | Set target position, Read returns actual position (0~1000 ‰) |
| 6~11 | Motor Speed Control | RW | Set target speed, Read returns actual speed (0~1000 ‰) |
| 12~17 | Motor Torque Control | RW | Set torque limit, Read returns actual torque (‰) |
| 18~30 | Pressure Sensors | RO | Pressure measurements (Unit: mN) |
| 31~40 | Joint Angles | RO | Joint actual angles (Unit: 0.1°) |
| 41~46 | Motor Position Feedback | RO | Actual position feedback (0~1000 ‰) |
| 47~56 | Angle Calibration | RW | Encoder calibration parameters |
| 57 | System Control | RW | Flash save command |
| 58~63 | Error Logs | RO | Error flags / Count / Status |
| 66 | Latest Error Code | RO | Most recent error code |
| 67 | Error Clear | WO | Write 1 to clear all error counters and flags |
| 70~75 | Motor Speed Feedback | RO | Actual speed feedback (0~1000 ‰) |
| 76~81 | Motor Torque Feedback | RO | Actual 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)
| Address | Name | Description |
|---|---|---|
| 0 | pos_cmd[0] | Thumb rotation motor target position |
| 1 | pos_cmd[1] | Thumb pinch motor target position |
| 2~5 | pos_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).
| Address | Name | Targeted Part |
|---|---|---|
| 18~19 | pressure[0~1] | Thumb |
| 20~21 | pressure[2~3] | Index |
| 22~23 | pressure[4~5] | Middle |
| 24~25 | pressure[6~7] | Ring |
| 26~27 | pressure[8~9] | Little Finger |
| 28~30 | pressure[10~12] | Palm |
4.3 Joint Angle Registers (Address 31~40, Read-Only)
Unit: 0.1°.
| Address | Name | Finger |
|---|---|---|
| 31~32 | angle[0~1] | Thumb (J1/J2) |
| 33~34 | angle[2~3] | Index (J1/J2) |
| 35~36 | angle[4~5] | Middle (J1/J2) |
| 37~38 | angle[6~7] | Ring (J1/J2) |
| 39~40 | angle[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 Code | Meaning |
|---|---|
| 0x01 | Communication Timeout |
| 0x02 | Device Connection Failed |
| 0x03 | Data Read Failed |
| 0x04 | Abnormal Initialization |
| 0x05 | Mechanical 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
- 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. - Frequency: Recommended Modbus polling frequency is between 10ms - 50ms.
- Parameter Saving: After modifying calibration parameters, write 1 to
save_cmd(Address 57) to trigger permanent Flash storage.
