Ivan’s Flash Tuning

Yamaha FJR Motorcycle Forum

Help Support Yamaha FJR Motorcycle Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
a $238 fine for doing 57 in a 50 zone.

Ouch!!!

One can't really precisely equate the mileage on one FJR to another -- there are too many variables. Wind, weather, tire type and pressure, even variances in brake drag. Yamaha quite possibly tweaks the fuel map from region to region to comply with local emissions laws. But it is interesting to know that at least one other FJR managed 4.7L/100kms on a particular day.

Today was not that day for me. Nor was yesterday. In the wee hours of the morn yesterday, I reversed my original route, and had to settle for 5.2L/100kms. Weather was similar -- damp and cool. Lots of hills on the route, but overall elevation actually drops 109 meters so if that had an effect, it should have actually improved mileage. It could have been wind -- hard to judge windspeed and direction accurately but I did notice a cross-wind in the open areas.

Today I repeated the original route, but it was dry and touch warmer with a bit of a breeze. Filling and topping off from the same pumps and hoses: 5.1L/100kms despite the uphill climb.

While I was hoping to repeat the 4.7, it's still a darn sight better than 5.7 so I'll take it!
 
Usually, smoothness and driveability comes with a richer mixture, which, in turn, comes with a loss in economy. There's no free lunch. A worthwhile trade-off IMHO.
I understand and expected that -- overall. Disabling the decel cut off, eliminating the O2 sensor input, padding the duration on acceleration, etc. can all only increase consumption under conditions of varying throttle. I just didn't expect the massive hit during steady-state cruise conditions.

I suspect Ivan probably created his tune to one particular sample machine, then added a bit of padding to account for estimated manufacturing tolerance in a "worst case" example, making it "one size fits all". I can't really expect anything else unless I am willing and able to bring my specific machine to him for custom tweaking.

My hypothesis is that I can do my own custom tweaking via the CO adjustment factor and get things "close enough". So far, it looks promising.
 
My hypothesis is that I can do my own custom tweaking via the CO adjustment factor and get things "close enough". So far, it looks promising.
Does Ivan's tune even use the data from the O2 sensor? If not, I wouldn't expect the CO numbers to make any difference.
Are you planning on using just regular gas?

Next to riding speed, I find that wind makes the biggest difference in fuel consumption.
 
Does Ivan's tune even use the data from the O2 sensor? If not, I wouldn't expect the CO numbers to make any difference.
No, Ivan's website states it disables the O2 sensor. But the CO adjustment has nothing to do with the O2 sensor.

The FJR injection system (at least on the Gen 1 and 2, I never studied the Gen 3) is pretty primitive. It doesn't even have a mass air flow sensor -- the mass of air is estimated by use of the throttle position sensor, intake air pressure sensor, the barometric pressure sensor and the intake temperature sensor.

On starting, the ECU is in "Open loop" mode. That is to say, it calculates the injector duration (and therefore estimated mixture) based on the estimated air flow of the moment. The required mixture is estimated base on the coolant temperature -- a cold engine needing a richer mixture. The term "Open Loop" refers to the lack of feedback.

When the O2 sensor gets up to temperature and can start reading the residual O2 content in the exhaust stream, the ECU goes into "Closed Loop" mode. That is to say, the estimates are refined by sampling the results and adjusting the mixture as required, based on entries in a look-up table. Ivan's map is a replacement set of values stored in that table.

Now regardless of open or closed loop operation, all the sensors are considering the engine as a whole, without regard for individual differences between cylinders. For example, manufacturing tolerances in size or speed can mean that one injector actually flows slightly more fuel per millisecond of operation that it's neighbour. The CO adjustment is intended to compensate for those differences by varying the duration of each individual injector by adding or subtracting from the base injection duration. EG: if the ECU is calling for the injectors to open for, say, 3 milliseconds, the CO adjustment value of each individual cylinder will add or subtract a tiny amount of time for that particular injector's duration from that base calculation.

