I'm using a BU-353 GPS USB sensor. It gives me 10m error outdoors and 30m error indoors. It also is slow to acquire signal indoors, if it does it at all. But it was cheap
Can anyone recommend a much more precise GPS module? Indoors reception is a plus, but priority 1 is outdoors precision. USB, SPI, I2C, UART are all fine interfaces.
If you want high precision you may need to move to differential GPS, standard GPS has about 5m of error (although this can be improved by averaging over time). BU-353 uses a modern chipset SiRF-III, there are better chipsets apparently, but I wouldn't expect miracles.