Thank you Iskandar. Your results with your experiment show
- The lower temperature from air box sensor caused the ECU to lookup a different value in the map and then in closed loop (idle in your case) the STFT was adjusted negative because of the O2 sensor feedback.
- This is expected behaviour.
I have a interesting update
I live in a warm climate, it's winter here, 29 degrees outside in the day.
If I plug my cloned device (front) I get to around 3C on the dash, the STFT reading does not change, it fluctuates around 0%. But that was to be expected if we hypothesise that the ECU is using the air box sensor for lookup values.
Now 26C is massive drop, more than other that I've seen (thermistors are not linear), but it's a relative value, it's not the -10C dash figure that was in the video for example.
After sniffing the CAN bus with an Arduino I found that the dash a) puts the front sensor reading on the bus with PID 0x0300 (first byte) and b) buts the value of 255 (which should be the error state) if the connector is unplugged. That means that the information is there if the ECU wants it.
So what if I just hard code a resistor to get the dash and the CAN value to -10C. A 10K + 6.8K resistor in series should do it if my maths is correct.
Dash now reads -9C, close.
Start the bike and the STFT NOW fluctuates around -5%! Similar to a modification to the air box sensor.
There's a few pieces of information that I've found research but parked.
70/220/EEC Amendment
3.2.1.2.A manufacturer may disable the OBD system at ambient engine starting temperatures below 266 oK (-7 oC) or at elevations over 2 500 metres above sea level provided the manufacturer submits data and/or an engineering evaluation which adequately demonstrate that monitoring would be unreliable when such conditions exist. A manufacturer may also request disablement of the OBD system at other ambient engine starting temperatures if he demonstrates to the authority with data and/or an engineering evaluation that misdiagnosis would occur under such conditions.
The OBD system isn't disabled, but....
70/220/EEC Amendment:
Extended temperature conditions:
Greater than or equal to 266.15 K (– 7 °C) and lower than 273.15 K (0 °C) or greater than 303.15 K (30 °C) and lower than or equal to 308.15 K (35 °C).
So no testing is required below -7C.
Is the front sensor acting as a binary switch? Below a temperature threshold the ECU switches into a different mode? It was still reporting closed loop at ide, but is that even true if we're in unregulated territory?
Tests for tomorrow: ride with the bike at -9C. Test a series of resistors to find the switch point.
If this is true, what this means is that this device would stop working at a specific (real) temperature, around 16C I think. Not good at all.