It is called the "CO" adjustment because Yamaha's adjustment procedure was to measure the carbon monoxide content in the exhaust at each individual header pipe at idle and set the compensation value so that all cylinders produced equal concentrations of CO. In theory, if the CO is the same, the mixture and power produced by each cylinder is the same.

Increasing the CO value of all cylinders will richen the overall mixture. IE: if we increase the CO adjustment to add 100 microseconds to every cylinder, then when the system calls for 3mS base duration the injectors will flow 3.1mS and when the system calls for 20ms, the injectors will flow 20.1ms. However, there are two problems with that concept. 1. As noted, the compensation is a discrete time interval, not a percentage. In the above example, adding 100uS at idle increased the duration 3%. But when the system calls for 20mS base duration, the CO adjustment will still only add 0.1mS -- 1/2%. So not really much of a difference at high air flows.

2. O2 sensor input will negate such universal CO adjustments by adding or subtracting from the base injector duration. Bear in mind that the FJR uses a crude unheated narrowband O2 sensor. It only works when the exhaust gas is hot enough to get the sensor somewhere north of 600°F, which takes rpm and time. (The thing is so unreliable that you can unplug it and not see a trouble code for weeks, because the ECU isn't sure if it should be seeing a voltage from the sensor yet or not. Just ask the Power Commander owners).

But once it starts working, the difference in O2 concentration between the outside air and the inside exhaust gas generates a small voltage. If that voltage is above 0.47V, there is a bigger difference than there should be, therefore oxygen concentration level in the exhaust is low (rich air-fuel ratio) and the ECU reduces base injector duration a touch. The ECU will continue to gradually reduce the base injector duration until the voltage drops below 0.47V.

Conversely, if the voltage is below 0.47V, there is a smaller difference than there should be, therefore oxygen concentration level is high (lean air-fuel ratio) and therefore the ECU will begin to slowly increase base injector duration until the voltage rises above 0.47V.

Note that the system is never stable in closed loop -- the ECU is always adding or subtracting. It recognizes "too much" and "too little" but has no concept of "just right". Like I said: crude.

So as can be seen from the above, Closed loop will override an attempt to richen the mixture via universal CO adjustments, and the effect of such adjustments are miniscule at high RPM anyway.

However, when Ivan disabled the O2 sensor in his flash, he opened the door to making effective adjustments to the mixture via the CO compensation mechanism, with the caveat that effectiveness will diminish with airflow. The trick will be to find the sweet spot that leans out 3,500 rpm enough for efficient cruise, without leaning the idle mixture too much -- and the joker in the deck is that the CO compensation will presumably affect idle mixture more than it will affect 3,500 rpm mixture.
 
My 2006 FJR1300 AE with Ivan’s flash gets about 10% better fuel mileage than Yamaha’s stock tune. I set the CO in the ECU to zero, as per Ivan’s instructions. I’ve been running it on regular unleaded 87 octane with Ivan’s flash for around 3,000 miles - runs great and no detonation.
 
Update:
-5 across the board seems to be the sweet spot. Lower and I run into idle issues, especially on cold start.

After multiple tests, I can consistently achieve 4.8 to 4.9 L/100KM at 100 Kph with the screen (Rifle, +5) raised just enough to reduce the wind noise -- perhaps 1/8" up. Best was 4.3L/100KM on a secondary highway at 80Kph with the screen all the way down.

Riding more normally, 115 to 125 with the screen 1/4 or so up and enjoying the odd spurt of acceleration, I'm getting about 5.7 to 5.8 L/100KM -- which is on par with the best I could do with the CO at 0 across the board previously. And similar to the pre-Ivan consumption.

So while the flash certainly improves drivability when working the throttle, I haven't seen any mileage improvement in real-world riding. But by fine-tuning the CO to my particular bike, I have restored the ability to stretch the tank when necessary post-flash.
 
Top