A Fuel-Economy Gauge for the Rest of Us

Most cars--even older, cheaper ones--control their fuel electronically. Here's how to tap into that signal

4 min read

A Fuel-Economy Gauge for the Rest of Us

The price of gasoline is down from its stratospheric highs of last July, but there are still plenty of reasons to conserve fuel and plenty of ways to do so. Drivers can make changes in their cars and better yet, in themselves; unfortunately, the human element isn’t easy to tweak. That’s partly because we lack detailed real-time data about which driving behaviors are wasteful.

The information is easy to come by if you pay the price. A fuel-use monitor that plugs into the vehicle’s OBD-II jack—the onboard diagnostic interface that mechanics use to diagnose problems—will set you back US $160 (for the ScanGauge II, for example) to about $280 (for the PLX Kiwi). That’s assuming you have an OBD-II port—cars made before 1996 typically don’t.

If you’re willing to do a little hacking to your ride, there are cheaper ways. Do you have an old laptop gathering dust? Does it have a stereo line-in jack? If so, and your car’s engine is fuel injected, you may be able to track your fuel economy with just a few scrounged parts. I’ll first describe doing that and then an even better way—one that uses a new $40 gadget instead of an aging laptop.

The trick in either case is to tap two wires at your engine-control unit (ECU)—the one from the vehicle-speed sensor (VSS) and the one that controls the opening of the engine’s fuel injectors. Finding which wires to splice into may be a bit of a challenge, but it’s easy if you have a copy of your car’s factory service manual, as I did. A resource that may help others in identifying ECU pin-outs is available on Innovate Motorsports’ Web site. (My vehicle isn’t listed, so I can’t attest to this site’s reliability. For this and other online resources, see the list of URLs below.)

Gaining access to these connections on my 1997 Geo Metro was straightforward, because the ECU is conveniently located directly behind the glove compartment. For each signal, I used two resistors wired to provide a 10â¿¿toâ¿¿1 voltage divider, and two back-to-back germanium diodes to clamp the divided-down signals to plus or minus 0.3 volt. I placed these components close to the ECU to minimize the risk that a shorted wire would cause the injector to spray fuel. I then routed the VSS and injector signals to my laptop’s line-in jack, confident that they wouldn’t overload the sound-input circuitry. If this computer were doing anything besides gathering dust, I might worry about voltage transients getting past these diodes, but that really wasn’t a concern for my ancient Pentium machine.

A group of 4 images with step-by-step involving wires.  Adding this open-source fueleconomy monitor [top left] requires tapping two signals at the car’s engine control unit. Cutting the appropriate wires [top right] and soldering the ends together with an additional lead [bottom left] is the easiest approach. A few diodes and resistors [bottom right] limit the voltage swing.David Schneider

Having resurrected a 1990s-era laptop to monitor a 1990s-era automobile, it was only fitting to use software of a similar vintage—Visual Basic 6.0—to write the code that transforms the two signals into distance traveled, gasoline used, and their quotient, miles per gallon (others might prefer liters per 100 kilometers). Using the FreeView Sound driver (available at Technical-computing.com) made it a snap to access the computer’s audio-recording hardware. Still, I spent a long weekend getting the rest of the code written—including such niceties as a screen for viewing the raw signals and two simulated dashboard gauges for instantaneous mpg and revolutions per minute [opposite page].

It worked great, except for a couple of complications I hadn’t counted on. The computer I used took forever to boot—so much for hopping in the car and darting off. Also, there was no good place to position the bulky laptop. So while the performance was good and the price was right, this strategy ultimately proved impractical.

I thus decided to replace the laptop with an open-source fuel-economy computer called MPGuino. This gadget is based on the Arduino microcontroller and is available in kit form for less than $40 from Spiff’s Electronics Notebook.

Assembling the MPGuino was a quick job, and having already located the VSS and injector signals, the biggest challenge (as with many such do-it-yourself projects) was fashioning a suitable enclosure. I ended up with a RadioShack project box, which I mounted in front on the car’s used-only-for-loose-screws ashtray. The calibration values listed for my model on the MPGuino wiki (at EcoModder.com) turned out to be spot-on, so setup wasn’t difficult.

This little ”carputer” has opened my eyes to how my car uses gas and what I can do to limit the burn rate. I’ve learned, for example, that idling while stopped really does waste a significant amount of fuel—it’s outright painful to watch your trip-averaged mpg tick downward while waiting for a red light to change. On the other hand, sprightly acceleration burns less fuel than I’d expected, and it’s great to watch the instantaneous-mpg numbers shoot up as you disengage the clutch, lift your foot off the gas pedal, and coast. But leaving the car in gear to decelerate is often a good conservation strategy, as it can put the engine in fuel-cutoff mode, which the MPGuino shows.

I plan to hone my ecodriving skills with this electronic aid. Perhaps by this July, my 12-year-old, three-cylinder Geo will be challenging my town’s many Priuses for bragging rights. In any event, I’ll be ready if gasoline prices again climb to levels that make your ears pop.

ECU pin-out diagrams:


FreeView Sound Software:


Arduino microcontroller:


Spiff’s Electronics Notebook:


MPGuino wiki:


This article is for IEEE members only. Join IEEE to access our full archive.

Join the world’s largest professional organization devoted to engineering and applied sciences and get access to all of Spectrum’s articles, podcasts, and special reports. Learn more →

If you're already an IEEE member, please sign in to continue reading.

Membership includes:

  • Get unlimited access to IEEE Spectrum content
  • Follow your favorite topics to create a personalized feed of IEEE Spectrum content
  • Save Spectrum articles to read later
  • Network with other technology professionals
  • Establish a professional profile
  • Create a group to share and collaborate on projects
  • Discover IEEE events and activities
  • Join and participate in discussions