Subaru Flex Fuel Tuning Guide


Subaru Flex Fuel Tuning Guide

This guide is for Australian Domestic Market (ADM) Vehicles ONLY.

For USDM Vehicles This feature has been deprecated and is no longer able to be adjusted in the software for USDM vehicles.  Most tables are marked FEATURE DISABLED to let you know those tables are not valid any longer.  In most instances the tables are no longer able to be edited in any way and are defaulted to standard values.  In other cases the table values can be edited but are disabled and won't impact vehicle operation.

End User Greenspeed Update

Dealer Greenspeed Update

Flex Fuel Overview

"Flex Fuel" (FF) functionality is supported for select turbocharged Subarus utilizing the COBB Custom Features ECU. In short, COBB's Flex Fuel feature encompasses these custom code features:

  • Seamless switching of fuels between low ethanol fuel and high ethanol fuel.

  • Utilizes analog ECU inputs for ethanol content via tuner selection between the existing TGV (Left), TGV (Right) and Rear O2 Sensor analog 0-5v inputs.

  • All main tuning functions covered by Flex Fuel options: the full and variable blending of AVCS, Boost Control, Injector Scaling, Open Loop Fueling, Ignition Timing, Cranking Enrichment, Warm-up Enrichment, Fuel Mileage Display Correction (non-DIT), injection timing (DIT only), etc.

  • OEM-level functionality and finish: adjustable ethanol content signal sampling rate, smoothing factor, deadband, DTC detection, etc.

In general, there are two primary goals of a full-function Flex Fuel implementation:

  1. Account for changes to ethanol content (stoichiometric ratio). This allows for the ECU to account for the variable amount of fuel required to achieve a correct air/fuel ratio as ethanol content changes. This is all based on a linear relationship and somewhat easy to calculate; scaling for these items generally requires a 1:1 relationship with the ethanol content delta. Tuning parameters like Injector Scalar and Cranking Enrichment will fall under this category. Correct tuning and blending of these tables is required for the vehicle to operate under variable ethanol content.

  2. Account for changes to fuel quality (octane, burn rate, EGT, etc.). This allows the tuner to account for variable fuel quality as ethanol content changes. The need for this flexibility is based on the notion that things like effective octane rating will significantly increase as ethanol content increases. These items can be scaled with ethanol content but do not necessarily require a 1:1 relationship with ethanol content. For example, Target Boost and Ignition timing changes may be locked above E70 as diminishing returns to the knock threshold are usually observed above 70% ethanol content. The blending of these tables is not required for vehicle operation and is determined by the tuning strategy employed.

Additional Resources and Tools – Ethanol

If you have limited experience related to the math and science behind variable ethanol content and E85 tuning, we highly recommend some background education before utilizing the COBB Custom Features, especially the Flex Fuel feature and functionality. While easily understood once studied, ethanol and alcohol-based fuels introduce a variety of benefits and downsides; these must be accounted for both during the calibration process and during subsequent operation of the vehicle. While written with a humorous (and potentially NSFW!) approach, this article from Injector Dynamics helps cover many of those considerations:

When adding custom auxiliary sensors and hardware, it is highly advised to have a copy of the applicable Subaru Factory Service Manual (FSM) available for reference. These are available via Subaru TechNet website, AllData shop service subscriptions, NASIOC and similar forums, etc. A digital multimeter (DMM) is a virtual necessity for verifying any custom wiring.

DSPORT Magazine published an informative article with contribution from COBB Tuning staff about Flex Fuel on the Nissan GTR platform, which is available here:

If you have additional questions not covered by this help file, please contact COBB Tuning support via email at or by phone at (866) 922-3059.

Ethanol Content and Stoichiometric Ratio

As ethanol content rises, so does the demand on the fuel system and two primary components: the fuel injectors and the fuel pump. If the current fuel in use is 0% ethanol pump gasoline, a full ~63% more fuel mass will be required if transitioning to 100% ethanol. In reality, most will be switching from E10 pump gas to E85 ethanol, which requires a ~43% increase in fueling.

Please reference the table below for the stoichiometric ratio of gasoline-ethanol blend fuels as well as the fuel mass change required when moving from one to the other. It is important to note that the stoichiometric ratios given are close estimates; the exact ratio will depend on the exact "mix" of hydrocarbons used to formulate the gasoline portion of the fuel. In order to manually calculate the change when moving from one ethanol content to another, simply divide the old stoichiometric ratio by the new stoichiometric ratio. Example: E10 to E70. 14.131 / 10.715 = ~1.319 (131.9%).

***Keep in mind, air/fuel ratio targets in the software (and likely on your wideband) are displayed on the gas scale. In order to avoid confusion, we suggest working in lambda especially when fuel chemistry is variable. In ATP under the Edit menu → Configure Options → Display tab, if you un-click "Show Standard Units" air/fuel ratios will be displayed in lambda. Please note other units will be updated as well.

Ethanol Content

Stoich. Ratio

Multiplier (E0)

Percentage (E0)

Multiplier (E10)

Percentage (E10)















































































Ex: Stoich. Ratio and additional fuel mass required as ethanol content increases

Port injector selection suggestions based on max wheel HP and base fuel pressure. Consider this table a rule of thumb which requires several assumptions including, but not limited to: rev limit at or below 7000 RPM, FPR is manifold referenced, fuel system is maintaining target differential fuel pressure. Keep in mind some setups will make power more efficiently than others. More or less air and fuel flow will be required to achieve a given power level depending on ECU calibration and mechanical efficiency.

