Disabling Closed Loop
This page is not a thorough lesson in closed loop vs open loop operations, advantages and disadvantages. There are many online resources that explain the differences between the two in great detail. This page is meant to show people that want to try running open loop how to do it using Ecmdroid. The great thing is, you can try it and if you don't like it you can easily change it back or fine tune it to your liking using an Android device.
Running open loop means that you are effectively disabling your O2 sensor(s) operation and depending entirely on the maps and compensation tables in the ECM to provide fuel scheduling. This is a very common practice on performance vehicles and air cooled motorcycles where a slightly richer mixture than a stock narrow band O2 sensor will allow is desired. This will allow the engine to run cooler with improved throttle response. It will also significantly reduce or eliminate low speed jerkiness and decel popping. Of course running too rich will cause problems too, so it is important to determine and set the optimum setting. Disabling closed loop can also be used as a method of troubleshooting your EFI system because you can often isolate the problem to being sensor related or not. This can save you a lot of time. Furthermore, Buells have a nasty tendency to develop a lean condition due to inaccurate O2 sensing which shows up as an AFV of less than 100 at or near sea level. In this case, the ECM "thinks" that the motorcycle is going up in altitude, so it is reducing the fuel delivery across the board. Unfortunately, narrow band O2 sensors were never designed or intended for use as climate or altitude measurement devices. A properly tuned motorcycle without mechanical issues will not require a reduction in AFV at or near sea level. The fact that air cooled Buell EFI systems rely entirely on O2 sensor data for altitude compensation is arguably why they have such a bad reputation for running lean, overheating and being generally finicky and inconsistent. The good news is, this problem is easily and cheaply resolved. Remember, running open loop does not disable the temperature compensation features of the ECM. These are based on Intake Air Temp (IAT) and Cylinder Head Temp (CLT) sensor data.
Using the settings below, your O2 sensor(s) is still actively measuring O2 and will report a LEAN condition if there is a mechanical problem such as an intake leak or fuel delivery problem. A sensed lean condition by the ECM will cause a Check Engine Light (CEL) and corresponding Trouble Code to warn the rider of an issue that requires attention. However, the ECM is not able to compensate for a mechanical condition without warning to the rider the way a stock ECM is configured from the factory.
Running open loop means you will lose altitude compensation on XB, X1 and S3 models unless you install a Baro Sensor Kit.
Disclaimer: This is for off road use only since it disables the emissions control of the ECM.
Before starting you need to do these things:
- Ensure your bike is mechanically sound. It must not have any intake leaks or other defects.
- Have a tuning (maps) on the ECM that matches your configuration as close as possible. This even works well with stock bikes running stock tuning.
- Ensure static timing set correctly if you suspect it may have ever been adjusted.
- Read and understand the AFV tutorial.
- Save your original EEPROM file before changing any settings. This way you can go back to it whenever you want or need to. You're not going to do anything that can't be undone, but going back to saved file is the most thorough way of undoing everything.
*Important: This procedure is not a replacement for tuning your bike after an exhaust system change or other major modification which requires many changes in many areas of the maps. This makes an overall change. It can make a well tuned bike run better, but it can also make a poorly tuned bike run worse.
Ready? Here we go!
- After connecting to you bike in Ecmdroid, select the dropdown menu in the top left corner, then select ECM Parameters.
- Select O2 Setup page
- Select the Rich (V) setting at the top of the page. Change this setting to 1.2 and then click OK.
- Scroll down to EGO CORRECTION SETTINGS. Set Max. EGO Corr. (%) and Min. EGO Corr. (%) to 100
- De-select Enable Closed Loop
Exit this screen and return to previous menu by pressing the Back button and click Apply Changes.
On all models:
- From the ECM Parameters Menu select AFV SETTINGS.
- Set the Maximum and Minimum AFV to the desired number. 100 - 105 is a good place to start.
- Return to previous menu and select Apply Changes.
- Select the AFV Settings Page. Set the AFV to the same number used in step 2.
- Return to previous menu and select Apply Changes
- Select the Error Mask page and ensure that your O2 sensor(s) is enabled. This will allow Lean condition error reporting.
Finding the optimum AFV (Adaptive Fuel Value) setting
The following is a sample scenario. This method can be applied to any EFI Buell in any configuration:
The subject bike is a 2008 XB12 with K&N air cleaner, Jardine RT1 slip-on exhaust system and EBR Race ECM with the RT1 calibration. It has ~18K miles on the odometer, is mechanically sound and runs 91 octane gas. However, the bike idles rough, has lurching acceleration and excessive decel popping. The AFV is found to be at 84. If the AFV setting is raised to 100 the ECM will adjust it back down after a short ride. Why doesn’t a mechanically sound bike with a “matched” tune seem to want to run correctly?
In this case there is a known issue with this EBR calibration whereby a section of the closed loop area of the fuel mapping is (mis)tuned to be richer than stoich. The ECM compensates for this condition by lowering the AFV. Consequently, with an AFV this low (lean) it could cause damage to the engine if it is run at high RPMs for extensive periods. Raising the minimum AFV is the easiest way to resolve this condition. Determining the optimum number to raise it to will require some trial and error. Unless you have a wideband sensor setup or a dyno it’s not scientific, but it is safe to do.
Since we are close to sea level we are going to set the minimum and maximum AFV to 100 and go for a test ride. If we were at a significantly higher altitude we could start at a lower number of maybe 95 or better yet, install a Baro Sensor Kit. If it was a stock bike with a stock exhaust we may want to start at 104. This starting point also depends on what your current AFV value, but it should be close to 100.
Our bike now has a smoother idle, better acceleration and less decel popping. It’s a definite improvement, but can we make it even better? To find out, we simply bump the minimum AFV up 2 or 3% at a time followed by a test ride at each setting to see where the overall performance and behavior stops improving. When the AFV gets too high (rich) the bike will idle excessively high, have sluggish acceleration and possibly some exhaust smoke. If you’re “reading the spark plugs” properly as part of this process they will start to show signs of soot. On our bike we started to feel symptoms of running rich with an AFV setting of 107. Optimum AFV seems to be 105. At this point we can simply leave it as is with Min and Max AFV set to 105. Normally, performing this procedure would mean that the ECM cannot compensate for altitude. This is resolved by using the Baro Sensor Kit found here.