Arm Link Packet Examples

mt_ignore
Reference Material

Here are several example packets of the Arm Link Protocol. Each byte is represented as a hex value. To send these packets you can use any program that will allow you to send bytes over a serial terminal. Many programming languages have this built in, or available as an additional library. There are also GUI applications such as RealTerm and Cornflake that will allow you to send these packets. You will need to set your application to the following settings:

  • Baud: 38400
  • Parity: None
  • Data Bits: 8
  • Stop Bits: 1

In applications like realterm, you will need to send the numbers as hex values - simply put a '0x' before each value, as displayed in the example packet.

Examples 1-5 will set the mode / wrist orientation for any arm

Example 1: Set 3D Cartesian mode / straight wrist and go to home

0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x20 0xdf
Parameter Value Transmitted Value Interpreted
X 0 Ignored
Y 0 Ignored
Z 0 Ignored
Wrist Angle 0 Ignored
Wrist Rotate 0 Ignored
Gripper 0 Ignored
Delta 0 Ignored
Button 0 Ignored
Extended 32 Change Mode to 3D Cartesian / Straight Wrist & Go to Home

Example 2: Set 3D Cartesian mode / 90° wrist angle and go to home

0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x28 0xd7
Parameter Value Transmitted Value Interpreted
X 0 Ignored
Y 0 Ignored
Z 0 Ignored
Wrist Angle 0 Ignored
Wrist Rotate 0 Ignored
Gripper 0 Ignored
Delta 0 Ignored
Button 0 Ignored
Extended 40 Change Mode to 3D Cartesian / 90 ° Wrist & Go to Home

Example 3: Set 3D Cylindrical mode / straight wrist and go to home

0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0xcf
Parameter Value Transmitted Value Interpreted
X 0 Ignored
Y 0 Ignored
Z 0 Ignored
Wrist Angle 0 Ignored
Wrist Rotate 0 Ignored
Gripper 0 Ignored
Delta 0 Ignored
Button 0 Ignored
Extended 48 Change Mode to 3D Cylindrical / Straight Wrist & Go to Home

Example 4: Set 3D Cylindrical mode / 90° wrist angle and go to home

0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x38 0xc7
Parameter Value Transmitted Value Interpreted
X 0 Ignored
Y 0 Ignored
Z 0 Ignored
Wrist Angle 0 Ignored
Wrist Rotate 0 Ignored
Gripper 0 Ignored
Delta 0 Ignored
Button 0 Ignored
Extended 56 Change Mode to 3D Cylindrical / 90 ° Wrist & Go to Home

Example 5: Set Backhoe/Joint mode and go to home

0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x40 0xbf
Parameter Value Transmitted Value Interpreted
X 0 Ignored
Y 0 Ignored
Z 0 Ignored
Wrist Angle 0 Ignored
Wrist Rotate 0 Ignored
Gripper 0 Ignored
Delta 0 Ignored
Button 0 Ignored
Extended 64 Change Mode to BackHoe / Joint Control & Go to Home

Make sure your arm is in the correct mode before sending any of the coordinates in examples 6-20.


Examples 6-14 assume you are already in Cartesian Mode - Straight Wrist (Example 1) for any arm

Example 6: Set Position in Cartesian Mode

0xff 0x2 0x0 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0xf5
Parameter Value Transmitted Value Interpreted
X 512 0
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 7: Move X Left

0xff 0x1 0x9c 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0x5a
Parameter Value Transmitted Value Interpreted
X 412 -100
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 8: Move Y Out

0xff 0x2 0x0 0x0 0xc8 0x0 0x96 0x0 0x5a 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0xc3
Parameter Value Transmitted Value Interpreted
X 512 0
Y 200 200
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 9: Move Z Up

0xff 0x2 0x0 0x0 0x96 0x0 0xc8 0x0 0x5a 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0xc3
Parameter Value Transmitted Value Interpreted
X 512 0
Y 150 150
Z 200 200
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 10: Set Wrist Angle down

0xff 0x2 0x0 0x0 0x96 0x0 0x96 0x0 0x3c 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0x13
Parameter Value Transmitted Value Interpreted
X 512 0
Y 150 150
Z 150 150
Wrist Angle 60 -30
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 11: Set Wrist Rotate

0xff 0x2 0x0 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x0 0x0 0x80 0x0 0x0 0xf5
Parameter Value Transmitted Value Interpreted
X 512 0
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 0 0
Gripper 0 0
Delta 128 128

Example 12: Open Gripper

0xff 0x2 0x0 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0xf3
Parameter Value Transmitted Value Interpreted
X 512 0
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 13: Set Position in Cartesian Mode - Slow

0xff 0x2 0x64 0x0 0xdc 0x0 0xdc 0x0 0x5a 0x2 0x0 0x2 0x0 0xff 0x0 0x0 0x84
Parameter Value Transmitted Value Interpreted
X 612 100
Y 220 220
Z 220 220
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 512 512
Delta 255 255

Example 14: Set Position in Cartesian Mode - Fast (Be Careful - Full Arm Speed)

0xff 0x2 0x64 0x0 0xdc 0x0 0xdc 0x0 0x5a 0x2 0x0 0x2 0x0 0xff 0x0 0x0 0x84
Parameter Value Transmitted Value Interpreted
X 612 100
Y 220 220
Z 220 220
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 512 512
Delta 0 0

Make sure you are using the correct arm for examples 15-20


Examples 15-16 assume you are already in Cylindrical Mode - Straight Wrist (Example 3) Pincher or Reactor Arm

Example 15: Rotate Base full Clockwise

0xff 0x0 0x0 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0xf5
Parameter Value Transmitted Value Interpreted
X 0 0
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 16: Rotate Base full Counter Clockwise

0xff 0x3 0xff 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0xf3
Parameter Value Transmitted Value Interpreted
X 1023 1023
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Examples 17-18 assume you are already in Cylindrical Mode - Straight Wrist (Example 3) WidowX Arm

Example 17: Rotate Base full Clockwise

0xff 0x0 0x0 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0xf5
Parameter Value Transmitted Value Interpreted
X 0 0
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 18: Rotate Base full Counter Clockwise

0xff 0xf 0xff 0x0 0x96 0x0 0x96 0x0 0x5a 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0xe7
Parameter Value Transmitted Value Interpreted
X 4095 4095
Y 150 150
Z 150 150
Wrist Angle 90 0
Wrist Rotate 512 512
Gripper 0 0
Delta 128 128

Example 19 assumes you are already in Backhoe Mode (Example 5) Pincher or Reactor Arm

Example 19: Center All Servos

0xff 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0x73
Parameter Value Transmitted Value Interpreted
X 512 512
Y 512 512
Z 512 512
Wrist Angle 512 512
Wrist Rotate 512 512
Gripper 512 512
Delta 128 128

Example 20 assumes you are already in Backhoe Mode (Example 5) WidowX Arm

Example 20: Center All Servos

0xff 0x8 0x0 0x8 0x0 0x8 0x0 0x8 0x0 0x2 0x0 0x2 0x0 0x80 0x0 0x0 0x5b
Parameter Value Transmitted Value Interpreted
X 2048 2048
Y 2048 2048
Z 2048 2048
Wrist Angle 2048 2048
Wrist Rotate 512 512
Gripper 512 512
Delta 128 128