Welcome to the North American Subaru Impreza Owners Club Thursday March 28, 2024
Home Forums Images WikiNASIOC Products Store Modifications Upgrade Garage
NASIOC
Go Back   NASIOC > NASIOC Technical > Engine Management & Tuning

Welcome to NASIOC - The world's largest online community for Subaru enthusiasts!
Welcome to the NASIOC.com Subaru forum.

You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, free of charge, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, so please join our community today!

If you have any problems with the registration process or your account login, please contact us.







* As an Amazon Associate I earn from qualifying purchases. 
* Registered users of the site do not see these ads. 
Reply
 
Thread Tools Display Modes
Old 10-05-2016, 02:39 AM   #1
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default DIY Flex Fuel Kit for under $100

Update: 10/17/2016 - if you followed the previous schematic, the resistor and cap were reversed. The correction has been made and the new schematic uploaded.
Update: 10/26/2016 - if you used a 10uF capacitor before, switch to a 0.1uF capacitor on your RC filter
Update: 10/31/2016 - this DIY just got simpler... no need for an RC filter, just use a 3.3k ohm resistor on the Pin 11 output and you'll be fine.

First, credit to Daniel aka Dala on the sr20 forum for getting the ball rolling on this and for the help with trouble shooting and general "walk me through this" stuff. His thread on using an Arduino board to create a Flex Fuel ethanol content analyzer is a helpful resource, but it is a bit cluttered and there were a couple things wrong in that thread and in the code. Here is the link for reference. http://www.sr20-forum.com/nismotroni...or-output.html


The problem? - Flex Fuel sensors on the market put out information in the form of a frequency between 50-150hz, so they don't put out 5v, which is what many engine management systems need. In this case we're talking about the Cobb Accessport V3.


The solution - program an Arduino Nano board to convert the signal into a pulse width modulated (pwm) signal that feeds a voltage number that the AP can use to interpret the ethanol content.

Things you'll need (I'll leave out basics like wire, solder iron, etc):
- Arduino Nano $7 (Amazon link)
- 4.7k ohm resistor $1
- 3.3k ohm resistor $1
- 8v 1amp Voltage Regulator $2 (I used this one)
- Delphi connector plus terminals seals and locks $2.70 plus $7.99 shipping. (O'Reilly Auto actually had them with a pigtail in stock)
- Flex Fuel Sensor GM Part Number 13577429 (Amazon) or 13577379 $50 - I even picked an extra one up from the dealership for $65.
- Dorman 800-082 3/8" quick fuel connects if using -6an fuel lines $8.73
- Rear O2 sensor connector $8-$10
- TGV Connector $7-$10


Let's start with how to wire the Arduino board.
- Power the Arduino using an 8v Voltage Regulator. The VR's 12v source will come from the Rear O2 +12v along with the Rear O2 ground wire, or use a known good +12v switched source and ground wherever makes the most sense (can also use a relay - make sure it's switched by ignition "On"). The center pin of the VR will ground to the Nano labeled "GND" (where you will also solder your rear O2 ground wire), and the VR's 8v output will go to "VIN" on the Nano.
- Your sensor's output will be received by input pin 8 on the Arduino Nano board. It will first need a +5v pull-up resistor using the 5v pin on the Nano and a 4.7k ohm resistor.
- The Nano will output through a pwm pin, either pin 3 or pin 11. We will use pin 11 in this case.
- To make the pwm from pin 11 a more steady voltage for the ECU to read, we need to use a 3.3k ohm resistor.
- The output from pin 11 will then feed into a free TGV input pin/wire. In my case I used the LH side TGV.




*The connector for the sensor isn't a direct fit, so you'll have to trim the two tabs that keep it from sliding together.


Next, the code:
- I have included the Serial.print functions so that you can troubleshoot using the serial monitor window in the Arduino IDE on your computer.
Code:
/*******************************************************
This program will sample a 50-150hz signal depending on ethanol 
content, and output a 0-5V signal via PWM.
The LCD (for those using an Arduino Uno + LCD shield) will display ethanol content, hz input, mv output, fuel temp

Connect PWM output to TGV. 3.3kOhm resistor works fine.

Input pin 8 (PB0) ICP1 on Atmega328
Output pin 3 or 11, defined below

If LCD Keypad shield is used, solder jumper from Pin 8 - Pin 2,
and snip leg from pin 8 http://i.imgur.com/KdlLmye.png
********************************************************/

// include the library code:
#include <LiquidCrystal.h> //LCD plugin

// initialize the library with the numbers of the interface pins 
LiquidCrystal lcd(2, 9, 4, 5, 6, 7); //LCD Keypad Shield

int inpPin = 8;     //define input pin to 8
int outPin = 11;    //define PWM output, possible pins with LCD and 32khz freq. are 3 and 11 (Nano and Uno)

//Define global variables
volatile uint16_t revTick;    //Ticks per revolution
uint16_t pwm_output  = 0;     //integer for storing PWM value (0-255 value)
int HZ;                   //unsigned 16bit integer for storing HZ input
int ethanol = 0;              //Store ethanol percentage here
float expectedv;              //store expected voltage here - range for typical GM sensors is usually 0.5-4.5v

int duty;                     //Duty cycle (0.0-100.0)
float period;                 //Store period time here (eg.0.0025 s)
float temperature = 0;        //Store fuel temperature here
int fahr = 0;
int cels = 0;
static long highTime = 0;
static long lowTime = 0;
static long tempPulse;

void setupTimer()	 // setup timer1
{           
	TCCR1A = 0;      // normal mode
	TCCR1B = 132;    // (10000100) Falling edge trigger, Timer = CPU Clock/256, noise cancellation on
	TCCR1C = 0;      // normal mode
	TIMSK1 = 33;     // (00100001) Input capture and overflow interupts enabled
	TCNT1 = 0;       // start from 0
}

ISR(TIMER1_CAPT_vect)    // PULSE DETECTED!  (interrupt automatically triggered, not called by main program)
{
	revTick = ICR1;      // save duration of last revolution
	TCNT1 = 0;	     // restart timer for next revolution
}

ISR(TIMER1_OVF_vect)    // counter overflow/timeout
{ revTick = 0; }        // Ticks per second = 0


void setup()
{
  Serial.begin(9600);
  pinMode(inpPin,INPUT);
  setPwmFrequency(outPin,1); //Modify frequency on PWM output
 setupTimer();
   // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Initial screen formatting
  lcd.setCursor(0, 0);
  lcd.print("Ethanol:    %");
  lcd.setCursor(0, 1);
  lcd.print("     Hz       C");
}
 
void loop()
{
  getfueltemp(inpPin); //read fuel temp from input duty cycle
  
  if (revTick > 0) // Avoid dividing by zero, sample in the HZ
		{HZ = 62200 / revTick;}     // 3456000ticks per minute, 57600 per second 
		else                     
		{HZ = 0;}                   //needs real sensor test to determine correct tickrate

  //calculate ethanol percentage
		if (HZ > 50) // Avoid dividing by zero
		{ethanol = (HZ-50);}
		else
		{ethanol = 0;}

if (ethanol > 99) // Avoid overflow in PWM
{ethanol = 99;}

  expectedv = ((((HZ-50.0)*0.01)*4)+0.5);
  //Screen calculations
  pwm_output = 1.1 * (255 * (expectedv/5.0)); //calculate output PWM for ECU
  
  lcd.setCursor(10, 0);
  lcd.print(ethanol);
  
  lcd.setCursor(2, 1);
  lcd.print(HZ);
  
  lcd.setCursor(8, 1); 
  lcd.print(temperature); //Use this for celsius

  //PWM output
  analogWrite(outPin, pwm_output); //write the PWM value to output pin

  delay(100);  //make screen more easily readable by not updating it too often

  Serial.println(ethanol);
  Serial.println(pwm_output);
  Serial.println(expectedv);
  Serial.println(HZ);
  delay(1000);

  
}

