Wire Tap
Your MCU receives framed binary packets over UART1 (115200 baud, 8N1).
Packet format: SYNC | LEN (1 byte) | PAYLOAD (LEN bytes) | CRC8
SYNC is a single fixed sentinel byte that marks the start of every frame.
CRC8 = XOR of all bytes from LEN through end of PAYLOAD (not SYNC).
On valid packet: transmit "ACK:" followed by each payload byte as two uppercase hex chars, then "\n". For an N byte payload the response is "ACK:" then 2*N hex chars then "\n".
On invalid CRC: transmit "NAK\n" and wait for the next packet.
Garbage bytes may appear before the SYNC byte. Discard them.