Mazda3 Offered in both a sedan and wagon, this sporty model offers a great car for the family, as well a fun track car.

P0610 only occurs below 10c!

Thread Tools
 
Search this Thread
 
Old Feb 13, 2021 | 06:42 AM
  #1  
WildIce00X's Avatar
Thread Starter
|
Junior Member
Joined: Feb 2021
Posts: 3
Likes: 0
From: Earth
Default P0610 only occurs below 10c!

Hey Guys,
I have an error on my 2005 Mazda 3 Z6 , P0610, where this issue ONLY OCCURS BELOW 10C.

This issue causes my speedometer and odometer to not work. Therefore, my temporary solution for this is to wait until the engine reaches its operating temperature; turn the car off and then on again, and then everything works, however, I still have the Check Engine light showing.

So far what I’ve done to try and fix this issue (but have not been able to fix it) is;
  • Heated up the PCB behind the dials and the fuses before startup.
  • Changed the battery (New ones shows 12.82V Off & 14.8V On)
  • New air intake filter
Also, I was looking at Mazda’s workshop manual, but I cannot get past the taking the battery box off, due to a lack of sprockets.

I’m thinking this could be an outside temp sensor or MAF, but I could be wrong.

Any ideas and suggestions would be great apricated! Thanks, Name:  1f60a.png
Views: 1363
Size:  509 Bytes
 
Reply
Old Mar 11, 2021 | 08:08 AM
  #2  
eagleprime's Avatar
Junior Member
Joined: Oct 2020
Posts: 9
Likes: 0
From: Turku
Default

See my reply in this thread: https://www.mazdaforum.com/forum/maz...or-code-44147/

Long story short: the tiny 93C56 Flash chip that the PCM uses to store configuration data does not reliably retain data over time and gets sensitive to temperature. You're likely seeing one or two bits flip while it's cold. I used an good quality ELM-327 interface and FORScan to read the cold and hot configuration data, verified that a single bit was getting flipped, and then wrote the "hot" configuration back when the car was cold. One power cycle and DTC clearing later, car has worked without a hitch.
The Flash chip just needed a refresh.

I also left a story on the FORScan forum: https://forscan.org/forum/viewtopic.php?f=16&t=17159
 

Last edited by eagleprime; Mar 11, 2021 at 08:14 AM.
Reply
Old Mar 11, 2021 | 08:12 AM
  #3  
eagleprime's Avatar
Junior Member
Joined: Oct 2020
Posts: 9
Likes: 0
From: Turku
Default

OBVIOUSLY: this sort of fiddling with the PCM comes with no warranty. If your power goes out mid-write, there's a (very small but still extant) chance that the PCM will not allow you a second try, at which point you will need to use an EEPROM programmer to re-flash the chip. At that point, having a good couple of reads of the AS-BUILT data will come in handy (though you may need help rebuilding a proper ROM image).
 
Reply
Old Mar 11, 2021 | 12:42 PM
  #4  
WildIce00X's Avatar
Thread Starter
|
Junior Member
Joined: Feb 2021
Posts: 3
Likes: 0
From: Earth
Smile

Originally Posted by eagleprime
See my reply in this thread: https://www.mazdaforum.com/forum/maz...or-code-44147/

Long story short: the tiny 93C56 Flash chip that the PCM uses to store configuration data does not reliably retain data over time and gets sensitive to temperature. You're likely seeing one or two bits flip while it's cold. I used an good quality ELM-327 interface and FORScan to read the cold and hot configuration data, verified that a single bit was getting flipped, and then wrote the "hot" configuration back when the car was cold. One power cycle and DTC clearing later, car has worked without a hitch.
The Flash chip just needed a refresh.

I also left a story on the FORScan forum: https://forscan.org/forum/viewtopic.php?f=16&t=17159
Thank you so much for your answer!

