Arjen, > > At this time I plan to use up to two 2 meg NVRAM chips. Sounds big enough for my apps. What brand/type were you looking at? And how would they need to be addressed. Serial/parallel, multiplexed? I selected a Dallas NVRAM DS1270Y 70ns. This is a 2 megabyte chip. However, it is kind of expensive ( ~$114 ). AMD offers a Flash RAM 2 megabyte 120 ns chip ( ~$33.75 DigiKey ). However, this chip is organized in sectors and only offered in a 48 pin TSOP. I did not feel I was up to the task of interfacing to this chip. One of the nice things about the Dallas chip is that it looks pin compatible with a normal SRAM. Maybe after I've got a few projects under my belt and feel up to it, I could switch to battery backed SRAM. BTW, this data will be regularly transferred to a PC for more complex manipulation so a failed battery would not result in the loss of data. As far as addressing : At this time I hope to use 3 cascaded shift registers for addressing ( 21 address pins ) and 8 IO pins for data. I hope this is fast enough with a 32 mhz PIC17 to run up to about 19.2k baud. I thought I would reserve a buffer ( say 512 bytes ) at the beginning of the NVRAM to directly shove incoming bytes into. This would require no address translation so the only delay I would experience is having to shift the next address into the shift registers before storing the byte. When the buffer approaches overflow, send an XOFF or lower CTS to stop transmission of data. Fetch the data in the temporary buffer and store it to its permanent location. Then XON or raise CTS to begin the process all over again. With my experience in datacom, I wouldn't recommend relying on handshaking. It's ugly, unreliable, and generally causes grief. If you have a place to store received data chunks (and you say you do), use a proper protocol. Lemme know on those NVRAMs, and I'll write you an Xmodem routine! I have no choice. The equipment that I will be interfacing to uses either XON/XOFF or hardware handshaking. However, I think an XMODEM routine for the PIC is a great idea ! As I face a steep learning curve on this project, I anticipate that it will take me some time to complete. However, when it is complete, I plan to post the details of the project to a website for all to use. It's the least I can do considering all the help I've already gotten from this list. Hope this helps. Eric P.S. If you are going to start a similar project soon. I'll be more than happy to swap notes as we both progress.