On Sun, 17 May 1998, Catch-It wrote: > a 6N139 opto isolator (because I cannot easily get hold of a 6n138). imho, if a scope shows a clean symmetrical vaweform after the opto, there should be no problem. pay attention to the rise and fall times, they should be negligible vs. the used baud rate (~30 usec/bit -> edges should be 3 usec wide or narrower). > Regards > Catchy Well, one of the reasons that can make your thing fail at such speeds, is interrupts. You should get 1 byte to save every about 300 usec. If you do something else meanwhile, that lasts more than that, you will get an overrun in the receiver register. At 10 MHz this is about 1200 T cycles to waste. (do you check for overruns ?) Try to analyze the failed data to see a pattern. If you get overruns (the same byte twice) you know what's up. If you get garbled bits, check the signal after the OC. If you get skewed bit patterns look for a timing problem. The best data for this sort of analysis is a stream of random numbers on 8 bits, of about 256 bytes length. Print the sent and received data as binary numbers, 8 bits in a group, on screen or paper, such that the 1st sent byte is in the line above the 1st received byte etc, then look sharp. You may have to write a small C program to do this for you... hope this helps, Peter (plp@nospam.actcom.co.il)