Initial Flex Fuel Setup

Minimum vehicle hardware requirements to utilize Flex Fuel feature:

  • Ethanol Content Analyzer with 0-5v analog output ("Flex Fuel Kit") wired to TGV-L, TGV-R or Rear O2 Sensor analog ECU input. Please see "TGV Duplication Mode" section of the Subaru Custom Sensor Logging document if planning to utilize TGV input option(s) while retaining TGV hardware.

  • Appropriately sized fuel system components (injectors and fuel pump) for maximum ethanol content desired. To estimate the change in fuel system demand, please see the table above. High ethanol will incur a roughly 1.5x increase in fuel system demand than zero/low ethanol fuels.

Suggested accompanying vehicle hardware (non-DIT):

  • Fuel Pressure Sensor with 0-5v analog output wired to TGV-L, TGV-R or Rear O2 Sensor analog ECU input. This will allow for on-the-fly fueling compensation based on fuel pressure, which facilitates more precise tuning and natively compensates against fuel pressure losses due to failing fuel pump, plugged fuel pump, etc. This will also allow the customer and the tuner to monitor fuel system performance. Please see the Subaru Differential Fuel Pressure Compensation document for further setup instructions.

  • Wideband O2 Sensor with 0-5v analog output wired to TGV-L, TGV-R or Rear O2 Sensor analog ECU input. This will allow for continuous monitoring of the vehicle during open loop fueling using both Accessport live gauge display and datalogging functionality. Please see the Subaru Custom Sensor Logging document for further setup instructions.

Blending Ratio Table Overview

The Blending Ratio Tables instruct the ECU on how to determine the final output value while "blending", or calculating a weighted average, between two tables. If the tables contain the same values, the blending ratio will be irrelevant.

The Blending Ratio Table defines how heavily to weight each of the low ethanol and high ethanol tables when determining a final output value, dependent on the current ethanol value. A blending ratio value of 0.00 means the equation is weighted to use the low ethanol table values exclusively; a blending ratio value of 1.00 means the equation is weighted to use the high ethanol table values exclusively. A Blending Ratio value of 0.500 means to use both tables in an equally-weighted average. This is accomplished by the following function:

  • "(High Ethanol Table Output * Blending Ratio) + (Low Ethanol Table Output * (1 – Blending Ratio)) = Final Blended Output"

Beyond this, the Blending Ratio Tables can be customized to provide a non-linear response in relationship to an ethanol content change. They can also be specified to define blending only within a certain ethanol content ranges (while ignoring others). There are specific examples provided within the text below.

Fuel-Based FF Tables

As previously mentioned, many Flex Fuel blending functions will depend on a linear mathematical relationship that corresponds to changes in ethanol content. Because we know that we need 63.2% more fuel when moving from E0 to E100, it is easy to calculate any partial increase necessary anywhere between those two points. This allows for using any fuel between E0 and E100 seamlessly, even if the calibration was completed on less extreme blends (like E10 and E70, for example). We will refer to these as the "Fuel-Based Tables".

It is advised to set these Fuel-Based Tables to use a linear blend between E0 and E100:

EJ Engine:

  • Cranking Fuel Injector Pulse Width Base

  • Fuel Economy Display Correction Factor

  • Fuel Injector Scale

  • Hot-Restart Enrichment Initial

  • Post-Start Enrichment High/Low Speed (All)

  • Tip-in Enrichment

  • Warm-Up Enrichment Primary (All)

DIT Engine:

  • Cranking Fuel Injector Pulse Width Base - Groups 1 and 2, A-F

  • Fuel Economy Display Correction Factor (Gen2 or later)

  • Fuel Injector Trim (Fuel Pressure)(Multiplier)
  • Fuel Injector Trim (Fuel Pressure)(Offset)

  • Post-Start Enrichment - Homogeneous and Stratified, Fast, Moderate, and Slow)

  • Warm-Up Enrichment Primary - Homogeneous and Stratified, TGV Closed and Open

Properly scaling these tables from the beginning of the calibration process will allow for easily converting an existing tune to be Flex Fuel capable.

The blending tables are set to accomplish this by default (E0 = Full Low Ethanol Tables, E100 = Full High Ethanol Tables): {EJ engine tables shown}

Ex: Fuel-Based Tables: linear blending from E0-E100 for Fuel Injector Scale

Determine Multiplier Value for High Ethanol Tables – Example

In order to set the Fuel-Based Tables up appropriately to seamlessly account for a change in ethanol content, we need to define our low and high ethanol content Fuel Injection scaling (Flex Group A and B).

EJ Engine: 

For this example, we will assume Group A and Group B are defined as default (A = Low Ethanol, B = High Ethanol) and that we are converting an existing E10 gasoline tune to be truly E0-E100 compliant on COBB 1000cc injectors. Copy all existing tune data from the current Flex Fuel Group A tables to the Flex Fuel Group B tables.

