Can you get the injector pulses right off the data port? I just had a pretty cool idea.. there are scanners you can get that hook up to a laptop. Could use a GPS to determine speed... wouldn't be that hard of a program to write. I'd suggest it to my bro, but I don't have anyway of hooking up a laptop to my truck(yet).
ETA: Doesn't the computer get pulses from the VSS as well? Wonder if that data can be read right off the computer..
I'd imagine most of that information is available in the computer, although whether it's accessible or readable through the port is unknown to me. At least with an OBD-I ECU. OBDII, yes...all of that should be in the ECU.
I have yet to see a GPS that reacts to changes in speed as fast as something measuring it directly off the moving parts of the car.
A simply VSS or something cobbled together with a magnet and pickup would probably be much easier to make work...for instance a drive shaft sensor. Each time the magnet passed the pickup, it would pulse. For vehicles already equipped with VSS, half the work is done.
3.73 gears and 31" tires at 60mph would be 2491rpm in "D" or any gear that has a 1:1 drive ratio. That'd equate to the drive shaft spinning at 2491rpm as well. All of that is irrelevant except to point out that under those conditions, 2491 pulses per second would equate to 60mph. 41.51rpm at the drive shaft would be 1mph, 415.1rpm at the drive shaft is 10mph, etc...
Take that info, then calculate how much fuel is dumped into the engine for a given dwell time on the injectors. Obviously, if you're sitting in traffic at a stop, the computer would see that you're still burning fuel, yet not moving. 0mpg.
I don't think it would be all that hard though.