Early in my search for a Geo Metro I thought that I wanted a 1996+ so that I could use a ScangaugeII hooked up to an OBDII port to read instantaneous gas mileage. I had no idea that someone had created a real time gauge for a car with OBDI. After buying my '93 I found the MPGuino. It is a box that uses open source code to grab output from the VSS (Vehicle Speed Sensor) and Fuel Injector pulses. The data from these two sources will give you an accurate measurement of how much fuel per mile you are actually using.

For a clean install I wanted to hook up everything at the ECU and fuse block. You can see the ECU wiring diagrams that I used below (at the bottom of this page). Note that I used the following wires on the ECU harness:
A2 - Injector Driver - YEL/BLK
B15 - VSS Signal - YEL/GRN

Pull the two wiring harnesses off the ECU. You will find the ECU above the fuse block located by your left knee. I found that it was easiest to remove the two screws from the fuse block and move it out of the way a bit. Then I used a long flat blade screw driver to depress the catch that allows the ECU wiring connectors to come loose. It was nice to have a good amount of slack in the harness:

I used vampire clips to attach my new wires to the existing VSS and INJ wires:

Here you can see where I connected my new wires:

After attaching my new wires I wrapped everything up with electrical tape to help keep it from pulling loose:

For my power lead I used an "Add-a-fuse" to connect to my fuse block:

I hooked into the 15 amp fuse for the ACC (radio) for my power source. Note that the add-a-fuse uses a second fuse for my MPGuino power. The radio and MPGuino DO NOT share a fuse in this setup:

This is what the add-a-fuse looks like after it is hooked up. I put a ring connector on my new wiring and attached it to one of the screws holding the fuse block to the chassis for my ground:

I'll just keep the MPGuino ty-wrapped here for a while until testing has been completed and I put the electronics in a box:

After playing with the MPGuino for a while I decided it was time to "permanently" mount it. I purchased a project box from Radio Shack (part # 270-1802) for $3. It is a 4"x2"x1" plastic box with a plastic lid as well as an aluminum lid. I threw the aluminum lid into a pile of junk (I'll use it for another project some time) and started trying to figure out how to get the MPGuino in there (it doesn't exactly fit):

I used a drill bit and cut the top half of this screw mounting point out (made it shorter).

I used a dremel with a cut-off wheel to remove the bottom left mounting point on the MPGuino. No picture but I cut the upper left one off as well:

Measuring/Marking where the holes for the buttons are going to be drilled:

I drilled these a little too small. Tolerances were so tight that I ended up redrilling these holes (making them larger) several times:

I wasn't exactly sure how to cut the holes for the cable and the LCD screen. I ended up melting them with an old bent soldering iron I had:

It is a little ugly but you can get to the connector through the hole:

I cut a piece of paper the same size as the LCD screen. I used this to mark where I was going to cut the hole. I eye-balled it instead of measuring but it came out pretty close:

Melting the LCD screen window:

Again, a little ugly but functional:

I ran my wire from under the dash, around the side of the dash up to the A-pillar:

Getting ready to finally connect the box:

All done. I'll grab an "action shot" the next time I have the camera in the car with me:

FWIW, I have a version 0.81 MPGuino and use all default values EXCEPT:
VSS Pulses = 8208
Pulse/2 rev = 3
TankGal = 10300

It seems to work fairly well. I cannot vouch for it being 100% accurate because I haven't used the Tank/MPG function yet but it is close enough for me. All I'm really wanting to do with it is to see if my MPG goes up or down as I do modifications to the car.

NOTE - The way I initially hooked up the wires (straight to the ECU wiring harness) does not work for some reason. I am not sure why but the MPGuino does not see the Injector Driver. Instead of tearing into the wiring, which I will do at some later time, I simply grabbed my Injector Driver signal straight from the Yellow/Black wire at the fuel injector. I am extremely puzzled at why this works but hooking into the same wire 5 feet away does not. Oh well...

Ignore everything below this line. The webpage has not been completed yet.


Here are some docs for the ECU pinouts I used:

The following should be a good starting point: * VSS Pulses/Mile = 8208 * MicroSec/Gallon = 0500000000 * Pulses/2 revs = 3 * Tank Gal * 1000 = 10300 http://opengauge.org/mpguino/ $55 shipped Screens: 1. Instant MPG/Speed Current MPG/Distance 2. Instant MPG/Speed Tank MPG/Distance 3. Large font instant MPG 4. Large font current MPG 5. Large font tank MPG 6. Current MPH, MPG, Miles, Gallons 7. Tank MPH, MPG, Miles, Gallons 8. Instant Raw Data (very useful for connection troubleshooting) Injector open seconds, Injector open microSeconds, Injector pulse count, Vehicle Speed Sensor pulse count 9. Current trip Raw Data Injector open seconds, Injector open microSeconds, Injector pulse count, Vehicle Speed Sensor pulse count 10. Tank trip Raw Data Injector open seconds, Injector open microSeconds, Injector pulse count, Vehicle Speed Sensor pulse count 11. CPU Monitor Max CPU %utilization, Tank running Time mm.ss, Free Memory (bytes) There is also a setup screen that displays the first time the program is run and by pressing all three buttons at once. It walks you through the following setup variables. Use left and right buttons to select the digit you wish to change or the OK or Cancel (XX) items. Use middle button to rotate the current digit or select OK or XX if that is where the cursor is. Selecting OK will save the currently displayed value to the current variable and advance to the next variable. Selecting XX will just advance to the next variable. Contrast - This comes up first on a brand new run and changes on the screen are immediate so if you can't see anything try pressing middle button a few times. VSS Pulses/Mile - use this to adjust displayed speed/miles. If the speed/miles displayed on the mpguino is low then decrease this number by the percentage that it is off and vice versa for high readings. Most asian cars will be a multiple of 8204 and GM will be 10000, we are hoping users will contribute model specific data here. MicroSec/Gallon - use this to adjust displayed fuel consumption. You may want to readjust this initially to get a ballpark MPG reading (after VSS Pulses/Mile is deemed accurate), then calibrate it with a couple fillups. If the mpguino displayed MPG is high or the displayed tank gallons is low at fillup then reduce MicroSec/Gallon by the percentage that the gallons are low or the displayed mpg is high. Like the vss pulses, this would benefit from user contributions about what values work for what specific cars. Pulses/2 revs - not currently used, but a single injector on a 4 cylinder sequential system will make 1 squirt in 2 revolutions. Hope to be able to base RPM on this at some point. Timout(microSec) - defaults to 7 minutes. If there are no injector or speed signals from the car and no buttons are pressed in that time then the display backlight turns off. When activity resumes the display will turn back on and the current trip will reset and the tank trip will be restored to the point of last activity. Tank Gal * 1000 - not currently used, but defaults to 13300 or 13.3 gallons. Injector DelayuS - Represents the mechanical delay of the injector in microseconds. Advanced topic. Buttons: Current button assignments as follows, left: cycle through screeens in reverse middle: cycle through pre-defined brightness settings right: cycle through screeens forward left+middle: tank reset right+middle: current reset left+middle+right: go to setup screen