DIY Odometer Reprogramming
DIY Odometer Reprogramming
com/DIY-Odometer-Reprogramming/
https://www.youtube.com/embed/NmyERHeDlTw?feature=oembed&autoplay=1
https://www.youtube.com/watch?v=NmyERHeDlTw
Disclaimer:
1. The information provided should only be used to correct mileage information. While it is not illegal to change
your odometer reading, it is illegal to falsify or misrepresent the actual mileage of the vehicle.
2. The odometer display can be just as easily changed by swapping clusters to one of a lower mileage.
3. This procedure requires disassembly of the cluster, and de-soldering of SMD components. Use care and
caution when dealing with delicate components, and practice first on a spare cluster.
Step 1: Introduction
The odometer information can be copied over from the old cluster to the new cluster using Honda HDS,
assuming the original cluster is operable. What follows is a hack-around to using HDS, by programming the
mileage directly to the chip. You can also opt to merely swap the chips, or copy and paste the program, rather
than decode.''
• Screwdrivers
• Serial programmer
- Breadboard
- Hookup wire
- 5V Zener diodes
o Wire strippers
Here's the original instrument cluster from my LX sedan, 314,622 km, and here’s my new cluster. It’s from an
EX-L sedan with 211,150km.
Step 2: Disassemble the Instrument Cluster
2 More Images
Once the cluster is out of the vehicle, pull up on a few tabs to remove the front plastic cover and fascia.
The needles will need to come off next. Pull up on them carefully and they’ll come out. Take a photo of their
home position before taking this apart so you know where to realign it upon reassembly. Use gloves and don’t
touch the black face of the gauges, it’s a fingerprint magnet.
Once the gauge face is removed, remove the white backing plate revealing the circuit board, with the L56
EEPROM chip.
Step 3: Solder Hookup Wires
According to the datasheet, pins 1, 2, 3, 4, 5 and 8 will need to be connected for programming. To read the
information off the chip, while it’s still in the cluster, we need to solder some hookup wires to the leads. If you
use a multimeter you can trace the leads to the pads on the other side of the circuit board, and then solder
some hookup wire.
Now before you can properly read from the chip, on board, you have to short the crystal, located to the top left
of the EEPROM chip.
This is the EEPROM programmer I built to connect the chip to my desktop computer. It interfaces through the
RS232 serial port. All it is are three 5V zener diodes ($1) and three 4.7K ohm resistors ($1). The rest is some 22
AWG hookup wire and a breadboard ($5). That’s it!
And SNAP!!! The leads broke off the chip. This is why you should use a hot air station so it heats all the pads
evenly and you can just pick the chip off the board instead of prying it.
Luckily, I had saved the EEPROM information I downloaded earlier. I found another replacement chip, the
Microwire 93C56 chip from a car’s ECU I had laying around. The 93C56 chip is identical electronically to the L56
chip.
Make sure its set to read from the serial port, COM1, and SI Prog I/O. You can then Probe the port to make sure
it detects your serial programmer.
Next head over to the device menu and select Microwire 93C56, which is compatible with the L56 EEPROM
chip.
Then click Device –> Read to read from the chip. The information from the chip will be downloaded in HEX
format in a 16 by 16 bit array.
Step 6: Decoding the Odometer Dump
3 More Images
At this point you can merely save the odometer dump, and
write it to your new cluster. Or if the engineer inside you is itching to make sense of 256 HEX characters, you
can attempt to decode it.
Here’s a look at the HEX dump. Through a lot of trial and error, back and forth in the vehicle, and a few hours of
hair pulling, calculating and note-taking, I was able to come up with a rough idea of how the odometer program
works.
The odometer has a major value in addition to a minor value that increments. Trip A and B are also stored in
the EEPROM. The major value is what I’ll be focusing on, since that controls the thousands of kilometers which
is more important.
Knowing this, if we focus on the last few lines in the EEPROM dump, you’ll notice the characters 33 85 CC 7A
repeated 8 times. This is the major odometer value in HEX. The numbers are actually the HEX invert of each
other, and act like a checksum. A HEX lookup table, which is 0-F and F-0 backward is used to determine the
inverse of each character.
For example, a “3” will be inverted as “C”, and 8” inverted as “7” and “5” inverted as “A”.
Therefore the only characters that store actual information are the first two HEX digits, 33 and 85.
To decode, simply convert the number to decimal using a hex to decimal converter, and then multiply by 16 to
give you the odometer reading in kilometers. I got 211,024km.
Using this method of calculation, I need the new cluster to read 314K, so I can divide it by 16 and convert it to
HEX to give me the base value in the odometer dump. This value, 4C CF will then have a checksum of B3 30,
which I will write to the chip.
Now I know it’s not exactly accurate but close enough, because there is a minor incremental value that I
haven’t decoded. I made an excel sheet to help me convert the numbers.
Step 7: Writing Information to the EEPROM Chip
2 More Images
Now that we’ve got the corrected mileage value, head back to the PonyProg software and click Edit – Edit
Buffer Enabled to enable writing to the HEX bits.
Click on the bit you want to edit and type in the new value. In my case I replaced all “33 85 CC 7A” with “4C CF
B3 30”.
Here’s what my modified odometer dump looks like with the bottom two rows edited for 314K.
And that’s it, you can now disconnect the EEPROM from the programmer and hook it up to the odometer board
to test it out.
Step 8: Prototyping
Since I still had the hookup wire attached to the original odometer board, I use it to temporarily connect the
EEPROM chip with the 314K program on it and test it in the car to see if it works.
I used alligator clips to connect the six hookup wires to the EEPROM. It looks ghetto, but this is only a test
before re-soldering the chip!
And start it up and it reads 314,543km, which is close enough to what I had on the old cluster.
I’ve also gained the outside temperature display option on the EX-L cluster.
Step 9: Closing Everything Back Up
2 More Images
Next, we can transfer the new programmed chip back onto the odometer board. In my case it was already
soldered onto an ECU board, and it needed to be de-soldered. A hot air station is highly recommend here, as
we broke more pins taking this one off too!
When removing the original chip, a few of the pads got damaged. Thus a patch wire was soldered in to
compensate for the lack of conductivity with the board beneath the lead.
Now its time to reassemble the instrument cluster. Reinstall the needles, in the position that they originally
came off in. They have a stopper that has to be adjusted. Good idea to refer to a photo of the cluster before
you took things apart to get it aligned.
Step 10: Results
Once everything is back together, connect it to the vehicle and start it up!
Now of course you can program anything you want. Just for fun I programmed 999,999km. The odometer
dump for that looks like this.
Now you can take your million-kilometer car to the dealership and trade it in for a free brand new car!
The odometer does not roll over to 1 million kilometers. But the trip computer still works, as you can see here, I
drove just over a kilometer to see what would happen.
Once all the gauges are closed up, it’s interesting that Honda left a hole in the back of the cluster exactly behind
where the EEPROM sits, where we soldered the hookup wire. Remember though, even if you were able to
solder hookup wire without taking apart the circuit board, you wouldn’t be able to write to the chip in circuit,
just read from it. Just a thought.
Fin.