Fairly simple. It is structured as a stream of packets. Packet format is Control byte: just 'A' + the type. Length bytes: The length of the data in the packet. Packet number: Packets are numbered. The packet window is up to 16 packets long. accordingly packet numbers range from 0 --> 32. Note that there are 3 bits currently unused. There may be defined later. Checksum: Just the sum of the previous three bytes. Data: 0 or more bytes. Data checksum: 2 bytes containing the checksum of the data. Ack packets are sent as... 'A' + ack The packet number being acked. The sum of the previous 2 bytes The sum of the previous 3 bytes.