I wanted a simple USB interfaced GPS receiver. I have been using the Trimble Copernicus II receivers for some other projects, so I have software to talk to it and experience with it. I spliced in an FTDI USB to 2 channel UART chip to access the two serial ports out of the receiver. One port provides a standard NMEA data stream and the other provides a proprietary Trimble binary protocol data stream. the 1PPS signal is available through either UART depending on a jumper configuration. The total hardware cost is around $100US per board for the PCB, GPS module and small parts. It took about a weekend of work go capture the schematic and lay out the board. Another weekend of work to build the first board and adapt the simple test software to run on a desktop Linux system (from a Beaglebone).
The project was done because I wanted access to accurate time for amateur radio satellite work. The name Copernicus refers to the GPS receiver and is Copyrighted by Trimble.
Trimble Copernicus II GPS receiver module
USB to dual UART
TPS73633 Voltage Regulator
3.3V LDO to regulate USB power to 3.3V for the FTDI and the GPS receiver.
The software allows setting the system clock from the NMA data stream and displaying the receiver position. It configures the NMEA data stream so that you could run the NTP daemon for long term operation, but my application does not need that capability at this time.