void getfueltemp(int inpPin){ //read fuel temp from input duty cycle
highTime = 0;
lowTime = 0;

tempPulse = pulseIn(inpPin,HIGH);
  if(tempPulse>highTime){
  highTime = tempPulse;
  }

tempPulse = pulseIn(inpPin,LOW);
  if(tempPulse>lowTime){
  lowTime = tempPulse;
  }

duty = ((100*(highTime/(double (lowTime+highTime))))); //Calculate duty cycle (integer extra decimal)
float T = (float(1.0/float(HZ)));             //Calculate total period time
float period = float(100-duty)*T;             //Calculate the active period time (100-duty)*T
float temp2 = float(10) * float(period);      //Convert ms to whole number
temperature = ((40.25 * temp2)-81.25);        //Calculate temperature for display (1ms = -40, 5ms = 80)
int cels = int(temperature);
cels = cels*0.1;
float fahrtemp = ((temperature*1.8)+32);
fahr = fahrtemp*0.1;

}

void setPwmFrequency(int pin, int divisor) { //This code snippet raises the timers linked to the PWM outputs
  byte mode;                                 //This way the PWM frequency can be raised or lowered. Prescaler of 1 sets PWM output to 32KHz (pin 3, 11)
  if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
    switch(divisor) {
      case 1: mode = 0x01; break;
      case 8: mode = 0x02; break;
      case 64: mode = 0x03; break;
      case 256: mode = 0x04; break;
      case 1024: mode = 0x05; break;
      default: return;
    }
    if(pin == 5 || pin == 6) {
      TCCR0B = TCCR0B & 0b11111000 | mode;
    } else {
      TCCR1B = TCCR1B & 0b11111000 | mode;
    }
  } else if(pin == 3 || pin == 11) {
    switch(divisor) {
      case 1: mode = 0x01; break;
      case 8: mode = 0x02; break;
      case 32: mode = 0x03; break;
      case 64: mode = 0x04; break;
      case 128: mode = 0x05; break;
      case 256: mode = 0x06; break;
      case 1024: mode = 0x7; break;
      default: return;
    }
    TCCR2B = TCCR2B & 0b11111000 | mode;
  }
}
- Download drivers and the IDE interface to your computer and make sure you have communication with your Arduino via USB.
- Upload the sketch to your Arduino Nano.

