If you are interested in accuracy, don't forget that most commercial GPS units don't display instantaneous velocity. Most of them average over a 5 second window. That is to say that what you see on the screen is the averave velocity of the last 5 seconds. The fastest it can update is once per second. If you really want accuracy and readability, make a speed pickup from a magnetic or optic sensor and put it on the drive shaft as was suggested. Then write the code to read it, translate it, and display it. If you want to split hairs, calibrate it through the operable speed range to compensate for tire expansion.

This is not PIC related, but it is an example of what can be done with a GPS head.
A while back the radio guy at work was walking all over the plant with a signal strength meter trying to map blind spots in our radio coverage. It was going to take him a month to get a minimal amount of data. I bought a Garmin GPS head with an RS232 output and fed it into the serial port on a laptop. I routed the signal strength output from one of the hand held radios into a DAQ board in the PCM-CIA slot and wrote some labview code. All he had to do was put the laptop, GPS head and radio into a car and drive around the plant. The code sampled position and signal strength and plotted a colored representation of the signal field overlaid on a map of the plant property. It took about 3 days to put it together and write the code and about 30 min for him to collect all the data needed. If you really want to interface the GPS with the PIC, I suggest you use a 16F876 and get a GPS head with an RS232 output. The NEMA format is real easy to handle.

Edward A. Nauman
Senior Staff Engineer

Lockheed Martin Aeronautics
"The Skunk Works"
Mail Stop 0157
1011 Lockheed Way
Palmdale, CA 93599
Voice: (661) 572-7350
Fax: (661) 572-3507
Cell: (661) 305 7636