Если у вас есть последовательная связь между двумя пунктами, вы можете
1) отправить в текстовом виде:
// Sender
Serial.print(value);
// Receiver
int value = Serial.parseInt();
2) отправить его в двоичном основе образом:
byte arr[4];
// Sender
for (i=0;i<4;i++)
arr[i] = (value >> (8*(3-i))) & 0xFF;
Serial.write(arr,4);
// Receiver
if (Serial.available() > 4)
{
Serial.readBytes(arr,4);
value = 0
for (i=0;i<4;i++)
value = (value << 8) | (((int)arr[i]) & 0xFF);
}
Первый способ проще, второй более оптимизирован и может стать более надежным, если вы добавите некоторые элементы управления.
Если вы не используете последовательный канал связи, вам придется изменить эти функции (но, вероятно, любой интерфейс позволяет отправлять и получать массивы байтов, поэтому второй может быть применен практически в любом случае)