Powering the Arduino Nano and the Flex Fuel Sensor:
- For powering the Arduino, we need to drop down from +12v to +7-9v for the Arduino to safely operate. We will use an 8v 1amp voltage regulator. Another solution is a simple USB car charger that outputs +5v for cell phones, etc. Try to stick with 5v and 1amp (1000mah).
- Pull your +12v using the rear O2 sensor (I cut the harness off of my stock O2 sensor since it was deleted to make way for AEM UEGO). This will power both the Arduino and the Flex Fuel Sensor. (if you're not sure which wire is +12v, use a simple voltage/circuit tester to check the pins on the harness)



Connecting to TGV wire
- Make sure to find the right pin on your TGV wire harness. This is what will use the output from pin 11 from the Arduino Nano.


***Testing (for if you feel like getting techie, otherwise if everything works when you plug it all in, then you're golden!)
- For quick testing, you can monitor your TGV voltage on your AP or engine management software to see if the Arduino is working (0.5v = 0% ethanol, 2.5v = 50%, etc.), otherwise start by changing your map to setup for Ethanol (I had my tuner do it for me) and see if it looks accurate by monitoring "Ethanol Raw" or "Ethanol Final". Cobb's Flex Fuel Tuning Guide
- Make sure your Arduino's power light comes on when you turn your ignition to "On"
- If you confirmed that the Arduino is receiving power, disconnect the wires that are powering the unit and plug in a USB cable from your Laptop.
- With your laptop connected to the Arduino, open Arduino IDE software on your computer and hit Ctrl+Shift+M to open the monitor window. Turn the ignition back to "On". Every second it will refresh with 4 things being monitored; Ethanol(%), PWM output, expected voltage output (AP should reflect the same number as this), and Hz.

- You may not have any numbers show up in the window, or they may look way off, so this is important***8230; YOU MUST USE SOMETHING TO GROUND THE ARDUINO TO THE CAR when the USB cable is plugged into the laptop, otherwise it will not pull readings from the sensor. THIS IS NOT TRUE when the Arduino is powered by the car. I used my circuit tester and connected the alligator clip straight to the negative battery terminal, then touch the outer USB housing to ground it. Once you do this, the serial monitor window should be scrolling some numbers.

- The math for deriving ethanol content from the Hz frequency of the sensor is simple. E = Hz-50. For example, 100Hz - 50 = E50. 150Hz - 50 = E100
- If you have an oscilloscope or multimeter you can confirm that the Arduino is matching the exact frequency of the sensor output (more on that if somebody runs into a problem on this).
- The voltage range will be 0.5v for 0% ethanol, and 4.5v for E100

Drive around and make sure everything is fine. Content should be within 1% accuracy.

If all is well, then congratulations! You just saved yourself $500!!!
Finish up by enclosing everything in a waterproof container and using strain reliefs for the wiring going into the box. Small marine containers or similar products meant for keeping your cell phone safe when around water are good options for enclosing your Arduino Nano.

*For adding in an LCD, the code is already in the sketch, but you'll need to go to the link provided to the sr20 forum on how to jump a pin to make the LCD work (using Arduino Uno)

**Also included in the code is output for fuel temperature, which I think Subarus already have??? So that's not really necessary, and your other TGV is better off being used for reading fuel pressure.

***Voltage output from Nano board to Nano board may vary a few percent. If your Ethanol number looks a bit off (ie- you know your ethanol % should be 85% but it reads 81%), then you'll just need to edit the pwm_output multiplier in the code. Edit this line pwm_output = 1.1 * (255 * (expectedv/5.0)); //calculate output PWM for ECU and change 1.1 up or down to get the correct output (note- you should only need to adjust in 0.01 increments)



Last edited by SurfGuruJeff; 06-18-2020 at 10:56 AM.
SurfGuruJeff is offline   Reply With Quote
Old 10-05-2016, 08:53 AM   #2
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default





HZ from FF Sensor can be measured with a multimeter and using a 4.7k pull-up resistor from the +12v

Last edited by SurfGuruJeff; 10-31-2016 at 05:09 PM.
SurfGuruJeff is offline   Reply With Quote
Old 10-05-2016, 01:39 PM   #3
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

TGV Connector I believe is this http://www.bmotorsports.com/shop/pro...oducts_id/3202

anyway good to see others have come up with a cheaper alternative. nice work
chchchino is offline   Reply With Quote
Old 10-05-2016, 02:43 PM   #4
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by chchchino View Post
TGV Connector I believe is this http://www.bmotorsports.com/shop/pro...oducts_id/3202

anyway good to see others have come up with a cheaper alternative. nice work
Nice find! I'm going to order one. They charge an extra $3 for small quantity orders, though.
SurfGuruJeff is offline   Reply With Quote
Old 10-05-2016, 03:29 PM   #5
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

might as well get 2, and do a fuel pressure sensor setup. Im not sure which was the correct size 5/16 or 3/8 but you can easily find either size once you confirm the size of the fitting on the factory fuel rail.

5/16
https://www.summitracing.com/parts/nex-16190/overview/

3/8
https://www.summitracing.com/parts/nex-16185/overview/

with the adapter, you can go any pressure sensor setup you like.

Last edited by chchchino; 10-05-2016 at 03:38 PM.
chchchino is offline   Reply With Quote
Old 10-05-2016, 03:40 PM   #6
lookylookitzadam
Scooby Specialist
 
Member#: 348254
Join Date: Feb 2013
Chapter/Region: SCIC
Location: San Diego, CA
Vehicle:
2013 WRX
SWP

Default

This is awesome! Going to read into it a bit more later.
lookylookitzadam is offline   Reply With Quote
Old 10-07-2016, 10:00 AM   #7
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default



I read in Cobb's Flex Fuel Tuning guide this "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"

It seems that - if you have deleted your TGVs - you can just use the pin in the above picture to feed power to the Arduino instead of borrowing power from the rear O2 +12v wire and then adding a USB car charger to step it down to +5v. This get's rid of a few feet of cable, and frees up space inside the waterproof box (link) to house to Arduino.



I'll be re-writing up this how-to based on using the TGV plug for the 5v source after I test it out. The option to use 12v from another source with the USB car charger step-down will be the secondary option.

***Update October 26, 2016 --- using the +5v source from the TGV did not have enough amperage to feed the Arduino's output needs, so do not use the TGV +5v source. Use a USB car charger, or an 8v voltage regulator hooked to a +12v switched source (rear O2 sensor wiring).

Last edited by SurfGuruJeff; 10-26-2016 at 07:03 PM.
SurfGuruJeff is offline   Reply With Quote
Old 10-07-2016, 10:35 AM   #8
peekeesh
Scooby Newbie
 
Member#: 316476
Join Date: Apr 2012
Chapter/Region: SCIC
Vehicle:
12 WRX
WRB

Default

Nice! Can this be tuned with cobb?
peekeesh is offline   Reply With Quote
Old 10-07-2016, 10:37 AM   #9
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by peekeesh View Post
Nice! Can this be tuned with cobb?
Uhhhhhhhhh....
SurfGuruJeff is offline   Reply With Quote
Old 10-07-2016, 11:24 AM   #10
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

Quote:
Originally Posted by SurfGuruJeff View Post
Uhhhhhhhhh....
lol

If you wanted to loose the adruino and get something that takes 12v native, you could try something like this:

http://www.eidusa.com/Interface_Boards_F_to_V.htm

or build something off the millions of frequency to voltage circuit board schematics on google.

The only issues I could see would be the the voltage scale output on this board. Although this could be changed with the "Ethanol Sensor DTC Limit (Voltage)(High)/(Low)" table and the "Ethanol Sensor Calibration" table.
chchchino is offline   Reply With Quote
Old 10-07-2016, 12:18 PM   #11
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by chchchino View Post
lol

If you wanted to loose the adruino and get something that takes 12v native, you could try something like this:

http://www.eidusa.com/Interface_Boards_F_to_V.htm

or build something off the millions of frequency to voltage circuit board schematics on google.

The only issues I could see would be the the voltage scale output on this board. Although this could be changed with the "Ethanol Sensor DTC Limit (Voltage)(High)/(Low)" table and the "Ethanol Sensor Calibration" table.
Yeah, that's always an option. I reckon you'd have to find one that had a frequency range specific to this application (50-150hz to 0.5-4.5v), right?

The nice thing about the Arduino is that it is relatively simple and cheap, and it gives you a cheap way to view Ethanol content and fuel temp if you get the LCD with it (Dala got the Arduino+LCD combo for $15 on ebay). This is helpful if you don't plan on actually using an auto-adjustment feature in your tuning for ethanol content change. If your ethanol changes, just go load a different map.

The nearest thing to this is the Zeitronix unit for $200 just to read and display ethanol content (not including a sensor) with 0-5v outputs for ethanol and fuel temp to your ECU.

http://www.ebay.com/itm/UNO-R3-BOARD...3D221735739266
SurfGuruJeff is offline   Reply With Quote
Old 10-08-2016, 12:52 PM   #12
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

yea that site lists a 0-150hz to 0.5v module. you'd probably need to rescale for it in ATR so you can keep the custom cobb DTCs. getting a gauge with the arduino does make it a good bargain, but having true flexfuel is the bees knees.

besides, the ethanol content only changes within the first 5 min after a fill up while you get fuel pumping and mixing. its not gonna change mid drive. seeing that we are discussing injecting the 0-5v signal into the ecu, you would have the ability to check ethanol content on the AP even if you didnt enable the flexfuel compensations.

anyways I hope this spurs others to try and experiment with their own flexfuel modules. this can only drive innovation.
chchchino is offline   Reply With Quote
Old 10-08-2016, 12:56 PM   #13
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by chchchino View Post
yea that site lists a 0-150hz to 0.5v module. you'd probably need to rescale for it in ATR so you can keep the custom cobb DTCs. getting a gauge with the arduino does make it a good bargain, but having true flexfuel is the bees knees.

besides, the ethanol content only changes within the first 5 min after a fill up while you get fuel pumping and mixing. its not gonna change mid drive. seeing that we are discussing injecting the 0-5v signal into the ecu, you would have the ability to check ethanol content on the AP even if you didnt enable the flexfuel compensations.

anyways I hope this spurs others to try and experiment with their own flexfuel modules. this can only drive innovation.
Amen! Yeah, I would love a smaller simpler solution. It seems that Cobb just made their own circuit board and it is very clean. Looks really good.

Since I'm a total newb with electronics, I didn't undertake figuring out the exact way to wire up all the components.
SurfGuruJeff is offline   Reply With Quote
Old 10-08-2016, 04:06 PM   #14
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

arguably the simplest solution is to buy the universal blueflex unit here and just wire in a tgv connector and 12v power. i believe this was sold previously and now the creator has pulled the 08+ compatible version from the market due to a agreement with cobb. although not sub 100, definitely sub 600 out the door with a sensor and some custom lines you can DIY.
chchchino is offline   Reply With Quote
Old 10-08-2016, 05:57 PM   #15
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by chchchino View Post
arguably the simplest solution is to buy the universal blueflex unit here and just wire in a tgv connector and 12v power. i believe this was sold previously and now the creator has pulled the 08+ compatible version from the market due to a agreement with cobb. although not sub 100, definitely sub 600 out the door with a sensor and some custom lines you can DIY.
That's a nice little signal converter and the bluetooth is a nice touch. I probably would have just bought that had I known about it! Haha
SurfGuruJeff is offline   Reply With Quote
Old 10-10-2016, 06:12 PM   #16
SouthernScoobie
Scooby Newbie
 
Member#: 452491
Join Date: Aug 2016
Vehicle:
2009 Impreza WRX
Grey

Default

Someone please inform a noob..

This is a flex fuel viewing kit, correct? This doesn't actually allow for tuning of flex fuel on the fly, does it?
SouthernScoobie is offline   Reply With Quote
Old 10-10-2016, 06:18 PM   #17
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by SouthernScoobie View Post
Someone please inform a noob..

This is a flex fuel viewing kit, correct? This doesn't actually allow for tuning of flex fuel on the fly, does it?
Wrong, actually. If your Engine Management allows for Flex Fuel tuning (like Cobb), then this is what you will need to tell it what the Ethanol content is. It does so by feeding a 0.5v-4.5v signal to an ECU input (in this case either the Left or Right TGV signal wire).

0.5v = 0% ethanol, and 4.5v = 100% ethanol.

You can't just plug a Flex Fuel sensor straight to your Engine Management (with the exception of a couple standalone units), so this board converts the sensor's frequency into a voltage, which the ECU/Engine Management can read.
SurfGuruJeff is offline   Reply With Quote
Old 10-10-2016, 06:25 PM   #18
SouthernScoobie
Scooby Newbie
 
Member#: 452491
Join Date: Aug 2016
Vehicle:
2009 Impreza WRX
Grey

Default

Quote:
Originally Posted by SurfGuruJeff View Post
Wrong, actually. If your Engine Management allows for Flex Fuel tuning (like Cobb), then this is what you will need to tell it what the Ethanol content is. It does so by feeding a 0.5v-4.5v signal to an ECU input (in this case either the Left or Right TGV signal wire).

0.5v = 0% ethanol, and 4.5v = 100% ethanol.

You can't just plug a Flex Fuel sensor straight to your Engine Management (with the exception of a couple standalone units), so this board converts the sensor's frequency into a voltage, which the ECU/Engine Management can read.
Understood. So the cobb engine management would be the accessport?

So if I put this together and took it to a tuner, they would be able to tune it just like if I had the cobb flex kit? I've been confused about how the flex fuel tune works anyway..
SouthernScoobie is offline   Reply With Quote
Old 10-10-2016, 06:31 PM   #19
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by SouthernScoobie View Post
Understood. So the cobb engine management would be the accessport?

So if I put this together and took it to a tuner, they would be able to tune it just like if I had the cobb flex kit? I've been confused about how the flex fuel tune works anyway..
If your tuner already does Flex Fuel tuning, then yes.
SurfGuruJeff is offline   Reply With Quote
Old 10-10-2016, 06:48 PM   #20
chchchino
Scooby Newbie
 
Member#: 303355
Join Date: Dec 2011
Default

I would also talk to your tuner first about it. Being this is 3rd party hardware, some may be adverse to the idea, and if any issues pop up your the only one who will be able to troubleshoot it.
chchchino is offline   Reply With Quote
Old 03-27-2019, 03:11 PM   #21
mrderekmeier
Scooby Newbie
 
Member#: 499654
Join Date: Mar 2019
Default

Quote:
Originally Posted by SurfGuruJeff View Post
Wrong, actually. If your Engine Management allows for Flex Fuel tuning (like Cobb), then this is what you will need to tell it what the Ethanol content is. It does so by feeding a 0.5v-4.5v signal to an ECU input (in this case either the Left or Right TGV signal wire).

0.5v = 0% ethanol, and 4.5v = 100% ethanol.

You can't just plug a Flex Fuel sensor straight to your Engine Management (with the exception of a couple standalone units), so this board converts the sensor's frequency into a voltage, which the ECU/Engine Management can read.
I've built my Arduino Nano and will be outputting to JB4 ECU which reads ethanol content 0v = 0ethanol = 5v = 100% ethanol. Can someone please help me adjust the code? I'm not using Cobb (.5v-4.5v)
mrderekmeier is offline   Reply With Quote
Old 10-11-2016, 08:18 AM   #22
OralSTi
Scooby Newbie
 
Member#: 439255
Join Date: Jan 2016
Default

Looks awesome! Definitely considering this.

Just figured I'd chime in though, although it's not a major portion of the cost, the Arduino can be replaced with a much smaller version at no sacrifice. It's called an Arduino Nano and you can buy them for about $3.50 on eBay. Both are ATMega328P chips, one just has a slower USB to UART so the program uploads slower.
OralSTi is offline   Reply With Quote
Old 10-11-2016, 09:31 AM   #23
Titter
Scooby Specialist
 
Member#: 416107
Join Date: Mar 2015
Chapter/Region: International
Location: Ontario, Canada
Vehicle:
2002 WRX Wagon
EJ207 Spec C 4EAT

Default

you need to headline this post with "NOT FOR NOOBS"

simply amazing. ty for sharing. very well put together.
Titter is offline   Reply With Quote
Old 10-11-2016, 09:59 AM   #24
SouthernScoobie
Scooby Newbie
 
Member#: 452491
Join Date: Aug 2016
Vehicle:
2009 Impreza WRX
Grey

Default

Quote:
Originally Posted by Titter View Post
you need to headline this post with "NOT FOR NOOBS"

simply amazing. ty for sharing. very well put together.
I believe the writeup makes it noob friendly. I asked my question because a previous post made me question the use exactly. I've spent hundreds of hours soldering, writing code (c++, HTML, java) and playing with projects like this. I just was unsure if what it gave was ACTUAL useable information for the ecu.

This may not have been directed at me, but oh well. Noobs have to try too or we'll never learn.
SouthernScoobie is offline   Reply With Quote
Old 10-11-2016, 12:16 PM   #25
SurfGuruJeff
Scooby Specialist
 
Member#: 148974
Join Date: May 2007
Chapter/Region: SCIC
Location: San Diego
Vehicle:
2017 Forester XT
Prodigal STi 600whp

Default

Quote:
Originally Posted by OralSTi View Post
Looks awesome! Definitely considering this.

Just figured I'd chime in though, although it's not a major portion of the cost, the Arduino can be replaced with a much smaller version at no sacrifice. It's called an Arduino Nano and you can buy them for about $3.50 on eBay. Both are ATMega328P chips, one just has a slower USB to UART so the program uploads slower.
Ooooh, I definitely want to see what I can do with the Nano. Smaller is certainly better. I think it just comes down to rearranging which pins handle which job.

Quote:
Originally Posted by Titter View Post
you need to headline this post with "NOT FOR NOOBS"

simply amazing. ty for sharing. very well put together.
Haha. I know it's a bit complicated, but it's one of those projects that you just start at the beginning with and chip away at each step until "voila!"
SurfGuruJeff is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

All times are GMT -4. The time now is 04:09 AM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by Searchlight © 2024 Axivo Inc.
Copyright ©1999 - 2019, North American Subaru Impreza Owners Club, Inc.

As an Amazon Associate I earn from qualifying purchases.

When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission
Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.