Adding a real-time mileage indicator on a carburetted vehicle: Doable?

To achieve this idea of having an instantaneous fuel efficiency indicator on my Yamaha Fascino, my first thought was to install a flow meter in the fuel line going to the intake manifold.

BHPian Suryaa recently shared this with other enthusiasts.

I own a BS3 Yamaha Fascino 110 and I have this idea of implementing a real-time mileage indicator on this using a simple controller (such as an Arduino).

Engines need fuel, air and spark to work, and so this being a simple carbureted engine the measure of either the fuel flowing in or the number of sparks generated at any given time would indicate the real-time fuel consumption of the vehicle. (Pls correct me if I am wrong)

So my first thought was to install a flow meter in the fuel line going to the intake manifold but I didn't want to tamper with the fuel lines and all that.

My next train of thought was to measure the amount of sparks that are produced per unit time which would indicate the rate of combustion of the engine. So the spark plug's ignition is controlled by a CDI unit which is responsible for being able to provide an extremely high voltage to the spark plug from the battery's voltage at the required time. The CDI unit has a mechanical switch actuated by the camshaft and so whenever the engine's intake stroke is over, then the switch connected to the camshaft triggers a signal in the CDI unit and so the spark plug ignites the mixture, and the process continues.

So whenever the engine rpm increases the cam spins faster and so the aforementioned signal would be produced many more times in unit time.

My reasoning is that if we take out another line from the CDI unit's output switch that operates the spark plug's firing and give it as a digital input to the Arduino (After adjusting its current and voltage so that it doesn't fry the controller though) and write ourselves a program which would measure the number of signals in a given time, then we could calibrate it somehow (by telling it that at idle these many numbers of signals would mean this much fuel consumption and when the number of sparks rises then the fuel consumption would rise by this much, calculations would be elaborated once this method is finalised).

Once the above is completed, then for the output we could use a wifi module to show the output on my phone or stick on a LCD display in the instrument cluster and display it there!

This was basically just the 1st iteration of my idea, if I find this viable I will definitely improve this and change it if necessary.

Please share your thoughts about this idea guys.

Here's what BHPian GTX+ had to say about the matter:

Possibly a noob question. To calculate mileage, apart from what you have mentioned, you also need to calculate the distance travelled. How do you plan to get that input?

Or have you already worked that out and maybe you forgot to mention it in the post?

Here's what BHPian Suryaa replied:

If this was a fuel-injected vehicle then the measure of how much fuel the injectors inject per unit time could directly be used to measure the fuel consumption as we can directly take out a signal (either analog or digital ) from the injector right?

This is a legitimate question and I guess the thought did not cross my mind earlier. I thought about it and if I had to measure the distance then I would have to do it from the odometer.

So my vehicle uses an older style design of the odometer (Please find the attached images, I got the Yamaha's odo assembly from YouTube), and these are basically a gear arrangement of sorts.

So if I could fabricate a small stepper motor mount using a 3d printer (my friend's) and connect the motor's shaft to the assembly then the motor's output can be given to the Arduino and thus it can use both distance and spark signals to produce the required mileage figure?

I don't think the stepper motor would fail as the maximum number of revolutions it would face is gonna be 1.3 per every 10 seconds (for 80kmph, quite manageable I guess?

(It is quite a long shot though, thinking of it)

Check out BHPian comments for more insights and information.

Power to the people