
Comm_EXT Firmware
The Comm_ XT firmware allows full access to all of the features of the Robot Turret using a simple serial
protocol and instruction set. This firmware that comes preloaded on Arbotix's that ship with Robot
Turret. You do not need to reprogram your Arbotix unless you intend to modify or design your own
firmware.
The firmware has two modes of operation built in: Commander Standard mode and Commander
xtended mode.
The Commander Standard protocol is built to be plug-n-play compatible with the Arbotix Commander
v2.0 Gamepad Controller. It uses the Right Joystick on the Arbotix Commander Gamepad to control the
Pan/Tilt and the buttons (R1, R2, R3, L4, L5, L6, RT, LT) are tied directly to digital outputs (d0-d7) on the
Robot Turret's Arbotix. Please note that the standard protocol is 'output only', there is no method for
reading the I/Os as input. It also has a lower servo resolution (0-255) than the Commander xtended
protocol. There is an alternate firmware available for use in this mode, Comm_ XT Proportional which
allows for proportional control of the pan/tilt- this is much better for 'aiming' as the joystick will not
auto-center and does not directly control the pan/tilt's position. For a full explanation of the
Commander Standard protocol, please refer to the Arbotix Commander GamePad Controller Manual.
The Commander xtended protocol is intended to be the preferred PC communication protocol and the
default protocol for the Robot Turret. It allows for full resolution (0-1023) control of your pan & tilt
servos, access/polling of digital & analog I/O, and DC motor speed & directional control.
The Packet Structure consists of 8 bytes sent to the Arbotix via serial connection. Please refer to the
tables below for a breakdown of the Commander xtended protocol.
Commander Extended Packet Structure:
Byte Name Value
1 Header 0xFF (255)
2 Tilt H 0x0-0x3 (0-3)
3 Tilt L 0x00-0xFF (0-255)
4 Pan H 0x0-0x3 = (0-3)
5 Pan L 0x00-0xFF (0-255)
6 Button Values D7-D0=00000000(leave default 0x00 for Commander Ext)
7 Ext Instruction See Table Below, default is 0x08
8 Checksum = (255 - (byte2+byte3+byte4+byte5+byte6+byte7) Mod 256)
The Pan and Tilt servos use 0-1023 for positional commands; this value cannot be contained in a single
byte so it is spread over a Low and High Byte. The xt Instruction Byte should default to 0x08, this will
keep the Arbotix in " xtended Mode" and retain full resolution of the Pan/Tilt. The Button Values Byte
(byte 6) should default to 0, as digital IO is handled by the xt Instruction Byte while in xtended Mode.