top of page
Metrajlı_Şerit Arkaplan_Antrasit.png

ARC '24 Kural Kitapçığı

Rover Satellite Communications Protocol

RSCP is a protocol for communicating with a rover over a serial connection. This project is designed for Anatolian Rover Challenge (ARC)

Note: This project is still under development, and has not been released yet.

For detailed description regarding the communication system for autonomous mission, refer to this external documentation. It is advised for teams to add this GitHub repository to their watch list, and be notified about the updates.

Frame Format

Start Byte
Message ID Byte
Body Length
Body [N]
Checksum [2]
0x7E (uint8_t)
MSG_ID (uint8_t)
N (uint8_t)
data (uint8_t[N])
CRC16 (uint16_t)

Note: The frame format uses big endian byte order on all fields.

Start Byte

The start byte is used to indicate the start of a frame. It is always 0x7E.

Message ID Byte

The message ID byte is used to indicate the type of the message. The message types with their corresponding IDs will be listed in the upcoming release.

Body Length

The body length field is used to indicate the length of the data field in bytes.


The body field is used to store the data of the message. The maximum size of the body field is 255 bytes.


The checksum field is used to verify the integrity of the frame. It is calculated using the CRC-16-CCITT algorithm. The checksum is calculated over the frame starting from (incuding) start byte to last element of (including) data byte. The checksum bytes are not included in the calculation of the checksum. The checksum is stored in the checksum field in big endian byte order.


This project is developed for Anatolian Rover Challenge (ARC)


This project is licensed under the BSD 3-Clause License.


Sencer Yazici -

bottom of page