Update: Was able to get a working solution with most messages passing by doing this: - Reducing message rate. (Acceptable in this case) - Trying different deconfliction timings/offsets - Not passing any trailing 0s to the UART (Keeps packet sizes down) - `read` vice `read_exact` as James pointed out. Overall, I think I'm hitting limitations of this OTA setup, but am not sure. The COBS thing could help too