So my senior project is to essentially interface a custom GPS device controlled by a PIC microcontroller with a computer via USB and have the PIC send the GPS's location to the computer. I'm working with another person who will manage most of the hardware and I'll do most of the software. We are planning on using a USB chip like this which already has drivers available for Windows/OSX/Linux, however I probably will develop the Windows app first since I'm guessing it'll be easier. I'm just wondering, since we have about 6 weeks to develop this, is this going to be too much to do? Will we be overwhelmed? A little background: we already have (from a previous course) a PIC interfacing with an LCD and a bare minimum USB setup, although that'll change since we'll be using a separate USB module. I have a lot of experience programming, but only tinkered with device drivers. The link above looks like there is a DLL for Windows, which would probably make it pretty easy. Even then, unless there is a good .NET compatibility layer, I'll probably resort to Win32 programming. I guess I'm just at a blank at what all will have to be written for communicating with the USB on the PIC and desktop. Does anyone have any kind of experience in this to give me an idea of how much work is needed to work with USB in this kind of setup?