Just got a few questions for you: By writing the configuration back - what did that exactly include? Also, from my understanding and ELM-327 interface and FORScan in other words is an ODB2 scanner, right? And also, by a power cycle what does that exactly mean? Disconnect the negative terminal and turn the light switch on, and leaving it on for 10-20 mins? Sorry for this questions, just never done such a thing before. Thanks!
 
Reply
Old Mar 11, 2021 | 01:30 PM
  #5  
eagleprime's Avatar
Junior Member
Joined: Oct 2020
Posts: 9
Likes: 0
From: Turku
Default

Originally Posted by WildIce00X
from my understanding and ELM-327 interface and FORScan in other words is an ODB2 scanner, right?
Yes, OBD-II scanner is a word for it. The ELM-327 is a very popular processor that's used for OBD-II adapters. https://en.wikipedia.org/wiki/ELM327
FORScan is an unofficial but very powerful bit of software for interfacing with Ford and Mazda OBD-II systems. It may work for other makes, but Ford and Mazda are the ones it's designed for.

I used the "official" tool for this, the OBDLink Ex:
Amazon Amazon

Originally Posted by WildIce00X
a power cycle what does that exactly mean? Disconnect the negative terminal and turn the light switch on, and leaving it on for 10-20 mins?
In this case, it just means turning the ignition to OFF and back ON
While the ignition is OFF the PCM is pulling a small current to keep a RAM chip powered (to keep track of things like DTCs and last drive cycle), but it's not properly running. When the ignition is turned ON (and you see the dash light up with the battery and check engine light symbols and such), the PCM starts up. When it does that it re-reads the configuration block from the Flash.

There's no need to disconnect the battery at any point of this fix (and, indeed, doing so in general will clear the PCM RAM, and will require it to re-learn engine behavior when you run it again. Until that learning has happened, it will use a default tune that will cause the engine to run a bit rich).

Originally Posted by WildIce00X
By writing the configuration back - what did that exactly include?
The PCM Configuration data block is 128 bytes of data, stored in Flash, that encode things like the vehicle ID (for authenticating with other modules), wheel diameter, etc. That block is mostly empty - but all bytes contribute to a checksum that is used to verify that the data was written and read correctly (and is internally consistent).
To be able to read and write that you need a registered version of FORScan (don't worry, you can get a short term pro license by registering to their forums, and it's under 50 bucks for a lifetime subscription). You go to the programming section, and for the Mazda you should see "PCM configuration" and "PCM Configuration (AS-BUILT)", or something to that effect - sorry, I'm going by memory . Use the AS-BUILT viewer to see the whole block (or as much as the PCM will give out over OBD-II, the chip stores more). Use the SAVE feature to grab the data to disk. Get a reading while the engine is cold and while it is warm (i.e. once you have working speedo and you can clear DTC), and use something like WinDiff or WinMerge to compare the hot and cold files (they're stored as text with the data as hex, as three columns: offset, data and checksum). You should be able to observe that the data column has a single hex letter different between the warm and cold state (most likely an F in the warm dump is something else in the cold dump). That's your single bit error identified (the checksums will differ, don't worry about that).

To re-write it, wait until the car is cold enough to raise the P0610 DTC (i.e. until next morning or something). You turn the ignition to 'ON' but don't crank the engine (set lights to park to save some battery), go to the PCM programming page, LOAD the warm dump file (the one you saved from when the car was working fine and you had speedo and no codes) and then press the WRITE ALL button. This should pop up a confirmation dialog. The writing should take less than 4 seconds. When that is done (FORScan will indicate a successful write), turn the ignition key to OFF. Wait for a couple of seconds, then turn the ignition to ON (you can start the engine if you wish) to make the PCM read the "new" configuration. Use the DTC page of FORScan to clear PCM DTCs (it should still show in the list). The code should go away and stay away. The car should run fine.

That's pretty much it.
Again, PLEASE be aware that none of this is "official" or safe - if something goes wrong and the PCM stops responding, it's up to you to try getting it to play ball again. I was somewhat confident in trying this (and, for me, nothing went wrong) as I had a good quality computer and OBD adapter that I tested thoroughly beforehand, I made sure I had a full battery and I took several dumps and verified that especially the "hot" reading was identical between several runs (letting the car cool down and "fault" again between rounds). And finally, I had an EEPROM programmer on the way that I could have used if anything would have gone wrong to tap onto the board and rewrite the configuration block if all else failed.

The reason I went ahead with this was because the Mazda dealership had told me that they cannot sell me a new PCM, for any price, as those are nowhere to be found, so if I want it replaced I'd need to buy a running junk Mazda 3 with the same PCM and take the car to the dealership and have them safely unpair it from the old car and re-pair it with mine. This was after they'd gone over the wiring and rewritten the software to the PCM. Given what they charged per hour of work (they estimated 3 hours to complete that) along with what a junker and towing of it there and back costs, I estimated that'd be a 2500-4000€ operation. I opted for some computer wizardry instead - after all, they assured me everything except the PCM checks out.

God speed.
 

Last edited by eagleprime; Mar 11, 2021 at 01:33 PM.
Reply
Old Mar 11, 2021 | 01:40 PM
  #6  
eagleprime's Avatar
Junior Member
Joined: Oct 2020
Posts: 9
Likes: 0
From: Turku
Default

Another note that should be obvious: watch a couple of videos about how to use FORScan and play with the safe options for yourself to get a feel for how the program works before you go messing with the configuration data, just to be as safe as possible.
 
Reply
Old Aug 17, 2021 | 03:51 AM
  #7  
igorfirst's Avatar
Junior Member
Joined: Aug 2021
Posts: 1
Likes: 0
From: Belgrade
Default solved!

Originally Posted by eagleprime
Yes, OBD-II scanner is a word for it. The ELM-327 is a very popular processor that's used for OBD-II adapters. https://en.wikipedia.org/wiki/ELM327
FORScan is an unofficial but very powerful bit of software for interfacing with Ford and Mazda OBD-II systems. It may work for other makes, but Ford and Mazda are the ones it's designed for.

I used the "official" tool for this, the OBDLink Ex: https://www.amazon.com/OBDLink-EX-FO.../dp/B081VQVD3F



In this case, it just means turning the ignition to OFF and back ON
While the ignition is OFF the PCM is pulling a small current to keep a RAM chip powered (to keep track of things like DTCs and last drive cycle), but it's not properly running. When the ignition is turned ON (and you see the dash light up with the battery and check engine light symbols and such), the PCM starts up. When it does that it re-reads the configuration block from the Flash.

There's no need to disconnect the battery at any point of this fix (and, indeed, doing so in general will clear the PCM RAM, and will require it to re-learn engine behavior when you run it again. Until that learning has happened, it will use a default tune that will cause the engine to run a bit rich).



The PCM Configuration data block is 128 bytes of data, stored in Flash, that encode things like the vehicle ID (for authenticating with other modules), wheel diameter, etc. That block is mostly empty - but all bytes contribute to a checksum that is used to verify that the data was written and read correctly (and is internally consistent).
To be able to read and write that you need a registered version of FORScan (don't worry, you can get a short term pro license by registering to their forums, and it's under 50 bucks for a lifetime subscription). You go to the programming section, and for the Mazda you should see "PCM configuration" and "PCM Configuration (AS-BUILT)", or something to that effect - sorry, I'm going by memory . Use the AS-BUILT viewer to see the whole block (or as much as the PCM will give out over OBD-II, the chip stores more). Use the SAVE feature to grab the data to disk. Get a reading while the engine is cold and while it is warm (i.e. once you have working speedo and you can clear DTC), and use something like WinDiff or WinMerge to compare the hot and cold files (they're stored as text with the data as hex, as three columns: offset, data and checksum). You should be able to observe that the data column has a single hex letter different between the warm and cold state (most likely an F in the warm dump is something else in the cold dump). That's your single bit error identified (the checksums will differ, don't worry about that).

To re-write it, wait until the car is cold enough to raise the P0610 DTC (i.e. until next morning or something). You turn the ignition to 'ON' but don't crank the engine (set lights to park to save some battery), go to the PCM programming page, LOAD the warm dump file (the one you saved from when the car was working fine and you had speedo and no codes) and then press the WRITE ALL button. This should pop up a confirmation dialog. The writing should take less than 4 seconds. When that is done (FORScan will indicate a successful write), turn the ignition key to OFF. Wait for a couple of seconds, then turn the ignition to ON (you can start the engine if you wish) to make the PCM read the "new" configuration. Use the DTC page of FORScan to clear PCM DTCs (it should still show in the list). The code should go away and stay away. The car should run fine.

That's pretty much it.
Again, PLEASE be aware that none of this is "official" or safe - if something goes wrong and the PCM stops responding, it's up to you to try getting it to play ball again. I was somewhat confident in trying this (and, for me, nothing went wrong) as I had a good quality computer and OBD adapter that I tested thoroughly beforehand, I made sure I had a full battery and I took several dumps and verified that especially the "hot" reading was identical between several runs (letting the car cool down and "fault" again between rounds). And finally, I had an EEPROM programmer on the way that I could have used if anything would have gone wrong to tap onto the board and rewrite the configuration block if all else failed.

The reason I went ahead with this was because the Mazda dealership had told me that they cannot sell me a new PCM, for any price, as those are nowhere to be found, so if I want it replaced I'd need to buy a running junk Mazda 3 with the same PCM and take the car to the dealership and have them safely unpair it from the old car and re-pair it with mine. This was after they'd gone over the wiring and rewritten the software to the PCM. Given what they charged per hour of work (they estimated 3 hours to complete that) along with what a junker and towing of it there and back costs, I estimated that'd be a 2500-4000€ operation. I opted for some computer wizardry instead - after all, they assured me everything except the PCM checks out.

God speed.
Great thing, i solved my few years problem with this procedure.
Had problem with speedometer, odometer and trip computer with every start of cold engine.
I had some different differencies in PCM abt files it wasnt B, rather letter 0 and E in same row.
I wrote warm all working inatruments file when engine was cold ans now everything works flawlessly.
If enyone needs i can upload both abt files for comparising.
Thank you for this fix.

 

Last edited by igorfirst; Aug 17, 2021 at 01:05 PM. Reason: adding picture
Reply
Old Nov 24, 2021 | 05:22 AM
  #8  
Lany71's Avatar
Junior Member
Joined: Nov 2021
Posts: 1
Likes: 0
From: Larisa
Default

Originally Posted by eagleprime
See my reply in this thread: https://www.mazdaforum.com/forum/maz...or-code-44147/

Long story short: the tiny 93C56 Flash chip that the PCM uses to store configuration data does not reliably retain data over time and gets sensitive to temperature. You're likely seeing one or two bits flip while it's cold. I used an good quality ELM-327 interface and FORScan to read the cold and hot configuration data, verified that a single bit was getting flipped, and then wrote the "hot" configuration back when the car was cold. One power cycle and DTC clearing later, car has worked without a hitch.
The Flash chip just needed a refresh.

I also left a story on the FORScan forum: https://forscan.org/forum/viewtopic.php?f=16&t=17159
Hi, I am having the same problem for some months. Could you tell me which ELM-327 interface with bluetooth you bought?
I have a cheap one but I get "bad clone" message from Forscan.

Thanks a lot.
 
Reply
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
WildIce00X
Mazda3
0
Feb 13, 2021 06:39 AM
turboturney
Mazda Tribute
7
Aug 6, 2013 08:13 AM
Rock'em Sock'em Rabi
Mazda 323,Mazda 626 & Mazda 929
2
Jan 8, 2010 08:04 PM
boostedzx3
General Tech
2
Apr 24, 2009 08:25 PM
sizzlin07
Mazda3
16
Feb 8, 2008 03:21 PM




All times are GMT -5. The time now is 11:46 AM.