Jesse Lackey wrote: > The USB firmware stack is a concern You can try mine, described at http://www.embedinc.com/pic/usb.htm. We hav= e used this code in a bunch of projects by now, including our own USBPprog, USBProg2, and LProg PIC programmers. It uses the hardware in ping-pong buffer mode with triple software buffers per endpoint and direction. That means two buffers are queued up ready for the hardware and the third is available for the software to drain or fill. I just noticed that web page is pretty old. Since then we've come out with the ReadyBoard-02 (http://www.embedinc.com/products/ready02), which is grea= t for testing PIC USB concepts or one-off devices. There is also now a version of the USB code that uses our multi-tasking system with the background USB stuff handled in a separate task. That's usually a cleaner and easier to write firmware structure for doing I/O than a main event loop structure. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .