1 байт - ID параметра (0x01 - CPU, 0x02 - RAM и т.д.)
2 байт - Value параметра
3 байт - XOR между ID и Value
4 байт - признак окончания передачи 0xFA, например
Итого пересылаете 4 байта
На ардуине:
int counter = 0;
if (Serial.available() > 0){
rx_byte = Serial.read();
if(rx_byte !=0xFA)
{
read_array[counter] = rx_byte
}
else
{
counter = 0;
if ((read_array[0] xor read_array[1])== read_array[3])
{
//данные приняты успешно, можно передавать в обработку
}
else
{
//данные искажены, не берем их в расчет
}
}
}
Код условный, только для демонстрации идеи передачи пакетом с помехоустойчивостью чуть получше чем никакой.