In the absence of current accurate tuning data, the initial Fuel Injector Scale for COBB and Injector Dynamics brand injectors can be found within the Support section of the Injector Dynamics website. In the future, these spreadsheets will be updated to include Fuel Injector Scale data for E0 and E100 automatically. Please check back regularly for updates.
To determine the two new Fuel Injector Scale values necessary for our Group A and Group B Tables, we will simply reference the stoich. ratio and multiplier table shown above. If our current injector scalar is 2900 for the current E10 fuel, in order to calculate our E0 (Group A) Scale, simply multiply 2900 by 96.1% ("M" Hotkey -> 0.961), which comes out to approximately 2788. To do the inverse for our E100 (Group B) Scale, multiply 2900 by 1.561% ("M" Hotkey -> 1.561), which comes out to approximately 4550. Once the vehicle is running, this conversion can be checked by logging "Fuel Injector Scale (Final)".

Assuming ethanol content has not changed, this value should be very close or identical to the previous reference value (in this case, 2900 at 10% ethanol).

Generate the other E100 (Group B) Fuel-Based Tables in the same fashion (increase existing values derived from the Group A tables by a factor of 1.561). While additional factors may come into play during final tuning, such as further adjusting Cranking Enrichment to compensate for the difficulties of cold-starting on high ethanol fuels, this initial mathematical scaling will lay the foundation for the completion of all tuning. Once this is done, fueling can seamlessly blend across any ethanol content. See below for this example:

Ex: Fuel Injector Scale for Group A set to 2788 for E0 operation

Ex: Fuel Injector Scale for Group B set to 4550 for E100 operation

DIT Engine:

This works much like the EJ engine. Again we will assume FF B group is your high ethanol group. With our ethanol content table above including % mass change as a reference, multiply your FF B group Fuel Injector Trim (Fuel Pressure)(Multiplier) and Fuel Injector Trim (Fuel Pressure)(Offset) tables to account for the greater fuel mass injection required.

Octane-Based FF Tables

For items such as Boost Targets and Ignition Timing, it is more common to use a linear blend that only spans certain ethanol content values. This is because things like the octane rating and effective knock threshold of the fuels do not change at a linear rate (more flat on the ends of the spectrum) as ethanol content changes. We cannot always calibrate the vehicle for true E0 and E100 to set the low and high ethanol tables for the ends of the ethanol content range, so the conservative approach suggests only increasing things like Ignition Timing up to the known thresholds established by the fuel and ethanol content range that is available for testing. We will refer to these as the "Octane-Based Tables".

In fact, blending between variable data for these types of tables is optional. While power output will only change based on the oxygen content change of the fuel, the vehicle will still seamlessly account for variable ethanol content as long as the Fuel-Based Tables have been configured correctly
For pragmatic purposes, the ends of these blend ratios are often set based upon the fuel types available during the calibration process. Generally, a vehicle will be tuned on pump gas, such as E10, then drained and refilled with higher ethanol fuel to complete the secondary FF tuning needs. If this new fuel is E85, the initial blend will often be between 60% and 80% (E70, for example). With this, you may choose E10-E70 as your blend rate for the Octane-Based tables. This means that the tune will always be no more aggressive than it was for the E70 fuel in use during calibration, even if ethanol content goes above this during subsequent fill-ups. Conversely, E0-E10 will be treated the same from an octane perspective, which is to be expected (ethanol content and octane rating are independent from one another).

Octane-Based Tables utilizing a non-linear blend generally include:

  • AVCS Exhaust Cam Retard (If equipped)

  • AVCS Intake Cam Advance

  • Boost Limits

  • Boost Targets

  • Primary Ignition (All)

  • Primary Open Loop Fueling

  • Wastegate Duty Cycles (High/Low)

The easiest way to accomplish this is to adjust the Blending Table axis scaling. In this example case, Boost Targets are scaled upwards in a linear fashion as Ethanol Content increases from 20% up until ethanol content reaches 70%. For E0 to E20, the full low ethanol table values are targeted (0.00 blending value); for E70 to E100, the full high ethanol table values are targeted (1.00 blending value). See below for an example of how to configure this within the Blending Tables:

Ex: Octane-Based Tables: linear blending from E20-E70 for Boost Targets

