Technical P0340 Error

Currently reading:
Technical P0340 Error

Joined
Oct 6, 2018
Messages
39
Points
65
Hi guys,

After having had the timing belt done I’m getting some love from the computer with a P0340 code - so I’m in need of some help.

P0340 = Camshaft Position Sensor A, Bank 1, Circuit Malfunction. Fiat: Signal Phase Motor

I can clear the code and reset ECU (take of negative overnight), but after 3-4 startups code returns.

The car runs perfectly fine, starts every time and if anything it’s a bit nippier than before the cambelt was done (hadn’t been done since the car was new in 2001! Crazy!).

I’ve looked through previous threads, but it seems most people experienced poor idling / poor running with this error, which I don’t really.

Does anyone have any suggestions?
 
I’m fairly confident the garage did a ‘proper’ job. But I suppose you never know - but there is no alarming ticking or anything like that. If anything there is less ticking both when cold and hot. Runs smoother than before.

I thought the phonic wheel relearn was initiated by:
1) clear the code
2) disconnect battery for at least an hour(ish)
3) start car, leave idle and then rev it past 5k 3-5 times

This hasn’t worked.

But does phonic relearn need to be initiated through the scan tool then?
 
I’m fairly confident the garage did a ‘proper’ job. But I suppose you never know - but there is no alarming ticking or anything like that. If anything there is less ticking both when cold and hot. Runs smoother than before.

I thought the phonic wheel relearn was initiated by:
1) clear the code
2) disconnect battery for at least an hour(ish)
3) start car, leave idle and then rev it past 5k 3-5 times

This hasn’t worked.

But does phonic relearn need to be initiated through the scan tool then?

My understanding is that the phonic relearn needs to be done via the software, such as MES or the dealer tool. Basic OBD tools are unlikely to do this, as it is Fiat specific. There have been posts of people being successful with the revving without software, but as you've tried that, you'll need MES or the dealer.
No reason to suspect the garage of any problems regarding the physical belt replacement. It is just the crank and cam sensors are arguing with each other.
 
Last edited:
The error is saying there is a fault in the wiring or the sensor. The ECU is not seeing the sensor behave correctly from an electronics point of view. It is not saying the camshaft is behaving incorrectly.


I think you need to check the wiring.

The car can potentially run totally fine without this sensor but it takes longer to know where the firing stroke of the first available piston is positioned. So the start is delayed a few turns. In your text you are mixing up errors with the crankshaft sensor which is required for the car to run normally after it starts.
 
Thanks for all replies!

We did some troubleshooting today:

The camsensor voltage and response are completely normal.
(BTW, startups are in no ‘longer’ than before, starts up just as well as ever)

The scantool from Delphi Technologies did not have the option for the ‘phobic wheel relearn’ for the 16v 1.2 Punto. Only for the 8V - so that didn’t make sense.

I took to car to Fiat, but they did not have time until tomorrow.
Hoping that whatever scantool the official dealer uses has the option.

Update tomorrow!
 
Thanks for all replies!

We did some troubleshooting today:

The camsensor voltage and response are completely normal.
(BTW, startups are in no ‘longer’ than before, starts up just as well as ever)

The scantool from Delphi Technologies did not have the option for the ‘phobic wheel relearn’ for the 16v 1.2 Punto. Only for the 8V - so that didn’t make sense.

I took to car to Fiat, but they did not have time until tomorrow.
Hoping that whatever scantool the official dealer uses has the option.

Update tomorrow!

Your problem fits all of the data you have reported. The error only occurs occasionally and most likely therefore your ability to measure the problem when it occurs is limited. It could be temperature or movement related when some part is disturbed.

Since the sensor is working normally it seems highly unlikely to be the kind of incompatibility issue that a phonic relearn does. It would always be a problem if you needed the relearn i am supposing
 
Last edited:
You might be right there, Judderbar.

I’ve just ran the MES scantool in simulation mode for the 16v, but MES does not have the phonic relearn option either - only for the 8v.
If MES doesn’t even have the option, it seems the 16v cannot have a phobic wheel relearn done at all.

I’ll see tomorrow whether the ‘Fiat Examiner’ scan tool used at the dealer is more cooperative..

Maybe it’s just a difference between the Bosch (16v) and Marelli (8v) ECU.

After clearing the code, the code comes back after 4 turn-on - turn-off cycles - this is regardless of whether the engine is warm or cold and regardless of whether it has been run for several miles in between the on-off cycles or just been idling. 4 startups seems to be the magic number.

Very strange indeed...
 
Last edited:
You might be right there, Judderbar.

I’ve just ran the MES scantool in simulation mode for the 16v, but MES does not have the phonic relearn option either - only for the 8v.
If MES doesn’t even have the option, it seems the 16v cannot have a phobic wheel relearn done at all.

I’ll see tomorrow whether the ‘Fiat Examiner’ scan tool used at the dealer is more cooperative..

Maybe it’s just a difference between the Bosch (16v) and Marelli (8v) ECU.

After clearing the code, the code comes back after 4 turn-on - turn-off cycles - this is regardless of whether the engine is warm or cold and regardless of whether it has been run for several miles in between the on-off cycles or just been idling. 4 startups seems to be the magic number.

Very strange indeed...

4 starts exactly to get a circuit error is too weird. And the weirdness began after the timing belt was changed. but the car runs better than before.

