My car currently has multiple fault codes:

  • P0031 - Heater control unit (HO2s)

  • P0037 - Heater control unit

  • P0403 - Exhaust gas recirculation

  • P0342 - Camshaft sensor

My mechanic says we will need to replace the O2 sensor and it will fix it, but reading the various articles online tells me that a bad camshaft sensor is more likely to cause engine stalling during idle. Any idea what's the best way to go about it?

Car: Chevrolet Spark 2010 Petrol

  • Camshaft sensor is much more likely than a bad O2. EGR could be it as well. Do codes come back after clearing? Mar 4, 2016 at 12:38
  • Yes, these are the codes that came after I cleared and ignited the engine again.
    – Anand
    Mar 4, 2016 at 12:43

2 Answers 2


From your codes the only major one is the Camshaft Sensor, replace that and give it a try. Other than that nothing else from the above codes can stall your engine.

The EGR would throw a check engine light but the engine itself would not stop cause of this. The heater control units are for the comfort of the passenger but not for the engine.

The cam position sensor is not that expensive from what I remember I think it was around 20 USD.

  • Thank you. I am a little curious about your point about HO2S being there for the passenger and not for engines. I was advised by more than one person that I will need to replace both the O2 sensors (for the error codes P0031 and P0037) to fix this and that's going to cost around $150 and their point was that this governs oxygen supply in the engine.
    – Anand
    Mar 4, 2016 at 17:43
  • I meant the heater control unit, not the oxygen sensors. The O2 sensors measure the amount of oxygen in the exhaust, but not for oxygen supply to the engine. So start by replacing the cam position sensor.
    – kasey
    Mar 4, 2016 at 18:06
  • I disagree with @kasey. An EGR valve stuck open causes a massive vacuum leak and can cause an engine to stall. That and the camshaft position sensor are your most likely culprits.
    – Mobius
    Apr 4, 2016 at 15:10

P0031 & P0037 are both heater circuit low voltage codes. While the heating elements may be bad, I'd check wiring first. Both sensors should be getting power from a fuse and a control signal from the PCM.

As to the P0342 this is another circuit low voltage code. You should be checking for 5V reference from the PCM, low reference/ground from the PCM and signal to the PCM.

Note that the camshaft sensors are used to correlate the camshaft and crankshaft and don't directly affect the ignition system.

If the EGR valve were stuck open it could cause the car to stall at idle. Though I'm not sure if the car actually has one or not you'd have to visually confirm. I think your car has 2 camshaft sensors and uses valve timing to perform EGR functions.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .