Megasquirt-3 MS3 Flex Fuel E85 etc.


This page has now been superceded, please click here

Introduction - Settings - Wiring - Advanced Settings


The flex fuel system allows the use of E85 or other ethanol and petroleum blended fuel mixes to be used when a special fuel composition. sensor is fitted. The support is specifically based around the use of a GM flex fuel sensor which outputs a varying frequency signal depending on the fuel composition. This information can then be used to add more fuel and advance timing. Ethanol blends need more fuel volume than unblended fuel and different advance.
The system uses a two-point system (low/high) and interpolates between the values.


Flex fuel sensor - this enables or disables the Flex Fuel system
Sensor port - where the sensor is connected - see the wiring section
Temperature input - whether to use the temperature from the Flex sensor itself or an alternative sensor input configured through 'generic sensors'
Sensor frequency - the low and high frequencies generated by the sensor (e.g. 50Hz, 150Hz for the GM sensor)
Ethanol mix - the ethanol percentage corresponding to the low and high frequencies.
Fuel multiplier - the fuel multiplier. 100% means no change. The default of 163% for fully ethanol gives 63% additional fuel.
Timing addition - the timing addition in degrees. E85 burns more slowly than pure gasoline and will require more advance.
Sensor PW - the pulsewidth from the sensor at low and high temperatures (1.0, 5.0ms for GM)
Fuel temp - the low/high temperatures at low/high pulsewidths
Fallback fuel multiplier - this multiplier is used if the sensor sends an out of range frequency. (Faulty sensor or an error condition.)
Fallback timing addition - timing to add under fault conditions. (Expected to be 0 or negative.)

It is expected that for 0% ethanol (the left hand column), the settings will use 100% fuel and 0deg timing addition, this means that the basic fuel and timing are in operation. For 100% ethanol (the right hand column) the fuel is scaled up and the timing advanced.
This is the 'simple' control method. See later for a more complex blended table method.
The fallback setting should be chosen so that in the case of a failed sensor and an unknown fuel mix, you protect your engine from damage. The default settings richen the mixture as if fully ethanol and do not advance the timing. A negative 'addition' will retard the timing.


The simplest wiring method is using the 'Flex' input on the MS3X. This allows a direct connection to the fuel composition sensor. (The CPU protection is on the MS3 card itself for this input.)
The DIYer may choose to use the other available inputs 'PE0/JS7' or 'JS11' but these require that you build a protective circuit. Note that the layout shown in the Megamanual is unsafe and offers the CPU no protection.

The sensor connections, looking into the sensor, from left to right, are:

  • Pin A: Ground, typically the white wire in the pigtail,
  • Pin B: +12 Volt supply (pink), and
  • Pin C: Output signal, (purple).

    Advanced Settings
    1.2.x firmware required

    The basic settings shown above allow for a straightforward fuel and timing change as ethanol percentage changes. For many installs this may be sufficient. For additional control you may choose to enable table blending based upon the ethanol percentage reported by the sensor. This allows you to develop a pure gasoline tune (VE1) and a pure E85 tune (VE3) and then blend between them. The same applies to ignition timing and boost - with closed loop boost you are able to target more boost with higher ethanol percentages. Be aware of the additional complexity that comes with this additional control, it is advised that the basic method is used initially.

    When using the blended tables method, it is suggested that the fuel and timing changes in the main flex screen are cancelled out. i.e. fuel multiplier low/high are both set to 100% and timing addition low/high are both set to zero. With these settings the blended fuel and spark tables will be in full control.
    While the examples show all three tables being blended, you could choose to blend one or two depending on your needs.
    settings for blending

    Enable blended fuel and spark tables
    enabling fuel/spark blending

    Enable blended boost tables in turbo applications.
    enabling boost blending

    For the three table sets, define blend curves. This example gives a linear blend between E10 and E82. Fuel is controlled fully by VE1 at 10% ethanol and below. Fuel is controlled fully by VE3 at 82% ethanol and above. The curve can be adjusted to suit your application.
    enabling fuel/spark blending

    Having enabled the blended tables and defined the curves, you need to define the second table sets.

    One method to copy a complete table is to use File > Save Dialog Settings on say VE1, then open VE3 and File > Load Dialog Settings and load in the file you just saved.

    Having configured your settings, as ever you should proceed with caution - operate the engine gently and review datalogs to confirm that fuel, timing and boost are behaving as expected. For tuning it is expected that you will need to tune on fully gasoline (E10) to develop good VE1, Spk1, Boost1 tables. Then tune fully on E85 to develop good VE3, Spk3, Boost2 tables. If attempting to use auto-tune, ensure that the correct tables are being adjusted. Time on the dyno is likely a good investment.

    For background information see also the Table Blending section.

    If you have a question, comment, or suggestion for this FAQ please post it on the forum.

    No part of this manual may be reproduced or changed without written permission from James Murray and Ken Culver.