You may need to implement a circular/ring buffer with two head and tail pointers, one for the received data and the other for the unprocessed/untransmitted data. Using a PIC with built-in UART can help. Setting the rx as interrupt-driven and polling the processing/tx should prevent data loss. Reggie