Development and Use Based on Communication Protocol Packet
Communication Settings
Bus Interface: Built-in ESP32 (Separate left and right arm serial ports)
Baud Rate: 115200
Data Bits: 8
Parity: None
Stop Bits: 1
Left arm motion and velocity parameter table
| Joint | Minimum Joint Value (°) | Maximum Joint Value (°) | Maximum Joint Velocity (°/s) | Maximum Joint Acceleration (°/s²) |
|---|---|---|---|---|
| J1 | -165 | 165 | 150 | 200 |
| J2 | -50 | 120 | 150 | 200 |
| J3 | -165 | 165 | 150 | 200 |
| J4 | -165 | 1 | 150 | 200 |
| J5 | -165 | 165 | 150 | 200 |
| J6 | -75 | 255 | 150 | 200 |
| J7 | -165 | 165 | 150 | 200 |
| Coordinates (BaseCoords) | Minimum coordinate value (mm) | Maximum coordinate value (mm) | Maximum coordinate velocity (mm/s) | Maximum coordinate acceleration (mm/s²) | |
|---|---|---|---|---|---|
| x | -351.11 | 566.92 | 200 | 400 | |
| y | -272.12 | 645.91 | 200 | 400 | |
| z | -262.91 | 655.13 | 200 | 400 | |
| rx/ry/rz | -180° | 180° | 40°/s | 66°/s² |
Right Arm Motion and Velocity Parameter Table
| Joint | Minimum Joint Value (°) | Maximum Joint Value (°) | Maximum Joint Velocity (°/s) | Maximum Joint Acceleration (°/s²) |
|---|---|---|---|---|
| J1 | -165 | 165 | 150 | 200 |
| J2 | -50 | 120 | 150 | 200 |
| J3 | -165 | 165 | 150 | 200 |
| J4 | -165 | 1 | 150 | 200 |
| J5 | -165 | 165 | 150 | 200 |
| J6 | -75 | 255 | 150 | 200 |
| J7 | -165 | 165 | 150 | 200 |
| J11 | -55 | 0 | - | - |
| J12 | -70 | 245 | - | - |
| J13 | -160 | 160 | - | - |
| Coordinates (BaseCoords) | Minimum coordinate value (mm) | Maximum coordinate value (mm) | Maximum coordinate velocity (mm/s) | Maximum coordinate acceleration (mm/s²) |
|---|---|---|---|---|
| x | -351.11 | 566.92 | 200 | 400 |
| y | -645.91 | 272.12 | 200 | 400 |
| z | -262.91 | 655.13 | 200 | 400 |
| rx/ry/rz | -180° | 180° | 40°/s | 66°/s² |
Introduction to Serial Port Commands
Transmit/Receive Format
Both sending and receiving are represented in hexadecimal. Each command contains 5 parts, as shown below:
[Frame Header] [Frame Header] [Length] [Function Code] [Data] [Checksum - High Byte] [Checksum - Low Byte]
Frame Header (2 bytes): 0xFE 0XFE
Valid Length (1 byte): 3-N, length starts from the function code and ends with the checksum.
Function Code (1 byte): 1-255
Data Bits: 0-N, high byte first.
Frame Trailer: CRC16 checksum, high byte first.
All commands have a first-level receive feedback; position mode control has position feedback.
Basic Control
Read Master Control Version Number
Instruction Length: 3
Function Code: 02
Send Data Bits: None
Feedback Data Bits: Version Number - 1 byte, requires /10.0
Send Instruction:
FE FE 03 02 0D D1Feedback Instruction Example:
FE FE 04 02 0A 51 7D, where the version number is V1.0Read Robot Model
Instruction Length: 3
Function Code: 03
Send Data Bits: None
Feedback Data Bits: Model - 2 bytes
Send Command:
FE FE 03 03 CD 10Read End-of-Line Version Number
Instruction Length: 3
Function Code: 06
Send Data Bits: None
Feedback Data Bits: Byte 1: Version Number
Read End-of-Line Version Number
Instruction Length: 3
Function Code: 09
Send Data Bits: None
Feedback Data Bits: Byte 1: Version Number, requires /10.0
Set Limit Switch
Instruction Length: 5
Function Code: 0E
Send Data Bits: Byte 1: 1/2 1 - Position out of tolerance, 2 - Position feedback; Byte 2: 0/1 0 - Off, 1 - On, default on, saved without power loss
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Read limit switch
Instruction length: 3
Function code: 0F
Send data bits: None
Feedback data bits: Byte 1: Position out of tolerance switch status, 0/1 1 - On; Byte 2: Position feedback switch status, 0/1 1 - On, default on
Start robot
Instruction length: 3
Function code: 0x10
Send data bits: None
Feedback data bits: Byte 1: Startup status, 0-2; 0 - Startup failed 1 - Startup successful 2 - Emergency stop triggered
Shut down robot
Instruction length: 3
Function Code: 0x11Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Feedback Command:
FE FE 05 11 FF 01 E8 ECRead Robot Startup Status
Command Length: 3
Function Code: 0x12
Send Data Bits: None
Feedback Data Bits: Byte 1: Startup Status, 0-2; 0-Startup Failure 1-Startup Success 2-Emergency Stop Triggered
Read Zero-Position Calibration Status
Command Length: 3
Function Code: 0x5A
Send Data Bits: None
Feedback Data Bits: Byte 1: 0/1; Overall Zero-Position Calibration Status, 1-Set; Bytes 2-9: 1X7 Joint Zero-Position Calibration Status
The robot is powered on but cannot be controlled.
Instruction length: 3
Function code: 0x1D
Send data bits: None
Feedback data bits: Bytes 1-2: 0xFF 0x01
Set Position Detection Error Angle
The misalignment of joints 11 and 12 varies depending on the machine. The default error is 2°. If the joint fails to reach the correct position, first read the error value, then set the angle based on the actual error. The maximum error is 5°.
Command Length: 6
Function Code: 0x0B
Send Data Bits: Byte 1: Joint Range: J11-J12; Bytes 2-3: Angle, range 0-5, needs to be *100 (range 0-500, supports decimal places)
Feedback Data Bits: Byte 1: 0xFF, Byte 2: 0/1 0 - Incorrect parameter value
Read Position Detection Error Angle
Command Length: 4
Function Code: 0x0C
Send Data Bits: Byte 1: Joint Range: J11-J12
Feedback Data Bits: Bytes 1-2: Error angle, needs to be /100
Clear point buffer
Clear the motion point buffers of the other 3 joints outside the arm (joints J11-J13). The robot will stop moving during the clearing process.Command length: 3
Function code: 0x0D
Send data bits: None
Feedback data bits: Bytes 1-2: 0xFF 0x01
Motion Control
Motion control speed range: 1-100, actual speed percentage can be found in the above table of robotic arm motion and speed parameters.
Motion modes: Position interpolation, torque; only position interpolation provides motion positioning feedback.
Position positioning feedback data: FE FE 04 5B Status CRC-High CRC-Low; Normal motion command:
FE FE 04 5B 00 CD 46; Abnormal motion command - J6 Overlimit:FE FE 04 5B 06 CF C6
Full joint angle control
Command length: 0x12
Function code: 0x22
Send data bits: Bytes 1-14: 2X7 joint angle (angle * 100.0) Byte 15: Speed 1-100
[90, 10, -90, 45, 80, -100, 10], running speed 50%, sent command:FE FE 10 22 23 28 03 E8 DC D8 11 94 1F 40 27 10 03 E8 32 A3 E1First layer feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Second layer position feedback: only available in interpolation motion mode,
FE FE 04 5B 00 CD 46Single joint angle control
Command length: 7
Function code: 0x21
Sent data bits: Byte 1: Joint1-7, 11-13; Bytes 2-3: Angle (angle * 100.0); Byte 4: Speed
J1 moves to 50°, running speed 10%, sent command:FE FE 07 21 01 13 88 0A 827A`First-level feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Read all joint angles
Instruction length: 3
Function code: 0x20
Send data bits: None
Feedback data bits: Bytes 1-14: 2X7 joint angles (angle/100.0)
[90, 10, -90, 45, 80, -100, 10]Feedback instruction:FE FE 10 20 23 28 03 E8 DC D8 11 94 1F 40 27 10 03 E8 21 35Full Coordinate Control
Instruction Length: 0x10
Function Code: 0x25
Send Data Bits: Bytes 1-12: 2x6 coordinates (XYZ10.0, RXRYRZ100.0) Byte 13: Speed
First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Single Coordinate Control
Instruction Length: 7
Function Code: 0x24
Send Data Bits: Byte 1: Coordinate Axis; Bytes 2-3: Coordinates (XYZ10.0, RXRYRZ100.0) Byte 4: Speed
First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Read Full Coordinates
Instruction Length: 3
Function Code: 0x23
Send data bits: NoneFeedback data bits: Bytes 1-12: 2x6 coordinates (XYZ/10.0, RXRYRZ/100.0)
Read robot motion status
Instruction length: 3
Function code: 0x2B
Send data bits: None
Feedback data bits: Byte 1: Motion status 0/1, 0 - not moving; 1 - moving
Detect whether the robot has reached the point
Instruction length: Angle: 18, Coordinates: 16
Function code: 0x2A, Error accuracy: Angle within 1°, Coordinates within 2mm
Send data bits:
Bytes 1-12: 2x6 coordinates (Angle 100.0, Coordinates XYZ 10.0, RXRYRZ * 100.0); Byte 13: Mode 1/2 - Coordinates;
Bytes 1-14: 2*7 joint angles; Byte 15: Mode 0 - Angle
Feedback Data Bits: Byte 1: Position Status 0/1 0 - Not in position, 1 - In position
Movement Pause
Command Length: 3
Function Code: 0x26
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Movement Resumption
Command Length: 3
Function Code: 0x28
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Movement End
Command Length: 3
Function Code: 0x29
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Detect if movement is paused
Command length: 3
Function code: 0x27
Send data bits: None
Feedback data bits: Byte 1: Pause status 0/1, 0 - not manually paused; 1 - paused
Continuous joint movement
Command length: 6
Function code: 0x30
Send data bits: Byte 1: Joints 1-7; Byte 2: Direction 0/1 0 - Reverse rotation 1 - Forward rotation Byte 3: Speed
First-level feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Continuous Coordinate Movement
Command Length: 6
Function Code: 0x32
Send Data Bits: Byte 1: Coordinate axes 1-6; Byte 2: Direction 0/1 0-Reverse Rotation 1-Forward Rotation Byte 3: Velocity
First-Level Feedback Fixed Data Bits: Byte 1-2: 0xFF 0x01
Base Coordinate Step Control
Command Length: 7
Function Code: 0x37
Send Data Bits: Byte 1: Axis 1-6; Bytes 2-3: Step Value (XYZ10.0, RXRYRZ100.0); Byte 4: Speed
First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Joint Stepping Control
Command Length: 7Function Code: 0x33
Send Data Bits: Byte 1: Joints 1-7; Bytes 2-3: Step value * 100.0; Byte 3: Speed
First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Coordinate Stepping Control
Command Length: 7
Function Code: 0x34
Send Data Bits: Byte 1: Axis 1-6; Bytes 2-3: Step value (XYZ 10.0, RXRYRZ 100.0); Byte 4: Speed
First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Coordinate JOG Track Fusion (with 6D mouse)
Command Length: 10
Function Code: 0xEC Data transmission bits: Byte 1: Coordinate axes 1-6; Bytes 2-3: Step value (XYZ10.0, RXRYRZ100.0); Byte 4: Velocity
First layer feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Calculate Inverse Kinematics
- Used to calculate the inverse kinematics of the robotic arm. Inputs: coords (target coordinates), angles (current joint angles). Output: solve_angles (angles corresponding to the target coordinates).
Instruction Length: 0x1D
Function Code: 0x8D
Send Data Bits: Bytes 1-12: 2x6 target coordinates; Bytes 13-26: 2x7 current joint angle
Feedback Data Bits: Bytes 1-28: 4x7 joint angle (/100.0)
Start Drag Teaching
Instruction Length: 3
Function Code: 0x70
Send Data Bits: None
Feedback Data Bits: 0xFF 0x01
Pause Sampling
Instruction Length: 3
Function Code: 0x72
Send Data Bits: None
Feedback Data Bits: 0xFF 0x01
Execute Teaching Point
Instruction Length: 3
Function Code: 0x71 Send data bits: None
Feedback data bits: 0xFF 0x01Clear sampling points
Instruction length: 3
Function code: 0x73
Send data bits: None
Feedback data bits: 0xFF 0x01Query collision detection mode
Instruction length: 3
Function code: 0xFD
Send data bits: None
Feedback data bits: Byte 1: 0/1, 1-open 0-closeSet Collision Detection Mode
Command Length: 4
Function Code: 0x74
Send Data Bits: 1-open 0-close
After enabling collision detection, the robotic arm will automatically stop if a collision lasting longer than 200ms and exceeding the collision threshold occurs during movement.
Feedback Data Bits: 0xFF 0x01
Set Collision Threshold
Command Length: 5
Function Code: 0x75
Send Data Bits:
Byte 1: joint range:(1-7)
Byte 2: radio range:(50-250)%
You can set the collision threshold for the joints. The default value is 100%. The smaller the value, the easier it is to trigger a collision.
Feedback Data Bits: 0xFF 0x01
Get Collision Threshold
Command Length: 3
Function Code: 0x76Send Data Bits: None
Feedback Data Bits:
- Bytes 1-7: All-Joint Collision Threshold
Set Torque Compensation Coefficient
Command Length: 5
Function Code: 0x77
Send Data Bits:
Byte 1: Joint Range: (1-7)
Byte 2: Radio Range: (0-250)% Friction compensation coefficient for the torque ring, default is [0, 0, 0, 0, 10, 30, 30]. The larger the coefficient, the easier it is to drag.
Feedback Data Bits: 0xFF 0x01
Get Torque Compensation Coefficient
Command Length: 3
Function Code: 0x78
Send Data Bits: None Feedback Data Bits:
- Bytes 1-7: Full Joint Torque Compensation Coefficient
Circular Arc Trajectory
Command Length: 0x1C
Function Code: 0x8C
Send Data Bits:
Circular Arc Path Point (transpoint) Circular Arc End Point (endpoint)
Bytes 1-2: transpoint.x (*10) Bytes 3-4: transpoint.y
Bytes 5-6: transpoint.z Bytes 7-8: transpoint.rx (*100)
Bytes 9-10: transpoint.ry
Bytes 11-12: transpoint.rz Bytes 13-14: endpoint.x (*10)
Bytes 15-16: endpoint.y Bytes 17-18: endpoint.z
Bytes 19-20: endpoint.rx (*100) Bytes 21-22: endpoint.ry
Bytes 23-24: endpoint.rz
Byte 25: speed (1-100)Feedback data bits: 0xFF 0x01
Based on the current position of the robotic arm (starting point), the given arc transit point (transpoint), and the arc ending point (endpoint), an arc is determined by these three points, causing the robotic arm to execute the arc trajectory in the order of starting point, transit point, and ending point.
Set Motion Control Mode
- This interface takes a relatively long time to execute, approximately 4ms.
Position Mode: The standard control mode, generally used.
Torque Mode: When activated, it automatically enables zero-force drag function. The robotic arm cannot be controlled in this mode.
Instruction length: 4
Function code: 0x1E
Send data bits: Byte 1: Mode 0/1 0-Position 1-Torque, zero-force drag; Default position mode
Feedback data bits: Byte 1: 0xFF, Byte 2: 0/1 0-Setting failure, incorrect parameters; 1-Parameter correct
- This interface takes a relatively long time to execute, approximately 4ms.
Read Motion Control Mode
Instruction length: 3
Function Code: 0x1F
Send Data Bits: None
Feedback Data Bits: Byte 1: Mode 0/1 0-Position 1-Torque, Zero-Force Drag
Over-Limit Return to Zero
- After exceeding the limit, manual movement back to the limit is not required; currently only supported in position mode, not in refresh mode control.
- It is forbidden to send motion commands other than "stop" before the homing process is complete.
Command Length: 3
Function Code: 04
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
- After exceeding the limit, manual movement back to the limit is not required; currently only supported in position mode, not in refresh mode control.
Get Sampling Point
- Pop the stored point from the sampling queue.
Command Length: 3
Function Code: 0x44
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-28: 4*7 angels
Set Sampling Point
- Push the sampling point into the sampling queue.
Instruction length: 11
Function code: 0x45
Send data bits: Bytes 1-14: 2*7 angels
Get the sampling queue length
Instruction length: 3
Function code: 0x46
Send data bits: None
Feedback fixed data bits: Byte 1: Length
Get Zero-Space Deflection Angle Value
- This interface is not available in the EDU version.
Instruction Length: 3
Function Code: 0x35
Send Data Bits: None
Feedback Fixed Data Bits: Byte 1: J1_angle_low, requires /100, Byte 2: J1_angle_high, requires /100
Set Zero-Space Deflection Angle Value
- This interface is not available in the EDU version.
Instruction Length: 6
Function Code: 0x36
Send Data Bits: Bytes 1-2: angle (x100), Byte 3: speed 1-100
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
RPY Rotation
Command Length: 6
Function Code: 0xF5
Send Data Bits: Byte 1: Mode 1-3 1-Roll angle (around X-axis) 2-Pitch angle (around Y-axis) 3-Yaw angle (around Z-axis); Byte 2: Direction 0/1 0-Reverse rotation 1-Forward rotation Byte 3: Speed
First-level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Dual-Arm Base Interface
The dual-arm Base coordinate system is located at the waist
Read BASE coordinates
Command length: 3
Function code: 0xF0
Send data bits: None
Feedback fixed data bits: Bytes 1-12: 2*6 coords
Send BASE single coordinates
Command length: 7
Function code: 0xF1
Send data bits: Byte 1: Axis 1-6; Bytes 2-3: BaseCoord value; Byte 4: Speed 1-100
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Send BASE full coordinates
Command length: 10
Function code: 0xF2
Send data bits: Bytes 1-12: 2*6 BaseCoord value; Byte 13: Speed 1-100
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
BASE coordinate jog control
Instruction length: 6
Function code: 0xF3
Send data bits: Byte 1: Coordinate axes 1-6; Byte 2: Movement direction 0/1; Byte 3: Speed 1-100
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Dual arm waist linkage
Instruction length: 8
Function code: 0x2E
Send data bits: Bytes 1-2: currentWaist(angle100) ±180; Bytes 3-4: targetWaist(angle100) ±180; Byte 5: Speed 1-100
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Auxiliary Functions
Set Zero Position
Command Length: 3
Function Code: 0x54
Send Data Bits: Byte 1: Joints 1-7, 11-13
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Robot Turns Off Torque Output, All Joints Relaxed
Command Length: 3
Function Code: 0x13
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Robot Turns On Torque Output, All Joints Locked
Command Length: 3
Function Code: 0x18
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set Individual Motor Power Off
Instruction Length: 4
Function Code: 0x56
Send Data Bits: Byte 1: Joints 1-7, 11-13
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set Single Motor Power On
Instruction Length: 4
Function Code: 0x57
Send Data Bits: Byte 1: Joints 1-7, 11-13
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set Joint Brake Switch
Instruction Length: 5
Function Code: 0x19
Send Data Bits: Byte 1: Joints 1-7,13; Byte 2: 0/1 1-On
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set RGB Color
Instruction Length: 5
Function Code: 0x6A Send data bits: Bytes 1-3: R, G, B, range 0-255, all 0s - light off
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Set maximum speed
Instruction length: 6
Function code: 0x41
Send data bits: Byte 1: Mode 0/1, 0-angle, 1-coordinate; Bytes 2-3: speed, can only be set within the maximum range
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Set maximum acceleration
Instruction length: 6
Function code: 0x43
Send data bits: Byte 1: Mode 0/1, 0-angle, 1-coordinate; Bytes 2-3: acceleration, can only be set within the maximum range
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Read Maximum Speed
Instruction Length: 4
Function Code: 0x40
Send Data Bits: None
Feedback Data Bits: Bytes 1-2: Speed
Read Maximum Acceleration
Instruction Length: 4
Function Code: 0x42
Send Data Bits: Byte 1: Mode 0/1 0-Angle 1-Coordinate
Feedback Data Bits: Bytes 1-2: Acceleration
Set Joint Minimum Angle
Command Length: 6
Function Code: 0x4c
Send Data Bits: Byte 1: Joints 1-7,11-13, Bytes 2-3: Minimum Angle * 10.0; Can only be set within the default range, no error will occur upon power failure
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Read Joint Minimum Angle
Command Length: 4
Function Code: 0x4a
Send Data Bits: Byte 1: Joints 1-7,11-13
Feedback Data Bits: Bytes 1-2: Minimum Angle / 10.0
Set Joint Maximum Angle
Command Length: 6
Function Code: 0x4d
Send Data Bits: Byte 1: Joints 1-7,11-13, Bytes 2-3: Maximum angle * 10.0; can only be set within the default range, no error will occur upon power failure.
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Read maximum joint angle
Instruction length: 4
Function code: 0x4b
Send data bits: Byte 1: Joints 1-7,11-13
Feedback data bits: Bytes 1-2: Maximum angle / 10.0
Read Servo System Parameters
Command Length: 6
Function Code: 0x53
Send Data Bits: Byte 1: id 11/12; Byte 2: addr 5-69; Bytes 3-4: mode 1/2
Feedback Data Bits: Bytes 1-2: data
Set Servo System Parameters
Command Length: 8
Function Code: 0x52
Send Data Bits: Byte 1: id 11/12; Byte 2: addr 5-69; Bytes 3-4: data; Byte 5: mode 1/2
Feedback Data Bits: Bytes 1-2: 0xFF 0x01
Set Joint Direction
- Zeroing is required before setting. Read the current direction first, then set.
Instruction Length: 5
Function Code: 0x7D
Send Data Bits: Byte 1: Joints 1-7, Byte 2: Direction 0/1 1-Same Direction 0-Reverse Direction
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Read Joint Direction
Instruction Length: 3
Function Code: 0x7C
Send Data Bits: None
Feedback Data Bits: Bytes 1-7: 1X7 Joint Direction, 1-Same Direction 0-Reverse Direction
Read VR Mode
Instruction Length: 3
Function Code: 0x79
Send Data Bits: None
Feedback Data Bits: Byte: 1-open 0-closeEnabling VR mode reduces the motion command buffer length from 80 to 2.
Suitable for development scenarios where motion buffer buildup is undesirable, such as VR control and remote control.
Set VR Mode
Command Length: 4
Function Code: 0x7A
Send Data Bits: Byte: 1-open 0-close
Feedback Data Bits: 0xFF 0x01
Get Velocity Fusion Planning Parameters
- Used to modify the velocity and acceleration of the position loop velocity fusion interface.
Command Length: 4
Function Code: 0x4E
Send Data Bits: Byte 1: 1-4, 1-fused joint velocity, 2-fused joint acceleration, 3-fused coordinate velocity, 4-fused coordinate acceleration
Feedback Data Bits: Bytes 1-2: Velocity fusion planning parameters
Set Velocity Fusion Planning Parameters
Command Length: 4
Function Code: 0x4F
Send Data Bits:
Byte 1: 0-4, 0-Restore default parameters (only available with set), 1-Merge joint velocity, 2-Merge joint acceleration, 3-Merge coordinate velocity, 4-Merge coordinate acceleration
Bytes 2-3: value, range 0-10000
Feedback Data Bits: 0xFF 0x01
Get Monitoring Status
Command Length: 3
Function Code: 0xFB
Send Data Bits: None
Feedback Data Bits: Byte 1: 1-open 0-close
Set Monitoring Status
- After enabling monitoring mode, the interpolation point will be continuously returned when sending motion commands.
Command Length: 4
Function Code: 0xFC
Send Data Bits: Byte 1: 1-open 0-close
Feedback data bits: 0xFF 0x01
IO Control
Bottom IO
Note: Bottom I/O is only supported on the left arm; the right arm does not have bottom I/O.
Set Base IO Output
Instruction Length: 5
Function Code: 0xA0
Transmit Data Bits: Byte 1: Pin Number 1-6, Byte 2: Status 0/1 0-Low Level 1-High Level
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Read Base IO Input
Instruction Length: 4
Function Code: 0xA1
Transmit Data Bits: Byte 1: Pin Number 1-6
Feedback Data Bits: Byte 1: Status 0/1 0-Low Level 1-High Level
End IO
Set End IO Output
Instruction Length: 5
Function Code: 0x61
Transmit Data Bits: Byte 1: Pin Number 1/2 Byte 2: Status 0/1 1. 0 - Low level 1 - High level
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Read end I/O input
Instruction length: 4
Function code: 0x62
Send data bits: Byte 1: Pin number 1-2
Feedback data bits: Byte 1: Status 0/1 0 - Low level 1 - High level
Read all end pin statuses
Instruction length: 3
Function code: 0x5F
Send data bits: None
Feedback data bits: Byte 1: Input 1 status 0/1 0 - Low level 1 - High level; Byte 2: Input 2 status; Byte 3: End button status
Whether the end button is pressed
Instruction length: 3
Function code: 0x6F
Send data bits: None
Feedback data bits: Byte 1: 0/1 1 - Pressed, 0 - Not pressed
End Gripper Control
Note: For Pro force control grippers and three-finger grippers, please refer to the "Setting/Reading End Gripper Values" protocol below.
Set Gripper Opening/Closed State
Command Length: 6
Function Code: 0x66
Send Data Bits: Byte 1: State 0/1 0-open 1-close, Byte 2: Speed 1-100, Byte 3: Mode 1-Pro Adaptive Gripper, 2-Parallel Gripper, Default Pro Adaptive Gripper
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set Gripper Angle
Command Length: 6
Function Code: 0x67
Send Data Bits: Byte 1: Gripper Angle 0-100, Byte 2: Speed 1-100, Byte 3: Mode 1-Pro Adaptive Gripper, 2-Parallel Gripper, Default Pro Adaptive Gripper
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set Gripper Zero Point
Set the gripper to zero position when it is fully open.
Command length: 3
Function code: 0x68
Send data bits: None
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Enable Pro adaptive gripper
Command length: 4
Function code: 0x58
Send data bits: Byte 1: 0/1 1-Enable
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Set gripper mode
Mode: Port/Pass-through mode. The default is port mode. The mode is not saved after power failure. The gripper automatically switches to port mode upon power-on after a power failure. Once switched to pass-through mode, it cannot be set back to port mode unless the gripper is powered on and off again.
Port: 2 output I/O, one high and one low to control gripper opening and closing.
Pass-through: Controls gripper opening and closing via interface.
Command Length: 4
Function Code: 0x6D
Send Data Bits: Byte 1: Mode 0 - Pass-through, 1 - Port
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Get Gripper Mode:
Command Length: 3 bits
Function Code: 0x6E
Send Data Bits: None
Feedback Fixed Data Bits: Byte 1: 0/1 0 - Pass-through, 1 - Port
Set Electric Gripper Opening and Closing:
After the gripper is powered on, initial opening and closing requires initialization. The gripper LED will turn red after power-on.
Command Length: 4 bits
Function Code: 0x6B
Send Data Bits: Byte 1: 0/1 1 - Closed, 0 - Open
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Set electric gripper initialization
After the gripper is powered on, initialization is required for the first opening and closing. The gripper LED will turn red after power is on.
Command length: 3
Function code: 0x6C
Send data bits: None
Feedback fixed data bits: Bytes 1-2: 0xFF 0x01
Set End-of-Life Accessory Values
Only supports Pro force control grippers and three-finger grippers
Public interface; other specific function interfaces: Force control gripper: Force Control Gripper Communication Protocol; Three-finger: Three-finger Communication Protocol
Force control IO: 1 bottom 2 high: On, 1 high 2 low: Off; After using the IO, the 485 needs to change the IO to the same state, 1 and 2 are both high or both low.
Command length: 8-N
Function code: 0xD8
Send data bits:
Byte 1: Gripper ID, default 14
Bytes 2-3: Gripper function register address
Bytes 4-N: data1, data2...... Maximum byte 60
Feedback data bits: Bytes 1-2: 0xFF 0x01
Read end-effector value
Only supports Pro force control gripper and three-finger gripper
Public interface, other specific function interfaces: Force control gripper: Force Control Gripper Communication Protocol; Three-finger gripper: Three-finger Communication Protocol
Force control I/O: 1 low, 2 high: On; 1 high, 2 low: Off; After using the I/O, the 485 needs to change the I/O to the same state, 1 and 2 should be either both high or both low.
Instruction length: 6 or 8
Function code: 0xD9
Send data bits:
- Byte 1: Gripper ID, default 14 - Bytes 2-3: Gripper function register address - Bytes 4-5: Data (optional)Feedback data bits: Gripper parameter values
Setting up Endpoint 485 Communication
485 Factory Reset
Command Length: 3
Function Code: 0xB1
Transmit Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Setting up 485 Communication
Baud rate needs to be set before setting up
Command Length: 3
Function Code: 0xB2
Transmit Data Bits: None
Feedback Fixed Data Bits: Byte 1: 0/1 1 - Set
Reading 485 Buffer Length
Command Length: 3
Function Code: 0xB3
Transmit Data Bits: None
Feedback Fixed Data Bits: Byte 1: len 0-255 readable byte length
Reading Fixed-Length Data Read the buffer length before reading; data will be cleared after reading.
Instruction Length: 4
Function Code: 0xB4
Send Data Bits: Byte 1: Maximum length 45
Feedback Fixed Data Bits: Bytes 1-N: datas
Send Data
Instruction Length: 3+N
Function Code: 0xB5
Send Data Bits: Bytes 1-N: datas, N: Maximum 45
Feedback Fixed Data Bits: Byte 1: len 0-45, total length sent in one operation
Clear Buffer
Instruction Length: 3
Function Code: 0xB6
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set 485 Baud Rate
Instruction Length: 7 Function Code: 0xB8
Send Data Bits: Bytes 1-4: Baud rate, common baud rates are 9600, 115200, 1000000, etc., default is 115200
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Set 485 Timeout
Command Length: 5
Function Code: 0xB9
Send Data Bits: Bytes 1-2: Timeout, in milliseconds, default 30ms
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Status Query
Read Robot Status
Command Length: 3
Function Code: 0xA2
Send Data Bits: None
Feedback Data Bits: Byte 1: Collision detection status 0/1 1-Collision; Byte 2: Movement status 0/1 1-In motion; Bytes 3-10: 81 Joints J1-J7 J13 exceeding limits 0/1 1-Exceeding limits; Bytes 11-30: 102 Joint motors reporting errors, overcurrent, overtemperature, etc. 0-65535, 0-Normal >0 Abnormal (see right side for specific status, e.g., undervoltage value: 8192) Errors 2/6/7/14/15 cannot be cleared, take emergency stop/power off the whole machine j1-7 j13 j11-12, j11-12 returning 65535 indicates no communication for this joint, see the error information table for details; Bytes 31-46: 8*2 Joint motor software error 0-Normal >0 Abnormal; see error information and position feedback table for details.
Read Motion Error Information
Command Length: 3
Function Code: 0x07
Send Data Bits: None
Feedback Data Bits: Bytes 1-2: Error Information, see error information and position feedback table for details.
Read Joint Communication Error Count
Instruction Length: 5
Function Code: 0xA3
Send Data Bits: Byte 1: Joints 1-7、13; Byte 2: Type 1-4, 1-Joint Send Error Count, 2-Joint Acquisition Error Count, 3-Endpoint Send Error Count, 4-Endpoint Acquisition Error Count
Feedback Data Bits: Bytes 1-2: Error Count, Range 0-32700
Read Joint Running Speed
Instruction Length: 3
Function Code: 0xE1
Send Data Bits: None
Feedback Data Bits: Bytes 1-14: 2X7 Running Speed / 100.0 +30 ~ -30 rpm
Acquire Joint Current
Instruction Length: 3
Function Code: 0xE2
Send Data Bits: None
Feedback Data Bits: Bytes 1-14: 2X7 Joint Current Unit: MA
Get Joint Status
Command Length: 3
Function Code: 0xE4
Send Data Bits: None
Feedback Data Bits: Bytes 1-14: 2x7 Range: 0-65535 (Undervoltage value: 8192), Status: 0 - OK
Read Zero-Position Encoder Value
Command Length: 3
Function Code: 0x59
Send Data Bits: None
Feedback Data Bits: Bytes 4x7: Joints J1-J7
Read Zero-Position Encoder Value
Command Length: 3
Function Code: 0xA5
Send Data Bits: None
Feedback Data Bits: Bytes 1-2: Angle/100, Default 21°
Read Motor Errors During Movement
Instruction Length: 3
Function Code: 0x9C
Send Data Bits: None
Feedback Data Bits: Bytes 1-14: 2x7
Setting the Coordinate System
Setting the Tool Coordinate System
Command Length: 0x0F
Function Code: 0x81
Send Data Bits:
Bytes 1-2: x (±1000) (10xmm)
Bytes 3-4: y (±1000)
Bytes 5-6: z (±1000)
Bytes 7-8: rx (±180) (100xRd)
Bytes 9-10: ry (±180)
Bytes 11-12: rz (±180)
Feedback Data Bits: 0xFF 0x01
Reading the Tool Coordinate System
Command Length: 3
Function Code: 0x82
Send Data Bits: None Feedback Data Bits:
Bytes 1-2: x (±1000) (10xmm)
Bytes 3-4: y (±1000)
Bytes 5-6: z (±1000)
Bytes 7-8: rx (±180) (100xRd)
Bytes 9-10: ry (±180)
Bytes 11-12: rz (±180)
Set World Coordinate System
Command Length: 0x0F
Function Code: 0x83
Send Data Bits:
Bytes 1-2: x (-2800~280) (10xmm)
Bytes 3-4: y (-2800~280)
Bytes 5-6: z (-2800~280)
Bytes 7-8: rx (±3140) (100xRd)
Bytes 9-10: ry (±3140)
Bytes 11-12: rz (±3140)
Feedback data bits: 0xFF 0x01
Read World Coordinate System
Command Length: 3
Function Code: 0x84
Send Data Bits: None
Feedback Data Bits: Bytes 1-12: 2x6 coords
Set Base Coordinate System
Command Length: 4
Function Code: 0x85
Send Data Bits: Byte 1: base type (0-base coordinate system 1-world coordinate system)
Feedback Data Bits: 0xFF 0x01
Read Base Coordinate System
Command Length: 3
Function Code: 0x86
Send Data Bits: None
Feedback Data Bits: Byte 1: base type (0-base coordinate system 1-world coordinate system)Set End Coordinate System
Command Length: 4
Function Code: 0x89
Send Data Bits: Byte 1: end type (0-flange 1-tool)
Feedback Data Bits: 0xFF 0x01Read End Coordinate System
Command Length: 3
Function Code: 0x8A
Send Data Bits: None
Feedback Data Bits: Byte 1: end type (0-flange 1-tool)Set Movement Type
Switch Movement Type (0-moveJ 2-moveF) 0 is the default mode, 2 is the joint speed fusion mode (used in VR, joystick control, etc.).
Instruction Length: 4
Function Code: 0x87
Send Data Bits: Byte 1: movement type (0-moveJ, 2-moveF)
Feedback Data Bits: 0xFF 0x01
Read Movement Type
Instruction Length: 3
Function Code: 0x88
Send Data Bits: None
Feedback Data Bits: Byte 1: movement type
Error Clearing
Clear Motion Errors
Clear motion reading errors, such as exceeding limits, coordinates not reaching, etc.
Command Length: 3
Function Code: 08
Send Data Bits: None
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Joint Anomaly Recovery
Clearing errors from some joint motors (after clearing, read the robot status again to see if clearing was successful). Error bits 2/6/7/14/15 cannot be cleared abnormally; take emergency stop/power off the entire machine.
Command Length: 4
Function Code: 0xE7
Send Data Bits: Byte 1: Joints 1-7, 254-All Joints
Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01
Common Problems
Robotic Arm Cannot Move?
To check if the robotic arm is enabled, if there are any errors in the joint motors, and if any joints have exceeded limits, you can call Read Robot Status. 2. No response to command.
Check if the command was sent correctly. All commands have a first-level handshake feedback.
Power on only: End LED turns yellow.
Power on successfully: End LED turns green.
Movement exceeds limits, point cannot be reached: End LED turns blue.
MyStudio - Free movement mode: End LED turns purple.
Error Messages and Position Feedback Table
Position Feedback Table
0-20 Joint Overlimit, Collision, Pause, etc.
| Hexadecimal (Decimal) | Description |
|---|---|
| 0 | Movement in Position |
| 1-7 | Joint Overlimit |
| 8 | End of Setting Movement Mode |
| 10-13 | Collision Protection |
| A (10) | End of Slow Stop Flag |
| B (11) | Command Stop Flag |
20-23 (32-35) Coordinate Movement Abnormality (Check Joint Limits)
| Hexadecimal (Decimal) | Description |
|---|---|
| 20 (32) | No Coordinate Solution |
| 21 (33) | No Adjacent Solution for Linear Movement |
| 22 (34) | Velocity Fusion Error |
| 23 (35) | Zero-space motion has no adjacent solutions |
| 24 (36) | Singular position has no solution |
| 31 (49) | Identification accuracy error |
41-47 (65-71) Joint abnormality
| Hexadecimal (decimal) | Description | |
|---|---|---|
| 41-47 (65-71) | 1-7 joint position accuracy abnormality | |
| 51-57 (81-87) | 1-7 joint collision detection abnormality | |
| 0x61-67 | 1-7 joint CAN transmission failure | |
| 0x71-77 | 1-7 joint CAN reception abnormality | |
| 0x81-87 | 1-7 joint disabled | |
| 0x91-97 | 1-7 joint motor error (can be used with 0x9c interface after error) | |
| 0xA1-A7 | 1-7 Joint Motor Encoder Error | |
| 0xC1-C7 | 1-7 Joint Position Out of Tolerance |
Motion Error Information Table
Return Data Format: 0xD0 + xx (e.g., 0xD001 indicates 1 joint is out of tolerance)
0-7 Joint Out of Tolerance
| Status Code (Decimal) | Hexadecimal | Description |
|---|---|---|
| 0 | 0x00 | Normal Motion |
| 1 | 0x01 | 1 Joint Out of Tolerance |
| 2 | 0x02 | 2 Joints Out of Tolerance |
| 3 | 0x03 | 3 Joints Out of Tolerance |
| 4 | 0x04 | 4 Joints Out of Tolerance |
| 5 | 0x05 | 5 Joints Out of Tolerance |
| 6 | 0x06 | 6 Joints Out of Tolerance |
| 7 | 0x07 | 7 Joints Exceed Limits |
20-24 (32-36) Coordinate Motion Abnormality
| Status Code (Decimal) | Hexadecimal | Description | |
|---|---|---|---|
| 20 (32) | 0x14 | No solution for coordinates, please check if the arm span is near the limit | |
| 21 (33) | 0x15 | No adjacent solution for linear motion | |
| 22 (34) | 0x16 | Velocity fusion error | |
| 23 (35) | 0x17 | No adjacent solution for zero-space motion | |
| 24 (36) | 0x18 | No solution for singular position, please use joint control to leave the singular point |
Joint Motor Error Message Table
1. Software Error Alarms
| Bits (2 bytes) | Error Status (1 - Abnormal, 0 - Normal) | Description and Handling Suggestions |
|---|---|---|
| 0 | Can Initialization Abnormal | Requires checking the main control board. After fixing the control board abnormality, power off and then power on again. Symptoms: The machine cannot be enabled or controlled, etc. |
| 1 | Motor Initialization Abnormal | Requires checking the motor communication line, etc. After fixing the abnormality, power off and then power on again. Symptoms: The machine cannot properly feedback joint information or control, etc. |
| 2 | Motor Sending Abnormal | Requires checking the motor communication line, etc. Symptoms: Abnormal machine position feedback, etc.; can be cleared using abnormal recovery. |
| 3 | Motor Receiving Abnormal | Requires checking the motor communication line, etc. Symptoms: Abnormal machine position feedback, etc.; can be cleared using abnormal recovery. This feedback allows normal machine control and does not require user notification; it is mainly used for troubleshooting. |
| 4 | Position Out of Tolerance | Requires checking the motor encoder, etc. Symptoms: Machine is disabled and cannot be controlled; can be cleared using exception recovery. |
| 5 | Terminal Sending Anomaly | Need to check terminal communication lines, etc. Symptoms: Terminal interface feedback is abnormal; can be cleared using exception recovery. |
| 6 | Terminal Receiving Anomaly | Need to check terminal communication lines, etc. Symptoms: Terminal interface feedback is abnormal; can be cleared using exception recovery. This feedback allows normal machine control and does not require user notification; it is mainly used for troubleshooting. |
| 7 | Motor Encoder Error | When the encoder reports an error, movement is impossible; the encoder error needs to be cleared. Older versions of the motor driver board do not report errors - even if an encoder error is reported, the software cannot provide feedback. How to distinguish between new and old: The new driver board has a battery on it. |
| 8 | Enable feedback lost | The machine must be enabled before operation. |
2 Motor built-in error alarms
| Bit (2 bytes) | Error status | Handling method |
|---|---|---|
| 0 | CAN bus error | Can be recovered using an exception. If it cannot be recovered, check the communication line, repair it, and then power on to enable. |
| 1 | Short circuit | Can be recovered using an exception. |
| 2 | Invalid setting data | — |
| 3 | Control error | Can be recovered using an exception. |
| 4 | CAN communication error | Can be recovered using an exception. If it cannot be recovered, check the communication line, repair it, and then power on to enable. |
| 5 | Feedback error | Can be recovered using an exception. |
| 6 | Positive limit switch activated | — |
| 7 | Negative limit switch activated | — |
| 8 | Overcurrent | Can be recovered using an exception. |
| 9 | I2t protection | Can be recovered using an exception. |
| 10 | Overtemperature | Can be recovered using an exception. |
| 11 | Driver board overheating | Recovery from an anomaly is available |
| 12 | Overvoltage | Recovery from an anomaly is available |
| 13 | Undervoltage | Recovery from an anomaly is available |
| 14 | Command error | — |
| 15 | Enabled is inactive | — |