Ethanol Content Measurement and Analog Input Considerations

  1. Like most custom Flex Fuel implementations, COBB's Subaru Flex Fuel implementation requires a digital to analog converter that interprets the digital signal from an ethanol content sensor into a linear 0-5v analog output. The sensor, the digital to analog converter and associated power and signal wiring combine to comprise a "Flex Fuel Kit".

  2. To power the external sensor hardware, assuming the device is a normal automotive sensor and draws low current, you may use the 5v circuit present at the TGV connector or the 12v circuit present at the Rear O2 sensor connectors. See applicable FSM for detailed wiring diagrams.

  3. DTC functionality for Ethanol Sensor Low and High voltage errors is provided via "C0BB1" and "C0BB2" custom DTC codes.

  4. When the C0BB1 or C0BB2 DTC is present, ethanol content will be locked to the last known good value and the boost control system will be disabled (WGDC capped to 0.0%). This behavior will continue (DTC present, CEL illuminated, Boost Control disabled) until the hardware issue has been corrected and the ECU has been manually reset to clear the code.

    1. If the hardware failure and triggering of the DTC occurs immediately upon key-on following a reset/reflash, and before the ECU has been able to store a known good ethanol content value, ethanol content will be locked to the value contained within the "Ethanol Sensor Concentration Override" table (default is 10.0%).

  5. Ethanol Sensor Calibration Deadband Range: the minimum size of the change in ethanol content necessary before "Ethanol Concentration FINAL" is updated. Usually does not require adjustment from the default value.

  6. Ethanol Sensor Calibration Sampling Rate: how frequently the analog sensor input for the FF kit is polled to check for an update to the current ethanol content value. The values are in a rough approximation of milliseconds. Usually does not require adjustment from the default value.

  7. Ethanol Sensor Calibration Smoothing Factor: a rolling average of the current ethanol content value. This helps smooth out an inconsistent signal while still providing a fast-enough response when ethanol content is legitimately changing. Usually does not require adjustment from the default value.

  8. Ethanol Sensor Concentration Failsafe: this threshold, which is in Load g/rev, allows for locking ethanol content above a certain Load value. Flex Fuel sensor accuracy can suffer from fuel pump cavitation, fuel boiling and other issues that can and will contribute to a temporarily inconsistent ethanol content reading from the FF kit. This normally happens when the fuel system is under high demand when fuel flow past the ethanol content sensor may be inadequate (or aerated).

  9. DTC functionality is dependent on the hardware kit in use. Some Flex Fuel kits do not offer the ability to reports errors via their 0-5v output because they require the full 0-5v span to report the current ethanol content. Kits that have a narrower range, such as 0.5-4.5v, have the ability to trigger a DTC whenever a voltage is observed outside of the stated range, assuming this functionality has been included in the FF kit's design.

  10. After polling the FF kit, the ECU stores the ethanol content value within the "Ethanol Concentration RAW" value. This is the raw ethanol content before smoothing or the deadband functions are applied. The final output is the "Ethanol Concentration FINAL" monitor; this is the value used by the ECU while operating on tables that are based on ethanol content.

    1. You may observe minor "jitter" or wandering within the "Ethanol Concentration RAW" signal. The sampling rate, deadband, smoothing functions and load-based lock threshold are all designed to help mitigate this issue and produce a predictable and consistent Ethanol Concentration FINAL value.

Basic Outline to Enable and Tune for Flex Fuel

  1. Set A/B Table functionality via "Flex Fuel A/B Table Ethanol Concentration Mode" table. This determines which set of tables (A or B) will represent low ethanol content and which will represent high. By default, the existing tuning data will be populated in the Group A tables, which would correlate to converting an existing low ethanol tune to add Flex Fuel functionality. If the vehicle is currently tuned on high ethanol, you may elect to keep this tuning data within the A tables and use the B tables to add low ethanol functionality; in this case, you will want to invert this toggle.

  2. Enable the base Flex Fuel code and functionality via the "Flex Fuel Feature Activation" table.

  3. Copy all current Flex Fuel Group A table data to Flex Fuel Group B tables. This can be accomplished via the "Flex Fuel Copy Groups" function in the Edit menu or is done automatically when initially opening an existing MAF or SD map in the COBB Custom Features (CCF) ECU. Axis values are shared between the two sets of tables. This will serve as your base starting point for tuning on the alternate ethanol content fuel. This will allow for the vehicle to run as-is no matter which set of tables are being referenced via the Blending Tables.

  4. Configure Ethanol Sensor. Choose the input via "Ethanol Sensor Activation/Input Selection" table, input the calibration via the "Ethanol Sensor Calibration" table, and choose and input valid DTC voltage thresholds for the FF hardware in use via the "Ethanol Sensor DTC Limit (Voltage)(High)/(Low)" tables.

    1. It is advisable to set the DTC thresholds a few tenths of a volt between the ends of the valid calibration range and the ends of the voltage range; for example, if the kit uses 0.5v-4.5v for its E0-E100 range, setting the DTC limits to 0.30v and 4.70v should yield good results. A "C0BB1" DTC will be set for an Ethanol Sensor Low Voltage error and "C0BB2" DTC for an Ethanol Sensor High Voltage error. You may choose to adjust the Deadband Range, Sampling Rate and Smoothing Factor based on the hardware in use but the default values should work well for most FF kits.

    2. Depending on the analog input chosen, you may need to remove DTC's for the OEM hardware to prevent the CEL from illuminating.

    3. If the C0BB1 or C0BB2 code is set, Boost Control will be disabled and Ethanol Content will be locked to the last known good value. It is IMPERATIVE that the issue is corrected, and the DTC is cleared before the vehicle is refilled with fuel (and a potential change to current ethanol content is introduced). This functionality can be tested by quickly removing the Ethanol Content Sensor plug from the FF/DAC hardware while the vehicle is running.

  5. Set Fuel-Based Group A and Group B Tables for E0-E100 compatibility. See above for a list of tables to include and how to calculate the multiplier value to use for calculating new Group B values.

  6. Set Blending Ratio Tables. See the above descriptions for configuring Fuel-Based Tables and Octane-Based Tables for Blending Ratio. If you need to perform custom tuning on the Group A tune, be sure to set the Octane-Based Blending Tables so that the current ethanol content will be "locked" onto the Group A tables. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables. For example, if current ethanol content is 9%, be sure to set all Octane-Based Blending Ratio tables to be 0.0 below E10. These can be revisited once alternate fuel has been added to the vehicle.

  7. Perform calibration for Fuel A using Group A tables. Once this is complete, re-copy any newly changed Octane-Based Group A tables to Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu). This ensures that things like Boost Target, Ignition Timing and Open Loop Fuel Targets are consistent and provides a starting point for tuning the Octane-Based Group B tables.

  8. Change vehicle to Fuel B (high ethanol) to allow for calibration of Group B tables.

  9. If you wish to tune Fuel B using Realtime tuning functionality as well, you will need to swap the current Group A and Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu) with the "Swap tables" box checked, as well as invert the "Flex Fuel A/B Table Ethanol Concentration Mode" table. This will allow you to now tune the Group A tables for Fuel B (Fuel A table data now located in Group B).

  10. Restart vehicle to cycle fuel supply and check newly updated ethanol content. Things like fuel trims should be very close thanks to the earlier configuration of the Fuel-Based Tables. If you find a significant issue, please stop and check all math and FF tune configuration settings.

  11. Re-set Octane-Based Blending Ratio Tables so as to "lock" tuning to the B tables. For example, if current ethanol content is now observed to be 72%, be sure to set all Octane-Based Blending Ratios to be 1.0 above E70. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables.

  12. Perform calibration for Fuel B using Group B tables. Now that ethanol content has increased significantly, you may find the engine is able to tolerate more boost, more ignition timing, a leaner open-loop fuel target, etc. (or vise-versa if ethanol content has decreased). You can use the Blending Ratio tables to introduce non-linear blending or any variety of other tuning strategies based on the exact vehicle, modifications, tuning goals, etc.

  13. Once Fuel B and Group B tuning has been completed, you effectively have a completely operational Flex Fuel tune! Double-check all Blending Ratio, Group A and Group B tables for sanity.

  14. WARNING! If the auxiliary Ethanol Content hardware or associated wiring enters a failure state, it is possible to introduce either a direct short to the ECU's 5v power circuit or an overvoltage input to the ECU's 5v analog inputs. Either of these scenarios can potentially cause erroneous operation or ECU hardware damage.

