Hereís how to reprogram your digital odometer to read whatever mileage you want. It great for cluster swaps, as in my case I swapped a Lexus ES300 cluster into my Toyota Solara.
Many cars store digital odometer values on the instrument cluster itself. Itís stored on a little chip on the speedometer circuit board; itís called an EEPROM chip, usually of the 93C46, 93C56 or 93C66 variety.
Once you get access to the chip by opening the cluster, it can be de-soldered and either swapped or reprogrammed.
I have gone through extensive testing and decoded the chip to present the following procedure. Iíve worked with Camry, Solara and ES300 clusters which are all interchangeable, but the procedure should be the same for many, many cars that use a similar chip setup, with only the programming differing.
Itís perfectly okay to change your odometer reading by yourself. However, it is illegal to roll back or misrepresent the mileage without disclosing to a potential purchaser of your vehicle that the odometer has been tampered with. Keep clean.
Tools and parts needed:
Soldering iron, solder and a de-soldering pump
Computer with Windows XP and serial port
8 pin DIP socket
Female serial port header
5V from computer power supply
4.7K ohm resistors
5V zener diodes
Serial programming software (PonyProg freeware)
A spare instrument cluster in case you screw up
A full write up with more detailed pictures of the Lexus ES300 cluster can be found here:
The Camry cluster is easier to take apart to access the chip, here are a few pictures.
The ES300 cluster I got from the junkyard now reads 629,209 km.
For more information on how I did the retrofit to my Solara, see this video,
And you can read more of the write-up here:
First thing is to remove the cluster from the vehicle.
Hereís a quick video illustrating the procedure:
Flip it over and remove these tabs to take off the clear and black bezel.
Then you should be left with something like this. Note: You donít need to take off the needles in order to get access to the odometer chip.
Then remove these 5 screws from the back that hold the speedometer unit to the main casing.
Speedometer / odometer board will just pop right out.
Hereís what the chip looks like on the PCB once you turn it over. Itís a 93C46 EEPROM chip.
De-solder the chip. Use the de-soldering pump to suck away excess solder on the joint, but be careful not to damage the solder pads, as youíll need to re-solder to those.
Hereís the chip de-soldered from the board.
A DIP socket was soldered in to provide quick swapping of chips when testing various programs.
The next stage is to connect the EEPROM chip to the computer for reprogramming. A serial programmer can be bought off eBay, or you could build one yourself for a couple of cents.
Hereís the original schematic, which included a voltage regulator, which drew 5V directly from the serial port.
It didnít work for us, so we opted to take 5V from the computerís power supply. There shouldnít be an issue with this, since the grounds are common.
Hereís my home-made serial programmer, as basic as it gets.
Hereís my hacked connection to the serial port, because I ordered the wrong serial port header.
Hereís a pin-out of the serial port for the connections.
Once the chip is connected and powered on, open up your serial programming software. I used PonyProg, which is a freeware that can read information from the serial port. It can be downloaded here: http://www.lancos.com/prog.html
First start with a calibration under the options menu, and then go to setup.
Set the I/O to Serial, select the COM port, and leave everything else unchecked.
Then go to device, select, microwire eeprom and select your chip type. The Camry/ ES300/ Corolla of this vintage all use the 9346.
Click the top left hand icon to read data from the device. Youíll be presented with a dump of whatís in the EEPROM chip.
The odometer readings are stored in lines 00 and 10 for these cars. As indicated below, itís coded in hexadecimal, in a cluster of four digits, repeated three times. These are the values we have to edit. There are sometimes little symbols on the right hand side of the dump that tend to point to the last digit/ data that was changed, which can give a clue when trying to decode these chips.
If you can obtain a copy of TachSoft software, it can vastly help with the decoding process, and determining what kind of chip you have.
In the example above, the odometer read 629,209 km. The hex values in the addresses sited above read 6D FA FF 9D. As it turns out, each of those hex digits correspond to a digit on the odometer readout by means of an inverted hex. The inverted hex is essentially 0-9, then A-F, backward as noted in this lookup table.
The first digit ď6Ē corresponds to the thousandths column, the second digit ďDĒ corresponds to the hundredths column, the third digit ďFĒ corresponds to the tenths column, the middle three digits are unknown, the seventh digit ď9Ē corresponds to the one-hundred-thousandths column and the eighth digit corresponds to the ten-thousandths column.
I havenít yet figured out what controls the ones column, but I donít think it matters as much as changing the first 5 columns.
If we take the inverse of each hex digit using the lookup table, put these together, you can see how the code forms the odometer reading, 629,20x km.
I made an excel sheet to calculate all the inverted hex values when I type in my desired mileage.
In my case, the desired reading is 265,650km, which corresponds to A9 AF FF D9. I need to replace the hex values in each of the three spots itís repeated in the EEPROM code. Click edit, then Edit Buffer Enable in PonyProg to enable editing. Good idea if you saved the original chip dump in case something gets messed up during editing.
Then click the second top left button to write the new edited file to the chip. Then click Edit, Verify to verify the write was successful.
Done with the programming! Disconnect the circuit and place the chip in the correct orientation on the DIP socket on the odometer circuit board.
Pretty much the reverse as taking it apart.
Replace the speedometer board into the gauge housing and screw in the 5 screws at the back of the cluster.
Replace the black bezel and wipe it from all finger-prints.
Replace the clear cover.
Reinstall the gauge cluster into the vehicle.
Turn on the vehicle and check to make sure all the gauges work. Note my new mileage reading, 265K km, which is correct for my vehicle.
Take a test drive and make sure all the gauges including the odometer works properly.
Now you can sit back and enjoy your corrected mileage reading without being flagged come inspection time.