BMW Coding with PA Soft 1.4
This tool can be used across a wide range of BMW models. I have used it on my 3 series, 5 series and my X5.
Coding the temperature gauge to work like a real gauge in place of an idiot light.
The temperature gauge in modern BMW vehicles isn’t a real temperature gauge in the normal sense of the term. It reads accurate up to a point then snaps to the center where it remains unless the motor overheats then it climbs rapidly to the red zone on the right side of the gauge.
This was done to make people feel more comfortable and to stop questions about if my gauge is such and such is there a problem.
The problem is by holding the gauge at the center until the motor is basically overheated there is no warning that the vehicles is getting hot, so you have no chance to try to cool it back down before hand or find a safe spot to stop and see what the problem is.
By using PA Soft you can reprogram the cluster to make the gauge into a real temperature gauge. Not an idiot light.
This unfortunately isn’t a straight forward set of instructions because what you have to do strictly depends on the series of BMW you have and can be effected by options the car has too.
Basically you search for one set of values in the clusters memory and if found you can apply the correct modification using the list found here to get the gauge to read right.
For example my X5 has this in the clusters memory dump. These are in two different places on my X5. Both have to be modified :
0F 65 32 D0 4B D0 73 38 78 69 7D FF
Which caused the gauge to behave like :
Notice that from 75C to 115C the gauge will stay dead center. So from 167F to 239F the gauge is useless. Water boils at 220F….
To turn that into a real gauge I changed it to :
0F 65 3C D0 55 D0 5F 38 6E 69 73 FF
Which looks like this :
Now from 85C to 95C the gauge stays in the center. So from 185F to 203F it shows everything is ok. When the temp goes over 203F it will start climbing again like a normal gauge. At 104C which is 219.2F it will be at the 3/4 mark. Right below boiling but since a pressurized cooling system can go over 220F and not actually boil this gives you a chance to do something about the over heating problem. Adjust driving, turn off the AC, pull over or whatever.
As you can see this mod is extremely useful.
I had programmed all of my BMW’s up until my X5 by searching the net for codes and matching up what I found in each cars cluster and modding it myself. The X5 I didn’t have any luck when I searched and put it off for something to figure out later. Overboost on Xoutpost came up with a working code for me and I wanted to give him credit for solving this one for me. THANKS !
Overboost from the Xoutpost site also provided me this list for anyone wanting to change the temperature range.
20C=14
25C=19
30C=1E
35C=23
40C=28
45C=2D
50C=32
55C=37
60C=3C
65C=41
70C=46
75C=4B
80C=50
85C=55
90C=5A
95C=5F
100C=64
105C=69
110C=6E
115C=73
120C=78
125C=7D
130C=82
135C=87
140C=8C
So how do you program the gauge?
The directions below are what I started with which I found on e46fanatics years ago. I will do a picture tutorial when I get a chance but for now this should get you going. It worked for me 🙂
Here are step-by-step instructions with PA Soft 1.4
1) Click on IKE.
2) Click “Read EEPROM”
3) Hex editor functions are in the lower left hand corner. Click the floppy disk icon to save the factory loaded file onto your desktop as backup.
4) Make revisions from “factory” bolded values to “revised” bolded values shown above: Find the corresponding offset and move the cursor over the bytes to be revised. You can use arrow keys to move the cursor as well.
5) Click “Write EEPROM.” Your cluster will flash and beep several times after completion — and like magic, your gauge will now reflect more accurately what’s happening under the hood.