Can you tell us the nature of the two serial devices and data? We may be able to come up with a more elegant solution than "more hardware." In a project I'm working on now I have 3 UARTs, but need 5. Four of them, however, are for cameras taking intermittent pictures so I'm using a multiplexor so I can select which camera I want one of hte UARTs connected to, and use another UART for a dedicated device. Can you slow down the communications of one of the devices? You might be able to get away with lower processor usage if you develop a much more complex bit banging routine, and use interrupts on the RX line. When the line changes, start a timer so you can sample 3 times in the middle of the bit, and have that timer trigger an interrupt. Sample each bit only 3 times near the middle until the stop bit, and for each byte you've only spent 31 interrupts. The TX routine is even simpler - 11 interrupts per byte. Run the processor faster. Beyond those suggestions, the answer is usually "more hardware," such as another PIC, an SPI uart, a 16 bit device, a different MCU altogether (AVR, MSP430), etc. What is the application and types of data going across? -Adam On 6/12/08, tinu b wrote: > as my design environment only supports 16f and 18f, i am limited to these > series. > pic16 do only have 1 usart. > pic18 with 2 usart are not yet available. > so i need to do a software solution. -- EARTH DAY 2008 Tuesday April 22 Save Money * Save Oil * Save Lives * Save the Planet http://www.driveslowly.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist