Problem: The odometer stops at 299 960 km or
300 000 miles.
Models: All E32 models manufactured before 02/89.
This also applies to E34 models with a "high" version of the cluster. If your
E34 has a check control display it's the "high" version.
There are a couple of ways of identifying the affected clusters:
Background: The specific vehicle information
is stored inside the code plug. The information inside the plug is: the fuel tank
capacity, automatic or manual gearbox, electronic automatic gearbox with S/E/M
switch or standard automatic gearbox (I've only seen these on the 730i 6 cylinder),
the fuel consumption calculation data, the temperature indicator offset and off
course the mileage of the car.
There are three versions of the instrument cluster all with their own code plug. You can't interchange the code plug in between the different versions, but you can swap the entire cluster. Do be advised when you take the old cluster you need the code plug that's mounted inside the brown plug.
Application date | Back plate colour | Code plug type | Size | Extra information |
start ->02/89 | Grey | HML 075 | 2048 bytes | No self test or diagnosis via Modic. Stops at 299960. code plug is non-standard |
02/89 -> 09/90 | White | PIC 93C46 | 1024 bytes | Self test + diagnosis via Modic. Code plug is standard EPROM |
09/90 -> end | Blue | PIC 93C56 | 2048 bytes | Self test + diagnosis via Modic. Code plug is standard EPROM |
Of the failing odometer in euro cars I've heard about 99% stop at 299 960 km. US cars do seem to make it to 300 000 miles before freezing up.
There is no clear reason
for me why the counter stops. The chip's internal representation is 40km higher making it 300
000 which still doesn't give any clue as to why it stops.
As mentioned before the newer clusters have a self test. On the one I have with a blue cover you can start the self test by pressing the right button while turning the ignition on. Invoking this test will show you the following:
The BMW number. Probably the number starting from the 1st ever BMW manufactured.
The code plug number.
The K-Zahl. This has something to do with the speedometer correction as it's completely electrical on the new clusters. It's actually the same number as printed on my older cluster. Both came from 735i's.
The F.G.Nr. These are the last seven digits of your VIN.
The SW version inside the cluster.
The AND Index. This is the "Änderungs-Index" or change index. Thanks for the information Wolfgang!
Solutions: Of course we all hate having
parts in our cars that do not work. And a failing odometer is really irritating
as you have no idea what the mileage is of the car. Personally I don't think it
makes a difference for the value of the car as 300K is more then most people care
to see when they buy a used car. The state is much more important if you ask me. So don't leave a
car standing because the mileage is unknown (do try to haggle the price down ;-)
)
There are a couple of options you can explore to get the odometer to start counting again:
Options for people who think electronics are complicated:
A picture showing the code plug number from my car:
For the electronically enlightened:
Of course nothing ever seems to work as people tell you so I've ran into a couple of problems:
here. And yes I've thought of getting the odometer to count backwards :-)
- The schematic on the Diakom page speaks of pin numbers over 20 while the plug only has 18 pins. This was easily solved when I found out the referred pins numbers are the pins of the HML075 IC. Anyway the code plug has pins 4-12 on the lower row and the higher row has 16-4.
- Nothing showed up at all. Leaving out resistor "R102" on the schematic solved this.
- Nothing but garbage showed up on my display...Mea culpa: I forgot to program the EPROM area of the Atmel with an odometer setting. The fun part was that it did count in a strange way:
- The odometer started counting very strangely. In 37 km the odometer had covered 100 km. And that was the only change in the odometer. So it's save to say there is an error in the assembler code. I've fixed this (at least I think I did ;-) ). My code is over
Some results from the Atmel building and tinkering:
Some pictures of the Atmel code plug and it's placement in my cluster:
My test setup on my desk with the extra instrument cluster from the 735iL parts car (also stuck at 299 960 km). In the picture you can see: a power supply, an instrument cluster, two code plugs, a small circuit that give a speed pulse from 140 km/h to 250 km/h and the Atmel code plug connected to my pc + power supply for programming.
I used an assembler from Atmel's homepage and a little program called "Sp13" to download the code into the Atmel under DOS or Linux.
Thanks to everybody who supplied me with extra information!
Story by Johan735.
If you would like to add any comments, remarks and/or corrections to this procedure, feel free to email Mike Oswald and we'll put it on our si te. Share your experiences with us so others may benefit from it.