Ex: Octane-Based Blending Ratio table while completing dyno tune on E9 and E81 fuels

Ex: Octane-Based Blending Ratio table to introduce binary WGDC duty cycle control. Below E50, Group A tables are used, above E50, Group B tables are used. A minor blend will occur if ethanol content equals exactly 50.0%. Using a sensor deadband of greater than 1.0% will help eliminate this possibility, as raw measured ethanol content must change more than 1.0% before Ethanol Content Final is updated.

DIT Flex Fuel

Please read the above documentation first. While by and large, our flex fuel implementation for DIT engines works in the same fashion as the EJ engine implementation, there are differences based on the tables and logic present on each ECU.

  1. The stock DIT ECU has many more tables than the EJ ECUs. This led us to combine some multiple tables on the Flex Fuel B side into single tables as follows:
    1. AVCS Intake Cam Advance Target (TGVs Open) A/B (Barometric Multiplier Low)
    2. AVCS Exhaust Cam Retard Target (TGVs Open) A/B (Barometric Multiplier Low)
    3. Closed Loop Fueling Target Base (Main) A/B/C/D
    4. Closed Loop Fueling Target Base (Main) Lean Limit A/B/C/D
    5. Post-Start Enrichment (Homogeneous) Base... A/B/C/D
    6. Post-Start Enrichment (Stratified) Base... A/B
    7. Primary Ignition (TGVs Closed) ALL
    8. Primary Ignition (TGVs Open) ALL
    9. Primary Open Loop Fueling Base ALL
  2. The table name specifies which Flex Fuel A table is copied to the corresponding B table. For example: Post-Start Enrichment (Homogeneous) Base (Fast) A/B/C/D (Copied From A Table in FF A Group) (Flex Fuel B) 
  3. When using the Flex Fuel Copy Groups feature, keep in mind that copying B to A will result in the single B table being copied into multiple A tables. In the case of the Post-Start table mentioned above, the single FF B table will be copied to the four FF A tables A/B/C/D, as specified in the table name. 
  4. Ethanol Sensor Calibration Smoothing Factor has been expanded into a table that allows for compensation by approximate fuel injected. Fuel injected is calculated based on the Ethanol Sensor Calibration Sampling Rate calibrated value, as well as Mass Airflow, Commanded Fuel Final and short/long-term fuel trimsThis feature enhancement leads to our next topic, the Ethanol Content Delay System (ECDS). The variable smoothing factor allows the tuner to alter how quickly Ethanol Raw is applied to Ethanol Final during an ethanol content transition (i.e. when changing ethanol content by refueling the vehicle).
  5. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) - COBB internal testing and external reports from our Protuner network indicate concerns with running high ethanol content fuel consistently over the long term. In the E0 to E30 range ethanol is generally well tolerated by DIT systems from Subaru, Mazda, BMW, and other platforms we support. However, the factory HPFPs (high-pressure fuel pumps) on all these platforms are not designed to operate in a flex fuel environment and exhibit poor performance and sometimes failures when E85 is used persistently. At near 85% ethanol content, many users have reported sudden loss of fuel pressure, causing poor engine operation and in some cases, the engine stops running and will not restart. This generally occurs after 1-8 consecutive tanks of E85 fuel. With this new DTC you can disable boost control and enable a check engine code and the light if the vehicle is fueled with an ethanol content higher than the max you feel is safe.
    1. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) Delay - This delay allows you to avoid a momentary high ethanol reading from enabling the COBB5 DTC unnecessarily.

  6. Closed Loop Fueling Target Final (Alternate)(Aggressive Start)(Primary OL Fuel Compare) - This is not a flex fuel table but can become active regardless of ethanol content. Since your desired fuel targets on low and high ethanol fuel may be significantly different, we suggest disabling this function via the coolant temperature thresholds as described in the DIT Tuning guide.
  7. Primary Open Loop Fueling Min. Enrichment (Final) - This table is active any time the ECU is fueling in open loop. Values in this table are applied unless your primary open loop target is richer than the minimum enrichment value, in which case the primary open loop target takes precedence. Keep in mind this is not a flex fuel table, so setting this table richer than your high ethanol primary open loop target would result in the minimum enrichment target being applied.

