Audizine - An Automotive Enthusiast Community

Page 1 of 3 123 LastLast
Results 1 to 40 of 85
  1. #1
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    DIY Arduino Ethanol Content Analyzer

    Guest-only advertisement. Register or Log In now!
    When I ordered my tune, I was offered the "race" tune as an addon, which gives you something like 30HP and 20ft-lbs. Now, I didn't figure I'd be spending extra money on race fuel, but ethanol...that I figured I could do. I started looking into mixing E85 and pump fuel and realized that having to test what percent ethanol you're getting was pretty tedious. I came across a few threads for Ethanol Content Analyzers, but they seemed pretty spendy for what they did. I started looking at ways to DIY one of these. Turns out it's not too tough and extremely cost effective if you want to put the time in. I've done a few variations of this. I don't have a P3 gauge, but that would be the easiest to make work I think. I ended up using a 16x2 LCD made for Arduino in my first version



    It worked, but it looked kinda janky and I didn't have a good place to mount it. The next revision was using a small OLED screen that worked great.



    It was hidden under the ashtray cover unless I needed to see it. Fast forward a few months, I had installed the RSNav 10.25" unit in my car and thought it'd be cool to display my ethanol content on the tablet through BT. I wrote an android app using MIT AppInventor (I'm not a code monkey) and picked up a BT module for use with arduino. This is my current iteration and it works great on the app.



    I'm providing instructions on how to do each of these 3 variations. First, parts you'll need:

    Arduino Nano - https://www.amazon.com/Gikfun-ATmega...dp/B00Q9YBO88/ (use this one if you want a cable with it: https://www.amazon.com/Arduino-Elego.../dp/B071NMBP4S)
    Ethanol Sensor - https://www.amazon.com/Composition-S.../dp/B07413HD6K
    Pigtail for sensor - https://www.amazon.com/Boost-Connect.../dp/B06XRDNZ4Z or http://www.oreillyauto.com/site/c/de...4785/N1590.oap
    Fuel fittings - https://www.amazon.com/gp/product/B000E323JO

    Optional:
    OLED screen - https://www.amazon.com/Diymall-Seria.../dp/B00O2KDQBE
    BlueTooth - https://www.amazon.com/gp/product/B00OLL9XH0

    You'll need some way to tap into 12V somewhere, that's up to you on how. whiped made a great post on how he installed his Str8shot ECA:

    http://www.audizine.com/forum/showth...ntent-Analyzer

    The only thing I did differently was run mine on the passenger side. There's no hole in the firewall there, but I drilled a small one, used some paint to seal the hole and then put a rubber grommet in place. The wire comes through right by the blower motor so it's hidden. I then tapped into the passenger fuse panel for accessory power.

    For the Android software, if you want to compile yourself you'll need to use MIT AppInventor

    For the Arduino code, you can use their web portal for everything: https://create.arduino.cc/editor

    You'll likely need to grab the libraries for Adafruit_SSD1306 and Adafruit_GFX if you're using the OLED.

    1. ECA with 0-5v output for use with P3 gauge or whatever

    Schematic:


    The code was not originally written by me. I saw no reason to re-invent the wheel when this guy's code worked. This was written for use with an output pin for a gauge (or ECU as this guy did) and with an 16x2 LCD. If you're not using the LCD you can strip that code out or just leave it, it won't hurt anything. I haven't really debugged this one as I just used it for the basis of my other projects. The guy does suggest putting a 3.3k ohm resister on the output pin to help smooth out voltage readings.

    Code:
    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 Output. 3.3kOhm resistor works fine.
    
    Input pin 8 (PB0) ICP1 on Atmega328
    Output pin 3 or 11, defined below
    
    ********************************************************/
    
    // 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);
    float fahrtemp = ((temperature*1.8)+32);
    }
    
    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;
      }
    }
    2. ECA with OLED output:

    Schemetic:


    Code:
    Code:
    // Adafruit_SSD1306 - Version: Latest 
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    
    #define OLED_RESET 4
    Adafruit_SSD1306 display(OLED_RESET);
    
    int inpPin = 8;
    
    //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 = 0;                  //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
    uint16_t voltage = 0;              //store display millivoltage here (0-5000)
    //temperature variables
    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;
    int celstemp = 0;
    float fahrtemp = 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() {
      setupTimer();
      Serial.begin(9600);
    
      // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)
      // init done
    }
    
    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                        // 62200 calibrated for more accuracy
      		{HZ = 0;}                   
      
        //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;}
      
        //Screen calculations
        display.display();
        display.clearDisplay();
        display.setCursor(0,16);
        display.setTextSize(2);
        display.setTextColor(WHITE);
        display.print("Eth:  ");
        display.print(ethanol);
        display.print("%");
        display.setCursor(0,36);
        display.print("Temp: ");
        display.print(cels);
        display.print("C");
        
        delay(250);
    }
    
    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)
      celstemp = int(temperature);
      cels = celstemp;
      fahrtemp = ((temperature*1.8)+32);
      fahr = fahrtemp;
    }
    3. ECA with BT output to Android app

    Schematic:


    A bunch of this code was also already written, but I pieced it together and made the timers work with each other. Here are links to the compiled APK and the AIA file for use with MIT AppInventor:

    APK: https://drive.google.com/file/d/0B6y...mFLuQB42KlntSQ
    AIA: https://drive.google.com/file/d/0B6y...ibqnQD2-lQ_Jqw

    If you use the AIA and compile the APK yourself, you can set the BT MAC address so that it always autoconnects on start. If you don't, you'll just have to manually select the device each time.

    Code:
    Code:
    /* Connect to Android via serial Bluetooth and demonstrate the use of interrupt
    
    A serial Bluetooth module is used to create a connection with an Android app (created with MIT AppInventor).
    Every n seconds (where n is a parameter set through the app) a status report is sent to the app.
    A simple command structure enables the app to send parameters and values to Arduino and the other way round.
    
    The circuit:
    * HC-06 Bluetooth Wireless Serial Port Module (slave) connected as follows:
        VCC <--> 3.3V
        GND <--> GND
        TXD <--> Pin 0 (Rx)
        RXD <--> Pin 1 (Tx)
    
    The Bluetooth module may interfere with PC to Arduino communication: disconnect VCC when programming the board
    
    created 2014 
    by Paolo Mosconi
    modified 2017 for use with Ethanol Content Analyzer by pabohoney1
    
    This example code is in the public domain.
    */
    
    // Serial Parameters: COM11 9600 8 N 1
    // \r or \n to end command line
    // Bluetooth is on Pin 0 & 1 @ 9600 speed
    
    // Command structure
    // CMD SECONDS=value
    // CMD STATUS
    
    // Status message structure
    // STATUS ETH|TEMP=value
    
    //Ethanol Global Vars
    int inpPin = 8;
    
    volatile uint16_t revTick;    //Ticks per revolution
    uint16_t pwm_output  = 0;      //integer for storing PWM value (0-255 value)
    int HZ = 0;                  //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
    uint16_t voltage = 0;              //store display millivoltage here (0-5000)
    //temperature variables
    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;
    int celstemp = 0;
    float fahrtemp = 0;
    static long highTime = 0;
    static long lowTime = 0;
    static long tempPulse;
    
    //BT Global Vars
    int maxSeconds = 1; // send status message every maxSeconds
    
    const int ledPin = 13;   // temperature led
    
    volatile int seconds = 0;
    volatile boolean statusReport = false;
    
    String inputString = "";
    String command = "";
    String value = "";
    boolean stringComplete = false;
    
    /*
    The following timer code is needed to initialize the timer interrupt and set it to fire every .016384 seconds, the slowest timer0 can go
    For detailed information see: http://www.instructables.com/id/Arduino-Timer-Interrupts/step1/Prescalers-and-the-Compare-Match-Register/
    */
    
    void setupBTTimer()  //setup timer0
    {
      // initialize Timer0 for 61Hz
      TCCR0A = 0;     // set entire TCCR1A register to 0
      TCCR0B = 0;     // same for TCCR1B
      // set compare match register to desired timer count:
      OCR0A = 255;
      // turn on CTC mode:
      TCCR0B |= (1 << WGM12);
      // Set CS10 and CS12 bits for 1024 prescaler:
      TCCR0B |= (1 << CS10);
      TCCR0B |= (1 << CS12);
      // enable timer compare interrupt:
      TIMSK0 |= (1 << OCIE1A);
    }
    
    
    void setupECATimer()	 // setup timer1
    {
      // initialize timer1 for 1HZ / 1s
    	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
    }
    
    
    void setup(){
      //start serial connection
      Serial.begin(9600);
    
      inputString.reserve(50);
      command.reserve(50);
      value.reserve(50);
      
      pinMode(ledPin, OUTPUT); 
      digitalWrite(ledPin, LOW);
      
      cli();          // disable global interrupts
      setupECATimer();
      setupBTTimer();
      sei();          // enable global interrupts
      
      //Serial.print("AT+NAMEArduinoBT");
    }
    
    ISR(TIMER0_COMPA_vect)
    {
      if (seconds++ >= (maxSeconds * 61)) { //multiply by 61 so that we can essentially get 1 per second
        statusReport = true;
        seconds = 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
    
    // interpret and execute command when received
    // then report status if flag raised by timer interrupt
    void loop(){
      int intValue = 0;
      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                        // 62200 calibrated for more accuracy
      		{HZ = 0;}
    
        //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;}
    
      if (statusReport) {  // Output ethanol% and temp in cels separated by comma
        Serial.print(ethanol);
        Serial.print(",");
        Serial.println(cels);
        statusReport = false;
      }
    
    }
    
    /*
      SerialEvent occurs whenever a new data comes in the
     hardware serial RX.  This routine is run between each
     time loop() runs, so using delay inside loop can delay
     response.  Multiple bytes of data may be available.
     */
    void serialEvent() {
      while (Serial.available()) {
        // get the new byte:
        char inChar = (char)Serial.read(); 
        //Serial.write(inChar);
        // add it to the inputString:
        inputString += inChar;
        // if the incoming character is a newline or a carriage return, set a flag
        // so the main loop can do something about it:
        if (inChar == '\n' || inChar == '\r') {
          stringComplete = true;
        } 
      }
    }
    
    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)
      celstemp = int(temperature);
      cels = celstemp;
      fahrtemp = ((temperature*1.8)+32);
      fahr = fahrtemp;
    }
    Last edited by pabohoney1; 05-05-2022 at 08:55 AM.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  2. #2
    Veteran Member Three Rings S4tranquility's Avatar
    Join Date
    Dec 29 2005
    AZ Member #
    9460
    Location
    Baltimore

    Wow this is really cool! Great work! I’ve looked into adding a gauge. I figured I’d pop it in the glovebox, but I like your location better.
    19 S4 Prestige & 17 Q7 Prestige.
    Former: Tesla P3D; 6MT 13 S4 (dual pulley); multiple B5 S4s
    B5 S4 120+ club; Sleeper, Stages, and more B5 S4 vids

  3. #3
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by S4tranquility View Post
    Wow this is really cool! Great work! I’ve looked into adding a gauge. I figured I’d pop it in the glovebox, but I like your location better.
    Getting it there is a bit of a pain in the ass but it's pretty clean if you're not using the ashtray already.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  4. #4
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    DIY Arduino Ethanol Content Analyzer

    Hmm... I don’t really need this since I only run 2-5 gallons of e85. But this makes an easy / cheeper alternative to going the p3 gauge route for e85 monitoring.

    Great write up.

    Edit: wondering with the Bluetooth option if there is any apps (iOS) that would allow this to work with each other ?


    Sent from my iPhone using Audizine

  5. #5
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by Jester2893 View Post
    Hmm... I don’t really need this since I only run 2-5 gallons of e85. But this makes an easy / cheeper alternative to going the p3 gauge route for e85 monitoring.

    Great write up.

    Edit: wondering with the Bluetooth option if there is any apps (iOS) that would allow this to work with each other ?


    Sent from my iPhone using Audizine
    I would doubt it. I don't know much about iOS, but I don't think there's a way to load apps outside of the store. Getting apps on the store is a chore from what I hear. Although, if you find an app that captures serial communication on the BT connection, the Arduino just sends ethanol and temp as two values separated by a comma. The serial info is in the Arduino code.

  6. #6
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    DIY Arduino Ethanol Content Analyzer

    Quote Originally Posted by pabohoney1 View Post
    I would doubt it. I don't know much about iOS, but I don't think there's a way to load apps outside of the store. Getting apps on the store is a chore from what I hear. Although, if you find an app that captures serial communication on the BT connection, the Arduino just sends ethanol and temp as two values separated by a comma. The serial info is in the Arduino code.
    I didn’t think so either, as I only know one Bluetooth sensor using the “fuel it” app. However, I don’t think it would work with the arduino, as the requesting code would be different I’m assuming.


    This looks fun, while I’m only running a chipwerke right now, going to order the parts for this as it looks fun.

    Thank you again!

    Edit: also is it a 3.3k or 4.7k ohm resistor for the output ? Schematic shows 4.7, but description says 3.3k
    Last edited by Jester2893; 01-22-2018 at 07:44 PM.

  7. #7
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by Jester2893 View Post
    I didn’t think so either, as I only know one Bluetooth sensor using the “fuel it” app. However, I don’t think it would work with the arduino, as the requesting code would be different I’m assuming.


    This looks fun, while I’m only running a chipwerke right now, going to order the parts for this as it looks fun.

    Thank you again!

    Edit: also is it a 3.3k or 4.7k ohm resistor for the output ? Schematic shows 4.7, but description says 3.3k
    The 4.7k is on the signal line from the 5.5v power, the additional 3.3k would go between the output pin and whatever the output is feeding, such as the P3 gauge. It's not in the schematic as I never actually built that version.

  8. #8
    Veteran Member Four Rings BG SQ5's Avatar
    Join Date
    Feb 21 2016
    AZ Member #
    369079
    My Garage
    '07 CBR1000RR
    Location
    PA

    Great write-up!


    Sent from my iPhone using Tapatalk
    '15 SQ5 Daytona Gray
    APR stage 2 104 oct (e40) - BG TCU (via HPT) - CTS s/c & FD 187 crank - Autotech HPFP - aFe filter/034 tube/modified box - MercRacing h/x - AWE Touring
    21" Forgestar CF10s w/295s - KW Street Comforts - 034 mounts, RSB & end links - ecodes - deAuto LEDs - P3 w/ECA - VCDS
    11.340 @ 120.63 (673 DA) - street trim
    11.012 @ 124.22 (-1346 DA) - track trim
    Instagram: @bg.sq5

  9. #9
    Veteran Member Four Rings whiped's Avatar
    Join Date
    Apr 05 2016
    AZ Member #
    371376
    Location
    Portland, OR

    Nicely done
    Geoff
    '13 S4 - Glacier White | DSG | 034 Stage 2++ | Current Setup
    452WHP / 443WTQ | 11.352 @ 119.26 | @dirtyaudi

  10. #10
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    WOW this is great. I really like the OLED and where you placed it. I blend E85 but here its E51 min and we all know it changes. Would be nice to see what I am really running as for a mix.
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  11. #11
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    WOW this is great. I really like the OLED and where you placed it. I blend E85 but here its E51 min and we all know it changes. Would be nice to see what I am really running as for a mix.
    This is precisely the reason I did it. There's a couple stations I use (one by work and one by the bar I frequent) and I wanted to be sure I was getting a good ~E30 mix.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  12. #12
    Veteran Member Four Rings Whitee's Avatar
    Join Date
    Aug 27 2014
    AZ Member #
    278226
    My Garage
    2001%20B5%20S4%20
    Location
    United States

    Quote Originally Posted by Jester2893 View Post
    Hmm... I don’t really need this since I only run 2-5 gallons of e85. But this makes an easy / cheeper alternative to going the p3 gauge route for e85 monitoring.

    Great write up.

    Edit: wondering with the Bluetooth option if there is any apps (iOS) that would allow this to work with each other ?


    Sent from my iPhone using Audizine
    What is needed to run this through the P3 gauge?


    Sent from my iPhone using Tapatalk
    2010 Prestige Ibis White S4
    Rock Euro | P3 Scanguage | EPL Stage 2

  13. #13
    Veteran Member Four Rings whiped's Avatar
    Join Date
    Apr 05 2016
    AZ Member #
    371376
    Location
    Portland, OR

    Just a P3 guage. You hook it up to one of the 5v analog inputs.
    Geoff
    '13 S4 - Glacier White | DSG | 034 Stage 2++ | Current Setup
    452WHP / 443WTQ | 11.352 @ 119.26 | @dirtyaudi

  14. #14
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    Quote Originally Posted by Whitee View Post
    What is needed to run this through the P3 gauge?


    Sent from my iPhone using Tapatalk
    Quote Originally Posted by whiped View Post
    Just a P3 guage. You hook it up to one of the 5v analog inputs.
    Exactly, I believe it’s the first schematic the OP posted and you wouldn’t need the screen or anything.


    I actually just ordered the parts to do the screen version until I one day purchase a p3 gauge.

  15. #15
    Veteran Member Four Rings Whitee's Avatar
    Join Date
    Aug 27 2014
    AZ Member #
    278226
    My Garage
    2001%20B5%20S4%20
    Location
    United States

    DIY Arduino Ethanol Content Analyzer

    Quote Originally Posted by Jester2893 View Post
    Exactly, I believe it’s the first schematic the OP posted and you wouldn’t need the screen or anything.


    I actually just ordered the parts to do the screen version until I one day purchase a p3 gauge.
    I’m new to this, wouldn’t u need to buy a content analyzer and then hook up this way?

    The one he posted on amazon would work via a 5v?


    Sent from my iPhone using Tapatalk
    2010 Prestige Ibis White S4
    Rock Euro | P3 Scanguage | EPL Stage 2

  16. #16
    Veteran Member Four Rings whiped's Avatar
    Join Date
    Apr 05 2016
    AZ Member #
    371376
    Location
    Portland, OR

    The issue is that the Ethanol Analyzer you buy outputs a PWM signal that isn't particularly helpful in its current state.

    All this Arduino is doing is taking that signal and converting it to its two analog signals. (Ethanol Content and fuel temperature)

    It then outputs this as a 0-5v signal. (0 = 0%, 5V = 100% using a linear scale) Which the P3 can then interpret and output.
    Geoff
    '13 S4 - Glacier White | DSG | 034 Stage 2++ | Current Setup
    452WHP / 443WTQ | 11.352 @ 119.26 | @dirtyaudi

  17. #17
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    Quote Originally Posted by Whitee View Post
    I’m new to this, wouldn’t u need to buy a content analyzer and then hook up this way?


    Sent from my iPhone using Tapatalk
    The content of this thread is the building of the “analyzer” portion using the supplied code and Arduino board.

    If you have the analyzer already, ie purchased it from Fuel-it, str8, amazon etc you would not need anything in this thread except the sensor itself. You would need to skip most of this and click the thread from “whipped” that shows you how to wire in a sensor to a analyzer to the p3 gauge.


    In this thread you still need a sensor and a screen/gauge, but the OP is showing you how to build the analyzer portion which normally goes for $90+.


    Sent from my iPhone using Audizine

  18. #18
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    Quote Originally Posted by pabohoney1 View Post
    This is precisely the reason I did it. There's a couple stations I use (one by work and one by the bar I frequent) and I wanted to be sure I was getting a good ~E30 mix.
    I just realized your in Phoenix like me so you face the same E85 I do. I get mine at the local Chevron and noticed the change last year.

    I do not use my ashtray, its an empty void that occasionally may hold a carwash ticket. That being said will the Nano also fit in there?
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  19. #19
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    I just realized your in Phoenix like me so you face the same E85 I do. I get mine at the local Chevron and noticed the change last year.

    I do not use my ashtray, its an empty void that occasionally may hold a carwash ticket. That being said will the Nano also fit in there?
    It can, what I did was run longer wires from the nano to the screen (and put a 4 pin connector on it so I could disconnect it easily) and left the nano under the console.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  20. #20
    Senior Member Three Rings
    Join Date
    Jan 30 2015
    AZ Member #
    312205
    Location
    SC

    If you wanted to use the Bluetooth version, can the whole setup stay in the engine bay? Is there a waterproof case available for the arduino nano and Bluetooth module?

    Sent from my SM-G920V using Tapatalk
    2014 S4 Prestige Monsoon Gray DSG / EPL ECU Tune/ EPL TCU Tune / 183mm Fluidampr / CTS 57mm / MercRacing HX / Autotech HPFP upgrade / AWE track 102mm / Modified stock airbox / aFe Pro Dry S / 034 transmission mount insert / 034 rear subframe inserts / CR-15 / H&R OE Sports w/ Bilstein B8 dampers / S5 Rotors / Michelin Pilot Sport 4S

  21. #21
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    Do you use special software to code it or does it see it as a drive and you copy and past what you have above?
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  22. #22
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by Johnson View Post
    If you wanted to use the Bluetooth version, can the whole setup stay in the engine bay? Is there a waterproof case available for the arduino nano and Bluetooth module?

    Sent from my SM-G920V using Tapatalk
    Yes, it could stay the engine bay as long as it's weatherproofed. You could use any case really..the nano and BT module are tiny.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  23. #23
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    Do you use special software to code it or does it see it as a drive and you copy and past what you have above?
    I edited the original post, but here it is:

    For the Android software (if you want to compile yourself) you'll need to use MIT AppInventor

    For the Arduino code, you can use their web portal for everything: https://create.arduino.cc/editor

    You'll likely need to grab the libraries for Adafruit_SSD1306 and Adafruit_GFX if you're using the OLED.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  24. #24
    Veteran Member Three Rings Dorny1's Avatar
    Join Date
    Feb 06 2010
    AZ Member #
    54596
    My Garage
    2010 Audi A4
    Location
    North Eastern, IA

    I'm nice thing about this is we could also connect in a boost tap and be able to put boost in and add in warnings and so forth. Been looking to do a arduino project for awhile.
    2010 Audi S4 GIAC Stage II, H&R Sport springs/Koni Yellows, USP Intake, AWE Track exhaust.
    (SOLD) 2001.5 Audi S4 Stage III

    "I love my mullet exhaust...Quiet in the front, Loud in the back"

  25. #25
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by Dorny1 View Post
    I'm nice thing about this is we could also connect in a boost tap and be able to put boost in and add in warnings and so forth. Been looking to do a arduino project for awhile.
    Yeah, if you're going that far, you could output to something larger, like this: https://www.amazon.com/WINGONEER-2-2.../dp/B06XXFWRPB I'm not saying that particular product will work, just saying there are options for larger screens.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  26. #26
    Veteran Member Three Rings Dorny1's Avatar
    Join Date
    Feb 06 2010
    AZ Member #
    54596
    My Garage
    2010 Audi A4
    Location
    North Eastern, IA

    Quote Originally Posted by pabohoney1 View Post
    Yeah, if you're going that far, you could output to something larger, like this: https://www.amazon.com/WINGONEER-2-2.../dp/B06XXFWRPB I'm not saying that particular product will work, just saying there are options for larger screens.
    I think the small screen wouldn't be bad to start. Plus wouldn't take much to add in the display (Comp sci guy) plus the small display makes it easier to install.
    2010 Audi S4 GIAC Stage II, H&R Sport springs/Koni Yellows, USP Intake, AWE Track exhaust.
    (SOLD) 2001.5 Audi S4 Stage III

    "I love my mullet exhaust...Quiet in the front, Loud in the back"

  27. #27
    Veteran Member Four Rings 303 Spartan's Avatar
    Join Date
    Aug 16 2016
    AZ Member #
    378675
    My Garage
    F87 M2 Comp
    Location
    Colorado

    Wow! Now this is a solid/fun project. I'm going to plan on tackling it myself when it warms up.
    Current:
    21' GMC 1500 Denali

    Gone:
    B9 RS5 Sportback / APR+
    F80 ///M3 | 6MT
    B8.5 S4 / EPL Dual Pulley Stage 2

  28. #28
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by Dorny1 View Post
    I think the small screen wouldn't be bad to start. Plus wouldn't take much to add in the display (Comp sci guy) plus the small display makes it easier to install.
    As a com sci guy you should take a look at the libraries for that OLED screen. There's lots of functionality to make things prettier. I only dabble in coding, I'm a systems guy by profession. I'd be curious how much you can optimize the code...it's certainly not pretty, but it works.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  29. #29
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    Well please share what you guys come up with. I am neither only coding I did was some C++ in college to get through a required class. Building circuits and things like that I am good with. My father was an electronics engineer in the semiconductor industry so I grew up playing with that kind of stuff.

    Perhaps you could add on or point the less educated to some step by steps on coding the thing. I want to build one, already have the items in my Amazon cart.
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  30. #30
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    Quote Originally Posted by cspcrx View Post
    Well please share what you guys come up with. I am neither only coding I did was some C++ in college to get through a required class. Building circuits and things like that I am good with. My father was an electronics engineer in the semiconductor industry so I grew up playing with that kind of stuff.

    Perhaps you could add on or point the less educated to some step by steps on coding the thing. I want to build one, already have the items in my Amazon cart.
    The arduino platform from what I hear is relatively easy when it comes to coding. The website the OP provides in the first link has the sources for different libraries and a lot of pre written code that can be adapted to various things.

    I’m waiting on the parts to build a mini oled version in a box that I can just keep stored away in my center console for now until one day I purchase the p3 gauge maybe.

  31. #31
    Veteran Member Three Rings Dorny1's Avatar
    Join Date
    Feb 06 2010
    AZ Member #
    54596
    My Garage
    2010 Audi A4
    Location
    North Eastern, IA

    Quote Originally Posted by pabohoney1 View Post
    As a com sci guy you should take a look at the libraries for that OLED screen. There's lots of functionality to make things prettier. I only dabble in coding, I'm a systems guy by profession. I'd be curious how much you can optimize the code...it's certainly not pretty, but it works.
    by profession I'm also systems just went for comp sci, So slightly rusty but there's not much to it.Should be able to fit 4 displayed variables such as e content, fuel temp, boost, and idk maybe iat? The code above is pretty much drag and drop, if you look on youtube they'll have alot of videos on putting code on arduino's.

    I'm thinking that display could be mounted next to the MMI screen, easy to see.
    2010 Audi S4 GIAC Stage II, H&R Sport springs/Koni Yellows, USP Intake, AWE Track exhaust.
    (SOLD) 2001.5 Audi S4 Stage III

    "I love my mullet exhaust...Quiet in the front, Loud in the back"

  32. #32
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    For the B8 guys who do not have connectors on their lines are you just cutting the line and clamping it over the metal barbs? Also is there and orientation it has to be installed in, meaning the fuel has to flow through it in a specific direction? I do not see any arrows on the sensor.

    Thanks all.
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  33. #33
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    For the B8 guys who do not have connectors on their lines are you just cutting the line and clamping it over the metal barbs? Also is there and orientation it has to be installed in, meaning the fuel has to flow through it in a specific direction? I do not see any arrows on the sensor.

    Thanks all.
    For the B8 guys I'm not 100% sure, but cutting and putting this in should be fine. For flow, no it doesn't matter, however you want to connect it will work.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  34. #34
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    Thanks. I have been reading a bunch of threads on this in the Scooby and Evo forums and one thing they struggle with is the temp reading being right. Does yours seem to be accurate, from the pic it shows 9f which there is no way. Your in the same down as me. LOL
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  35. #35
    Veteran Member Three Rings Jester2893's Avatar
    Join Date
    May 29 2012
    AZ Member #
    94300
    Location
    NY

    DIY Arduino Ethanol Content Analyzer

    Quote Originally Posted by cspcrx View Post
    Thanks. I have been reading a bunch of threads on this in the Scooby and Evo forums and one thing they struggle with is the temp reading being right. Does yours seem to be accurate, from the pic it shows 9f which there is no way. Your in the same down as me. LOL
    I’m thinking it should be 9 degrees Celsius in this case. If that’s in fact true, the original code might be label it as “F” instead of “C”.


    Got the pins and screen soldered up and connected, just had an issue with my Mac finding the board through the USB port, so I’ll have to play around with it more tomorrow.

    Last edited by Jester2893; 01-25-2018 at 02:11 PM.

  36. #36
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    Awesome keep us posted. The screen linked above is not available but there are lots out there. They just do not come with the wires like the one listed did.
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  37. #37
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    Thanks. I have been reading a bunch of threads on this in the Scooby and Evo forums and one thing they struggle with is the temp reading being right. Does yours seem to be accurate, from the pic it shows 9f which there is no way. Your in the same down as me. LOL
    Yea, my readings seem correct. That picture with 9F was before I corrected the code for it (it was taking the temp x .1 for some reason). It reads accurately now as far as I can tell. My car has been sitting in the garage for about an hour after my commute home, and I just checked and it's reading 74*C. This should be about right, since the sensor sits right beside the supercharger and all the heat from the engine has been soaking into the sensor.

    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  38. #38
    Veteran Member Four Rings cspcrx's Avatar
    Join Date
    Jan 04 2013
    AZ Member #
    106838
    My Garage
    2009 Tacoma, 2007 Harley Softail, 1986 Honda CRX
    Location
    Phoenix, az

    OK, does the code above have the correction in it?

    You still running the one in the ashtray? does the glow come through at night when it is closed?
    2012 Ibis P+ / DSG / Silk Napa / B&O / Sport Diff. / ADS lite / MMI & Nav / APR Stage 2+ & TCU Tuned / Ultra Charger / 184mm KI LIL BITCH / ECS Kohlefaser Luft-Technik Intake / AMS Alpha Cooler / ECS 2-Piece Rotors / Akebono Pads / VMR 803 19x9.5 ET45 265-35-19 PSS / ECS Drivetrain Bushing Inserts / CR-15

    11.8 @ 116mph 2487DA on 93oct file Stage 2+

    THEN THEN THEN Rinse & Repeat!

  39. #39
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    Awesome keep us posted. The screen linked above is not available but there are lots out there. They just do not come with the wires like the one listed did.
    I had the wrong link for the OLED screen, sorry about that. It's corrected now. You can also just search for "Arduino OLED" and there are a TON of options.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

  40. #40
    Established Member Two Rings pabohoney1's Avatar
    Join Date
    May 03 2017
    AZ Member #
    398822
    Location
    Phoenix

    Quote Originally Posted by cspcrx View Post
    OK, does the code above have the correction in it?

    You still running the one in the ashtray? does the glow come through at night when it is closed?
    The code for the OLED and BT are definitely corrected for temperate. The code for the BT is what I'm running in that screen shot.

    There is no glow from the ashtray with the lid closed.
    2013 S4 S-tronic, Merc Racing Heat Exchanger, GIAC Stage 1/TCU, DIY Arduino ECA

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


    © 2001-2025 Audizine, Audizine.com, and Driverzines.com
    Audizine is an independently owned and operated automotive enthusiast community and news website.
    Audi and the Audi logo(s) are copyright/trademark Audi AG. Audizine is not endorsed by or affiliated with Audi AG.