If you're confident programming an Arduino, it could be done

The maths isn't THAT complicated either, here's a bit of a more detailed breakdown:
30mph in 3rd gear is approximately 2000 rpm (nice easy number to work with).
I'm using a 205cc injector as an example (I believe that's what the 1.5 BA uses, but I could be wrong... if someone knows for sure, let me know and I'll update the figures). 205cc means it will flow 205 cc of fuel per minute, if continuously open. Injectors are pulsed by the ECU (it opens and closes them at the correct times to make the engine run). I believe our ECUs run paired injectors, so injectors 1 and 3 fire together, as do 2 and 4. This means each injector fires once per crank revolution (one correct time, one out of time but correct for the other paired cylinder). It may be that we have sequential injection, in which case each injector fires once every other crank revolution (which would double the MPG figure in my output earlier, so maybe that is correct?). MX5s had both, depending on engine/year.
So going with what I said earlier, at 2000rpm, a given injector would pulse 2000 times in one minute, or 33.3334 times per second. This gives an interval of 0.03 seconds (1 / 33.3334). So at 100% duty cycle, the injector would be open for that full time, 0.03 seconds. Cruising at 30mph, I've assumed a duration of 0.005 (for easy maths), which gives a duty cycle of 16.6667%. So you can use this percentage to work out how much fuel would flow per minute - given a 205cc injector, you can do 205 * 16.6667 / 100 to give you 34.1667cc.
At 2000rpm in 3rd gear, you should be traveling at approximately 30mph (woohoo, more easy maths). We're working in minutes here, not hours, so at 30mph, for one minute, you'll travel exactly half a mile. So we now know, that for 34.1667cc of fuel per injector, we will travel 0.5 miles at 30mph in 3rd gear. We have 4 injectors, so we'll multiply that amount by 4, to give 136.6667cc for 0.5 miles driven.
To convert CC into imperial gallons, you can divide the number by 4546.09. So let's do 136.6667 / 4546.09... that gives us 0.03006247 imperial gallons for 0.5 miles driven. So now, in order to get to a full gallon, we need to multiply 0.5 miles by the reciprocal of 0.03006247 (which is 1 / 0.03006247, or 33.264066518). That gives us 16.6320 MPG. Slightly different number to last time due to me rounding in different places this time, but approximately the same.
If we run fully sequential injection, rather than paired, then each injector fires half as often, which means you can half the amount of fuel consumed, or rather double the amount of miles travelled, which brings you back to 33.2641 MPG.
I think you'll actually find, that cruising at 30mph in 3rd would use a lot less fuel than I've suggested here - I think a 16.67% duty cycle is quite high for an engine under very little load, you might find it closer to 8% or 9%, which would give an MPG of 22.1760, which is more believable.