Fuel System Considerations

As with other DIT platforms i.e. VW, BMW, Mazda, the fuel pumps in Subaru DIT vehicles are not designed for ethanol use beyond 10-15%. That said, ethanol levels between 15-30% are generally well tolerated. Those comfortable with mild risk can run ~E30 and enjoy improved knock resistance, charge air cooling, and a mild improvement in engine power potential. While you can't get E30 at the pump, pumping a combination of E0/E10 gas and E85 in an appropriate ratio will allow the blending of a near E30 mixture in your tank.

On DIT platforms not set up for flex fuel from the factory, at greater than 30% concentration, ethanol has caused oscillating fuel pressure first, progressing to loss of fuel pressure, high-pressure fuel pump damage, even making the vehicle inoperable in some cases. Sudden loss of fuel pressure can cause a sudden loss of acceleration, stalling, which can reduce braking performance and steering control. Long story short, while the power potential is very attractive, the use of high ethanol content fuel is at your own risk.

COBB has performed internal testing in multiple geographic locations with different fuel sources in addition to compiling data from COBB retail shops, our Protuner network, and customers. The results varied significantly. Some users ran several tanks of E85 in a row without issue while some experienced serious loss of fuel pressure in as little as 1-2 tanks of fuel.

We suggest monitoring fuel pressure for oscillations. After having fuel pressure issues, some users were able to flush the HPFP (high-pressure fuel pump) out with low ethanol gasoline and get it to operate normally again, while others had to replace the whole pump assembly before they could safely drive the car again. After replacing the pump some users experienced repeat failures if they continued to run E85 fuel.

ECDS (Ethanol Content Delay System)

The ECDS system prevents Ethanol Final changes from the time it activates until the Exit Threshold based on fuel mass injected is achieved. This prevents large changes in engine operation based on ethanol sensor readings from occurring before fuel at the sensor reaches the combustion chamber.

While not a significant concern on return fuel systems because fuel is almost always circulating through the rails, this is critical on DIT's returnless fuel system when fuel ethanol content changes dramatically (ex. car had e10 in it, the customer fills up with E85 or vice versa).

The ECDS system has a few main components:

  • Activation - All thresholds must be met to activate the system
    • Ethanol Transition Activation (Ethanol Delta Threshold Exceeded Count) - Ethanol Delta must be greater than the Ethanol Transition Activation (Ethanol Delta Threshold) for this number of samples for the system to activate.
    • Ethanol Transition Activation (Ethanol Delta Threshold) - The ethanol delta between the current sample and the previous sample.

    • Ethanol Transition Ethanol Delta Calculation Rate - The sampling rate for ethanol delta calculations. This is separate from the Ethanol Sensor Calibration Sampling Rate.
    • Ethanol Transition Ethanol Delta Calculation Type (0 = Ethanol Raw, 1 = Ethanol Final) - Determines whether the delta calculated is monitoring Ethanol Raw or Ethanol Final values.
  • Ethanol Final Lockout Period:
    • Ethanol Transition Exit Threshold (Fuel Injected Sum Threshold) - Ethanol Final resumes normal behavior once this fuel injection sum is achieved.
    • Ethanol Transition Exit Threshold (Max. Allowed Time Period) - If this time period expires before the Fuel Injected Sum Threshold is achieved, Ethanol Final will resume normal operation.
  • Re-activation:
    • Ethanol Transition Activation (Min. Required Time Period from Last Transition) - A time period that must expire once ECDS operation completes before the system can re-activate.

Key factors to note:

  • While Ethanol Sensor Calibration Smoothing Factor isn't a component of the ECDS, the value chosen affects how Ethanol Final adopts Ethanol Raw once the lockout period expires. 
  • Setting Ethanol Sensor Calibration Smoothing Factor to 0 when fuel mass injected is 0 (fuel cut) may be deemed optimal, but setting the whole smoothing table to 0 would prevent Ethanol Final from ever updating. You will likely want smoothing to have a minimal effect (high table values) during periods of high fuel mass injection, and the most smoothing (low table values) during times of minimal fuel mass injection. 
  • Any manipulation of airflow and fuel injection calculation in your calibration which skews values from accurate ones must be accounted for in your ECDS settings for the system to work properly. For example, if you halve MAF scaling from accurate values, the ECDS system will calculate half the actual fuel mass injected. 
  • We suggest setting your Ethanol Sensor Calibration Deadband Range (Abs. Delta) to reduce or avoid constant ethanol final updating when no significant ethanol content change is present. 
  • The injectors are not fed by equal-length tubing which may result in a brief bank to bank variance in ethanol content. Despite the power of ECDS and our testing under extreme conditions, we suggest advising drivers to exercise some caution, when possible, until ethanol transitions are complete.
  • Since high ethanol fuel requires significantly more fuel mass, the injection times increase significantly. Especially at high load and engine speed, start of injection timing may need to be significantly altered to keep end of injection from being too close to the ignition event to avoid poor combustion. Fuel Injector Start of Injection tables are available in our flex fuel implementation to facilitate this as well as allow optimization of injection window for best efficiency.

