Hi EXT_INT cannot detect the character, only the low going edge of the start bit. You must then disable EX_INT and set up a timer to sample start bit again 1/2 bit period later, then sample 8 bits 1 period later then the stop bit. If the character is valid, store it and re-enable the EXT_INT for next char. The receive routine that shifts the received bits into your byte variable for RX_CHAR would work well in assembly code (#asm..... #endasm) Regards David Huisman -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics