This is my first question in mechanics.stackexchange.com. I am a computer programmer and work in Location based services. Along with GPS monitoring, I want to give the clients , a proper manipulation of the fuel level in their vehicles.

Current method that we implement

We take the fuel wire (from the fuel gauge) and connect it to our GPS device which in turn returns the voltage. We take the fuel voltage at empty tank and full tank and then calculate the intermediate fuel levels depending on the voltage we receive. This method is very inaccurate and tedious to implement.

What we actually want

A correct manipulation of fuel and its level at various times.


Is there any other method via which I can monitor the fuel accurately. I am ready to buy any sensor of any cost. Can Anyone suggest me a good way to monitor the fuel.? With maximum possible accuracy. Anyone?

  • You (an me also) need a kind of fuel level sender that do not get stuck when floating in the tank, and that is independent to car angle to the horizontal position. My car sender is a kind of resistance that floats on the fuel, and send a voltage as a signal of level. This is very innacurate. Besides, the tank volumen is not linear. Using the method one of the first answers gave, by filling the tank Little by Little and recording the signal value, you will improve what you have now.
    – user4633
    Mar 4, 2014 at 0:22

4 Answers 4


I'd also go with calibrating the existing sensor, but I'd do it the other way around to mac.

Start with an empty tank and measure the voltage. add a known volume of fuel, measureagain. repeat until the tank is full. This will give you a series of reference points, and obviously the smaller the volume you add each time, the better the resolution of your dataset, and so the more accurate your results.


It sounds like you just don't know the characteristics of the output of the fuel level sender in the vehicle--perhaps learning more about that sensor would solve your problem.

In terms of an alternate solution that does not use the fuel level sender, if the vehicle is a modern one with electronic fuel injection, then it is possible to determine the approximate instantaneous fuel consumption by watching the signals to the fuel injectors. You could then integrate this fuel level consumption to determine the total amount of fuel used in some period of time. You would still of course need to know how much fuel you started with to determine approximately how much is left at any point in time.

I think your best bet though would just be to calibrate the response of the existing fuel level sender. Run a vehicle through a full tank of fuel under a constant-load test, recording the voltage from the sender all along the way, then create a map to relate the voltage to the state of fuel in the tank.

  • Adding to your point, modern cars display fuel usage in the das. My VW Touareg has both instantaneous and average fuel consumption options displayed on the dash selectable from the steering wheel which are pretty damn accurate. I imagine fuel voltage from the tank would be inaccurate given how much the fuel moves around during driving. So my suggestion would be to look at average the fuel voltage over a period of time to get an estimate of tank level, then apply the fuel usage from the ECU (or where ever its calculated) over a given period of time to get a more accurate reading.
    – James
    Jul 26, 2013 at 10:37
  • I still haven't got my answer.. From where should I read more about fuel level sender? I want the solution for both newer and old vehicles. Jul 26, 2013 at 11:02

All the analog gauges work by sensing varying resistance by a float sensor which eventually results in thermal conversion or Voltage mapping to fuel levels. The accuracy suffers due to non-linearity of these float sensors.The methods mentioned by Nick & Mac are right here; but it gets very tedious if your demands of accuracy are nearly 1% of total volume or 1-2 litres and needs re-calibration every time the tank is taken out for servicing or every change of float sensor, which are practically common.

Reed sensors are better than the above, but fail to get you the accuracy required to detect the actual volume of fuel in Litres.

OBD readings will not help, because the source is same as above.

Capacitive sensors with temperature compensation are the best way to get best possible accuracy in sensing Diesel levels; but they are pricey, as you look for mm of accuracy.

After getting the best accuracy readings, the software should use algorithms to detect the refill & theft patterns. There's once such system which has proven accuracy levels of +/- 3 litres in a truck tank of 360 L Diesel capacity.

You can check here: http://www.ormat.in/products/fleetor-fuel-monitoring-gps-vehicle-tracking/


It is possible to read data from most vehicles' OBD port using a relatively cheap Bluetooth OBD adapter and some client software. Some GPS units have bluetooth, or you could opt for a USB-style OBD plug. This would also allow you to read things like engine load, temperature, rpm, etc.

Wikipedia entry

OBD Software

OBD2 bluetooth adapter

  • This seems interesting.. Tell me more about it.. What is OBD port and where can I read about it in detaail.. Jul 26, 2013 at 12:28
  • I've updated my answer with links to get you started. I've written an implementation in C#, but I can also get you samples in java Jul 26, 2013 at 12:33
  • +1.. Thank you..! I'll go through it..! Thanks for all the help.. Jul 29, 2013 at 9:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.