>Unfortunately, to receive you need to run your interrupt handler somewhat >faster than the bit time. I have successfully built a software UART using a >interrupt 6x of the bit rate. I expect 5x would work pretty well. You get away with 4 samples per bit time if you are not doing it synchronous to the bit edges. Many years ago before high speed async modems were commonly available we used to send async data through synchronous modems, and could do it with no errors if the async baud rate was a quarter of the sync modem rate.