User Manual
in hex: 0xAA, 0x0C, 0x04, 0x00, 0x70, 0x2E
in decimal: 170, 12, 4, 0, 112, 46
Note that 0x04 is the command 0x84 with its most significant bit cleared.
Mini SSC Protocol
The Maestro also responds to the protocol used by the Mini SSC servo controller. This protocol allows
you to control up to 254 different servos by chaining multiple servo controllers together. It only takes
three serial bytes to set the target of one servo, so this protocol is good if you need to send many
commands rapidly. The Mini SSC protocol is to transmit 0xFF (255 in decimal) as the first (command)
byte, followed by a servo number byte, and then the 8-bit servo target byte. Therefore, the command
packet is:
0xFF, servo number byte, servo target byte
For example, if we wanted to set the target of servo 0 to its (configurable) neutral position, we could
send the following byte sequence:
in hex: 0xFF, 0x00, 0x7F
in decimal: 255, 0, 127
The Maestro can be configured to respond to any contiguous block of Mini SSC servo numbers from
0 to 254.
The Maestro identifies the Pololu, Compact, and Mini-SSC protocols on the fly; you do not need to use
a configuration parameter to identify which protocol you are using, and you can freely mix commands
in the three protocols.
5.d. Cyclic Redundancy Check (CRC) Error Detection
For certain applications, verifying the integrity of the data you are sending and receiving can be very
important. Because of this, the Maestro has optional 7-bit cyclic redundancy checking, which is similar
to a checksum but more robust as it can detect errors that would not affect a checksum, such as an
extra zero byte or bytes out of order.
Cyclic redundancy checking can be enabled by checking the “Enable CRC” checkbox in the “Serial
Settings” tab of the Maestro Control Center application. In CRC mode, the Maestro expects an extra
byte to be added onto the end of every command packet (except Mini SSC command packets). The
most-significant bit of this byte must be cleared, and the seven least-significant bits must be the 7-bit
CRC for that packet. If this CRC byte is incorrect, the Maestro will set the Serial CRC error bit in
the error register and ignore the command. The Maestro does not append a CRC byte to the data it
Pololu Maestro Servo Controller User’s Guide © 2001–2019 Pololu Corporation
5. Serial Interface Page 52 of 102