ECDS default values calibrated by COBB staff are only appropriate for COBB flex fuel hardware, installed in the exact manner we instruct. If you use alternate flex fuel hardware, you'll want to optimize ECDS settings for your needs. Even if you've chosen to use COBB flex fuel hardware, you may feel you have an alternate ECDS calibration strategy that better meets the needs of your customer. Here's an example workflow for that optimization:

  1. Make sure the system activates when you want it to, but it doesn't when you don't.
    1. Determine the frequency and count of samples you want the system to observe for ethanol change as well as the minimum delta you want to require between samples for the system to activate. Keep in mind the higher the frequency, the smaller the ethanol change can be if all other things are equal. All deltas must be in the same "direction" for the system to activate. For example, if your minimum delta per sample is 1% and the samples are 2,3, -2, 3 and you require a count of 3, the system will not activate because the count will zero when the -2 value is read.
    2. Decide if you want to observe a delta in Ethanol Raw or Ethanol Final. Consider the breath of the deadband you've set for Ethanol Final when choosing your activation delta.
    3. Set Ethanol Transition Activation (Min. Required Time Period from Last Transition) so the system does not re-activate sooner than you'd like after an ECDS process completes.
  2. Set the fuel mass which must be injected before the ECDS Exits
    1. Fuel mass injected is calculated by COBB custom logic based on the Ethanol Sensor Calibration Sampling RateMass Airflow, Commanded Fuel Final and short/long-term fuel trimsFor example, if your Ethanol Sensor Calibration Sampling Rate is 100 and your Ethanol Transition Fuel Mass Injected Current monitor reports 1.0, your engine injected approximately 1.0 gram per 100 ms.
    2. Once ECDS activates, Ethanol Final is held and the Ethanol Transition Fuel Mass Injected Current adds up until the Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) is achieved, causing ECDS to exit, allowing Ethanol Final to resume updating.
    3. As a failsafe, we've added an Ethanol Transition Exit Threshold (Max. Allowed Time Period). This is a simple timer which allows you to exit the ECDS system if your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) cannot be achieved despite fuel traveling from the sensor to the combustion chamber due to your other ECDS settings.
    4. We suggest erring on the side of having your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) be slightly less than the actual grams between the sensor and the combustion chamber so the Ethanol smoothing can start transitioning Ethanol Final towards Ethanol Raw before the new added to the tank fuel gets injected.
  3. Fine Tuning
    1. Fuel trims are the easiest way to determine how well your settings model the physical behavior of the vehicle. If you have your calibration optimized for all ethanol percentages when ethanol content is stable, AF correction will be minimal. Any additional AF correction during ethanol transitions will indicate a potential opportunity to improve your ECDS and smoothing calibration.
    2. Keep in mind these vehicles trim fuel around far more significantly than non-DIT WRX, to begin with. Don't pull your hair out trying to be +/- 3% under all possible conditions. It's not possible. With that in mind, you may want to set realistic expectations for customers monitoring trims.
    3. If fuel trims change drastically before ECDS exits, your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) may need some adjusting.
      1. If ethanol content changes from low to high, and total AF correction dramatically increases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too high. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more positive if Ethanol Final does not start to transition to the new higher Ethanol Raw value soon enough.
      2. If ethanol content changes from low to high, and total AF correction dramatically decreases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too low. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more negative if Ethanol Final starts to transition to the new higher Ethanol Raw value before the new higher ethanol fuel gets injected.
    4. Ethanol Smoothing - While not part of the ECDS system, smoothing is critical to the transition of Ethanol Final towards raw once ECDS exits. We've compensated smoothing based on Fuel Mass Injected Current because the more fuel you're injecting, the quicker the transition will happen. On the flip side, if you're injecting no fuel at all, the ethanol content at the injector isn't changing.

Troubleshooting Flex Fuel Related Custom DTCs:


  • When any of the following DTCs are set, the check engine light illuminates and the ethanol failsafes are enabled. Ethanol failsafes are: WGDC becomes 0 under all conditions, and Ethanol Final locks to the last value before the DTC was set.
    • If your tune has Ethanol Sensor Concentration Override Always (Ignore Sensor and Use Fixed Value For Final Ethanol) eenabled, the override value will continue being used.
  • If the input voltage appears to be within the DTC limits, and sane, you may be experiencing momentary invalid readings due to electrical system fluctuations. Vehicles with aftermarket electronics i.e. stereo system, lighting etc. are fare more prone to electrical concerns. If the issue is minor, adjusting the associated DTC Delay values may prevent an unwanted response.
  • Make sure the calibration flashed to the vehicle matches the mechanical configuration.
    • Input for each function matches the mechanical install i.e. Flex Fuel module is electrically connected to TGV L, and calibration Ethanol Sensor Activation/Input Selection set to TGV L.
    • Low and High voltage thresholds are appropriate for sensor/module output range, For Example:
      • 0-5V output doesn't have low and high error thresholds at 0.25V and 4.75V which would cause DTCs when there may not be an error.
      • 0.5-4.5 V outputs don't have error thresholds at 0V, 5V which would remove the error checking ability.

