Firmware 1.05 Beta, Temperature Triggered Heating


Firmware 1.05 Beta adds Exhaust Temperature Triggered Sensor Heatup, this feature makes Spartan 3 wait, a maxium of 10 minutes, until it senses that the oxygen sensor has been heated to ~350C by engine exhaust gases before starting to heat the sensor with electrical power. After 10 minutes of waiting, Spartan 3 will start to heat the sensor regardless.

This feature is intended to avoid heating the sensor before the engine is started. A cold start may move condensation in the exhaust system to the sensor, if the sensor is already heated this may cause thermal shock and damage the sensor.

The most ideal solution is to read engine RPM through CAN and start heating the sensor as soon as the engine is running. This will avoid thermal shock and quickly get the oxygen sensor to operating temperature,780C, to burn off carbon deposited onto the sensor from an active exhaust stream. Currently, Spartan 3 is only able to read engine RPM over CAN for MegaSquirt 3 simplified CAN broadcasts. More CAN RPM compatibility will be added in the future. This Temperature Triggered Heating feature is a universal solution.

Download the firmware here, Software and Documentation | 14Point7

After the firmware update, send the serial command “SlowHeat3” to Spartan via USB and Temperature Triggered Heating will be enabled.

Hi Alan,
Fianlly got to install my Spartan 3 that I purchased last year and I upgraded the firmware right away to 1.05 as I wanted to have this slowheat3 option enabled.
I have a Link G4X and the Spartan is configured for Linkcan on id950. The ECU is able to receive the data from the Spartan, but the sensor heating is not delayed at all. As soon as I turn the key to ignition position, it starts heating the sensor and it reaches operating temp (780C) in about 1 minute 40 seconds. I doublchecked slowheat3 is set.
Any suggestions?


Can you pull the sensor out of the exhaust and try it again? With the sensor out of the exhaust, Spartan 3 should wait the full 10 mins before heating the sensor.

It is not in the exhaust (and it wasn’t) as I first wanted to make sure all wiring and config is 100% complete before I screw it in.
Even more, now I tried to set it to slowheat2 and configured the G4X to send the RPM over ID1512 as per the MS3 simple broadcast spec, but even then it starts to heat the sensor right away when I turn the key to ignition.

I have not looked into getting CAN RPM off the G4X ECU so I can not offer advice right now on that.

When you test SlowHeat3 on your bench with the sensor outside the exhaust stream. Make sure the sensor is cold, if the sensor is hot then power off the unit and wait about 10 mins, then try. Let me know if this helps.

That is how I have done the first time as well, but now I have tried again.
Unplugged the sensor, updated to setslowheat3, powered down, plugged sensor in and turned key ignition position.
Same result. Starts to heat right away (the red led blinks slowly as it is supposed during heat-up) and in about 1 minute 30-40 seconds, it reaches operating temp.
What is interesting though that the unit starts to send the sensor temp data over can only after about 1 minute when it is about 300-350C.

Oh and about the RPM data, my question mainly is that it requires the canformat to be MSQ3 as well, or only the slowheat mode needs to be 2 and the CAN info on the bus with RPM needs to be in the simple MSQ3 broadcast format?

The CanFormat has to be 0 for MS3 and only then will slowheat2 be operating.

Are you able to change the RPM CAN data from your ECU so that it matches the MS3 simplified dash format?

Can you try to do a memory reset using the “MEMRESET” serial command? You will lose all your settings.

Are you using the LSU 4.9 or ADV sensor?

I sure can.
It is ADV. Though the sensor doesn’t have any marking to prove that.

Yes, that is the thing, I am trying to send the RPM info as per the MS3 simplified dash format on id1512, but it doesn’t work. At least not with fw1.05. I downgraded to 1.04 to see what happens, but it doesn’t work with that either, but at least with 1.04, it did not start the heat the sensor right away. It was patiently waiting for the RPM data I guess.

So, I have upgraded to 1.05 again, did the memreset, then reconfigured all the required parameters.
Finally set slowheat to 3, and powercycled the unit.
No change in the behavior. About 1.5 minutes after I turn the ignition key to on, it starts heating. (the sensor is not in the exhaust).
What is strange though, even if I set slowheat2, it does the same with fw1.05. However with 1.04 and slowheat2, it does not start to heat after 1.5 minutes. I never wait 10 mins to see if it starts to heat after that, but the behavior was as expected with 1.04. Unfortunately the unit never picked up the RPM from the CAN bus.

I will add user settable temperature for the trigger into the next firmware, I think it will solve your issue.

ok, thanks.

Now one question as I will make the G4x delay the power to the Spartan3 and go with the slowheat1 option for now.
What is the recommended delay after the engine starts? Would 10 seconds be good or if I give the power only at engine start, then no delay should be given at all?
The EGT after the turbo is quite slowly building up, so it might take minutes to reach the 350C, that is why I thought to try this way.

I would aim for 30 seconds.

Ok, thank you very much.