What happens if you disconnect the battery after 3 error free starts leave it a while and reconnect and restart. Do you then get another 3 error free starts?
 
I found this web site which seems to be making an effort to help us understand why the P0340 error could be happening. It does not say anything about the 4 starts but even so it is quite comprehensive.


(On my 16V Punto the sensor inside the engine is enclosed in plastic gets covered in oil but is otherwise very clean looking. )

Could 4 starts be anything to do with a battery problem? Seems unlikely.

Some web sites say the error could be because of a faulty crankshaft sensor but this guy is not mentioning that possibility.


By the way, as far as I know the cam sensor is only there to enable the car to start quicker. As far as I know it does not alter the way the crankshaft timing information is interpreted relative to the cam position to get better performance. So as far as i know poor performance of the engine once started is not caused by this sensor in a punto. I know your car is running well. But it cannot be worth spending fiat dealer rates to get this fixed I am thinking.



https://mechanicbase.com/trouble-code/p0340/
 
Last edited:
The car is now sorted. I’ll clarify some things in case someone stumbles across this thread in about a trillion years time. Might be slightly long...

I went to the Fiat dealer in the hope that the ‘Fiat Examiner’ scan tool would have the phonic wheel relearn button.
In short, it was a waste of time. They essentially just told me what I already knew. They said the issue was P0340 and that is was likely due to either:

Poor timing
Faulty cam sensor
Faulty wiring to cam sensor
Faulty tempurature sensor

So nothing new....
conclusion: Delphi Technologies scan tools have exactly the same options as the MultiECUScan. Fiat Examiner has no options beyond these “standard’ tools (for this job at least)

I can confirm, a 16v Fiat engine (1.2 or 1.4) CANNOT have a phonic wheel relearn done because they use the Bosch ECU. Phonic wheel relearn ONLY applies to 8v engines with Marelli ECU’s.

Now for the troubleshooting that led to the solution:

I got the correct tools to check timing and started over.
(https://m.alza.cz/auto/geko-sada-na-aretaci-rozvodu-fiat-lancia-d5268611.htm)

Made sure the timing was correct and then I took the cam sensor out and gave it a good clean.

Put everything back together and tested.
I cannot, under any circumstance, reproduce the error code. I’ve probably started the poor thing more than 20 times over the cause of the day.

Timing was out. Surprisingly, not by enough to notice anything, ECU does a good job of compensating, but it was out.
Therefore, since the cam sensor was fine the car started with ease, but threw the code due to rightful argument between crank and cam sensor at startup.
Why on earth I didn’t get any misfire codes along with the P0340 is beyond my understanding.

Hope this helps someone in the future!
And of course, a massive thanks to everyone who took their time to add to this thread. I really appreciate it!
 
Last edited:
Why on earth I didn’t get any misfire codes along with the P0340 is beyond my understanding.

Glad you got this sorted out.


You were changing the valve timing which causes less power. Misfires would be created by ignition timing which happens automatically? when the *crankshaft sensor* detects the piston position.

On a punto I do not think there is any ability of the cam sensor to change the timing.

Edit: But actually for the life of me I cannot remember why i am thinking the punto has no ability to change ignition timing via the cam sensor!
 
Last edited:
The car is now sorted. I’ll clarify some things in case someone stumbles across this thread in about a trillion years time.

They said the issue was P0340 and that is was likely due to either:

Poor timing
Faulty cam sensor
Faulty wiring to cam sensor
Faulty tempurature sensor



I got the correct tools to check timing and started over.
(https://m.alza.cz/auto/geko-sada-na-aretaci-rozvodu-fiat-lancia-d5268611.htm)

Made sure the timing was correct and then I took the cam sensor out and gave it a good clean.

Put everything back together and tested.

Timing was out. Surprisingly, not by enough to notice anything, ECU does a good job of compensating


For future readers..

Did you manage to check the timing..and notice an error ?

Or just retime it anyway ??

It is a common issue after a belt change..
Still odd about the 4 starts though
 
For future readers..

Did you manage to check the timing..and notice an error ?

Or just retime it anyway ??

It is a common issue after a belt change..
Still odd about the 4 starts though


Valid point.

The latter. I just decided to the job all over and retime it. Didn’t really spend time checking if it was actually needed. My rather desperate logic had just presumed there to be a timing error - and if there wasn’t, at least I’d be 100% sure the error was elsewhere.

The local parts store had a Bosch cam sensor for £12, but as they were reorganising due to COVID, they said I could pick up in 2 days. So decided to just clean the old one. Just in case..

Since I didn’t previously find anything alarming with the connections and voltage of the cam sensor and I haven’t replaced it, my conclusion points to the timing having been off.

Judderbar, makes sense. Last time I saw a timing being off on a Fiat 500 it was accompanied by an army of misfiring codes. I had just assumed this would always be the case. But you are probably right, if the misalignment is within range for the ECU to compensate there is no reason for misfiring codes to show. The Fiat 500 I saw was probably too far off then.
 
Last edited:
You would expect a crank to cam sensor correlation code rather than cam sensor circuit code if cam timing off.

Great it's fixed though (-:
 
You would expect a crank to cam sensor correlation code rather than cam sensor circuit code if cam timing off.

Great it's fixed though (-:

I know what you mean.. :)

But there appear to be differences by year and ECU.. possibly different kit on a 'MED' based car too?

Idea: is that code what the FIAT kit found..? maybe there is a 'translation error'..?
 
Back
Top