Ethanol sensor module voltage codes:

C0BB1 - Ethanol Sensor Voltage Low Input - Enabled if the input voltage is below Ethanol Sensor DTC Limit (Voltage)(Low)(C0BB1 DTC) continuously until Ethanol Sensor DTC Delay (Low)(C0BB1 DTC) expires.
C0BB2 - Ethanol Sensor Voltage High Input - Enabled if input voltage is above Ethanol Sensor DTC Limit (Voltage)(High)(C0BB2 DTC) continuously until Ethanol Sensor DTC Delay (High)(C0BB2 DTC) expires.

Verify voltage output from the Ethanol module to ECU using Accessport or Accesstuner live connect. Depending on which physical input you've connected the hardware to, check the corresponding Sensor Input Voltage monitor i.e. TGV L, TGV R, or Rear O2.
Is voltage in the appropriate range? COBB's flex fuel kit uses a 0.5-4.5 V range for normal operation. Other systems may use the full 0-5V range since they don't support error checking.
If you use a 0-5V system with an Accesstuner calibration that does not have the low and high limits set correctly for your hardware, you will throw a code when on very low or high ethanol content levels.

While you're at it, check to see if voltage is sane for the estimated ethanol content of the fuel in your vehicle. If not, you may have connected the flex fuel kit to a different input than your calibration expects i.e. hardware hooked up to TGV R and the calibration is set up for it to be hooked to TGV L.

If you're using a COBB flex fuel kit, here are some additional troubleshooting scenarios and tips to help take advantage of our custom module's error reporting capabilities:

0.0V - Power or ground supply fault, module fault
Suggestion: Check connections to rear o2 and TGV harnesses. BOTH must be plugged in (or wire in) for unit to function. Confirm supply voltage and ground continuity if the issue persists and harnesses are connected.

0.1V - Sensor fault, the module to sensor electrical connection fault, waiting for sensor data
Suggestion: Check connections for continuity, replace harness if necessary. If harness tests well, reset ECU and try again. If the issue returns, replace the sensor.

0.2V - Sensor error, internal fault
Suggestion: Replace the sensor.

4.8V - Sensor/Fuel error, compensation out of range
Suggestion: Remove fuel from the car if possible, flush fuel system with known good fuel and see if issues returns. If persists, replace the sensor.

4.9V - Fuel error (water, debris)
Suggestion: Remove fuel from the car if possible, flush fuel system with known good fuel. While water in your fuel is the most common cause, debris or some fuel additives may prevent ethanol sensors from getting a proper reading if in high enough concentration.

5.0V - Wiring short
Suggestion: Check to wire for damage, short.

Fuel pressure sensor voltage codes: (Non DIT Only)

C0BB3 - Fuel Pressure Sensor Voltage Low Input - Enabled if input voltage is below Fuel Pressure Sensor DTC Limit (Voltage)(Low)(C0BB3 DTC) continuously until Fuel Pressure Sensor DTC Delay (Low)(C0BB3 DTC) expires.
C0BB4 - Fuel Pressure Sensor Voltage High Input - Enabled if input voltage is below Fuel Pressure Sensor DTC Limit (Voltage)(High)(C0BB4 DTC) continuously until Fuel Pressure Sensor DTC Delay (High)(C0BB4 DTC) expires.

Verify voltage output from the Ethanol module to ECU using Accessport or Accesstuner live connect. Depending on which physical input you've connected the hardware to, check the corresponding Sensor Input Voltage monitor i.e. TGV L, TGV R, or Rear O2.
Is voltage in the appropriate range? COBB's fuel pressure sensor kit uses a 0.5-4.5 V range for normal operation. Other systems may use the full 0-5V range since they don't support error checking.

If you use a 0-5V system with an Accesstuner calibration that does not have the low and high limits set correctly for your hardware, you will throw a code when fuel pressure is in the low or high end of the sensor's range.

While you're at it, check to see if the voltage is sane for the estimated fuel pressure under current conditions. If not, you may have connected the fuel pressure sensor kit to a different input than your calibration expects i.e. hardware hooked up to TGV L and the calibration is set up for it to be hooked to TGV R.

Maximum safe ethanol content level exceeded: (DIT Only)

C0BB5 - Max. Safe Ethanol Concentration Exceeded - Enabled if Ethanol final exceeds the Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) threshold continuously until Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) Delay expires, while C0BB1 and C0BB2 are not set.

Each calibrator will need to decide what they deem to be the maximum safe ethanol content for the mechanical configuration and use.

Setting the Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) threshold to 100.00% will disable this check.

General Failure Code

COBBF - Map Programming Error - This error is caused by some type of corruption or error within the map that is reflashed to the ECU. Please try a different map or attempt to re-save the map in the latest version of the Accesstuner software. If you continue to have issues, please contact Cobb customer support with a memory snapshot (under Troubleshooting menu on Accessport) when the C0BBF code is present. DO NOT DRIVE OR OPERATE THE CAR IF THIS CODE IS PRESENT. Fatal engine damage can occur. Please have the vehicle towed to your home or preferred Protuner for diagnosis.

Copyright 2024 © COBB Tuning Products LLC. All Rights Reserved. |