User Manual

Diagram of a non-inverted TTL serial byte.
A non-inverted TTL serial line has a default (non-active) state of high. A transmitted byte begins with
a single low “start bit”, followed by the bits of the byte, least-significant bit (LSB) first. Logical ones
are transmitted as high (VCC) and logical zeros are transmitted as low (0 V), which is why this format
is referred to as “non-inverted” serial. The byte is terminated by a “stop bit”, which is the line going
high for at least one bit time. Because each byte requires a start bit, 8 data bits, and a stop bit, each
byte takes 10 bit times to transmit, so the fastest possible data rate in bytes per second is the baud
rate divided by ten. At the Maestro’s maximum baud rate of 200,000 bits per second, the maximum
realizable data rate, with a start bit coming immediately after the preceding byte’s stop bit, is 20,000
bytes per second.
Whenever connecting devices, remember to wire the grounds together, and ensure that
each device is properly powered. Unpowered devices with a TTL serial port can turn on
or partially on, drawing power from the serial line, which means that extra care must be
taken when turning power off and on to reset the devices.
5.c. Command Protocols
You can control the Maestro by issuing serial commands.
If your Maestro’s serial mode is “UART, detect baud rate”, you must first send it the baud rate indication
byte 0xAA on the RX line before sending any commands. The 0xAA baud rate indication byte can be
the first byte of a Pololu protocol command.
The Maestro serial command protocol is similar to that of other Pololu products. Communication is
achieved by sending command packets consisting of a single command byte followed by any data
bytes that command requires. Command bytes always have their most significant bits set (128–255,
or 0x80–0xFF in hex) while data bytes always have their most significant bits cleared (0–127, or
0x00–0x7F in hex). This means that each data byte can only transmit seven bits of information. The
only exception to this is the Mini SSC command, where the data bytes can have any value from 0 to
254.
Pololu Maestro Servo Controller User’s Guide © 2001–2019 Pololu Corporation
5. Serial Interface Page 50 of 102