Materials to Maintain Your ZHP IIIII Hand Protection IIIII Tools to Maintain Your ZHP
Results 1 to 10 of 101

Threaded View

  1. #1
    Join Date
    Apr 2012
    Location
    Long Beach, CA
    Posts
    1,684

    PA SOFT: How to reprogram our temp gauge

    Found this over on E46 fanatics and thought it was very valuable here seeing as how our temp gauge is pretty useless. I will be doing this myself as soon as I learn how to code our cars. More or a history/business guy so I am not good at the hexadecimal stuff they are talking about in the thread.


    Thread link: http://forum.e46fanatics.com/showthread.php?t=1013600

    Main info:
    Quote Originally Posted by Mr.Philadelphia View Post
    Many e46 owners complain that the non-M coolant temperature gauge is practically useless given its wide buffer range (75ºC-115ºC) and high range settings. The 12 o'clock position represents the buffer range, which means that the needle will stay at this position when the coolant temperature is between 75ºC and 115ºC. This is problematic for at least a couple of reasons. Your needle will stay at the 12 o'clock position even if you have the all-too-common soft failing thermostat (See jfoj's excellent thread on this issue and related problems ). This was true on my wife's car, which ran in the 77-87ºC range without turning on the service engine soon light (SES). Secondly, an upper limit of 115ºC for the buffer range doesn't give the driver much time to shut off the engine in the event that it overheats. Given the relatively high failure rate of t-stats and other cooling system components on the e46, performing this revision can help avert catastrophe.

    TerraPhantm has made it possible to reprogram the temperature gauge to behave in a more linear manner, which provides the driver with a more accurate representation of what's happening under the hood. It does so by setting the buffer range to 90-100ºC instead of the factory programmed range of 75-115ºC and also by adjusting the lower and upper ranges of the gauge. After you perform this modification, you'll know if you have a soft failing t-stat by simply looking at the gauge. You'll also have more advanced warning of overheating and, therefore, more time to shut the engine down. Furthermore, because the lower limit of the buffer range will be set at 90ºC instead of the factory preset of 75ºC, the driver might be less inclined to flog the engine before it reaches operating temperature. By all accounts, the baseline operating temperature for these cars is 95ºC.

    TerraPhantm is responsible for most of the useful information that follows. Any errors are, of course, my own.

    The first set of instructions that follows can also be found in this thread:



    But I could not find offset 0x34D (nor 0x340) in my EEPROM so I sent him a line that looked very similar:

    Code:
     0x0F0: OF 00 32 1F 4B 5A 73 5A 7C 94 7D A4 06 0E 1E 0F
    From this, he deduced the following:



    Code:
    Factory     0x0F0:  0F 00 32 1F 4B 5A 73 5A 7C 94 7D A4 06 0E 1E 0F
    Revision #1 0x0F0:  0F 00 41 1F 5A 5A 64 5A 6E 94 73 A4 06 0E 1E 0F
    Worked like a charm. I used the values shown above, but you may want to play with upper range values depending on your driving style and operating conditions. Here's a chart that can help you do it (Added on 11/23):

    Code:
    Decimal       20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140
    HexaDecimal   14 19 1E 23 28 2D 32 37 3C 41 46 4B 50 55 5A 5F  64  69  6E  73  78  7D  82  87  8C
    For example, if you want to eliminate the buffer altogether and make needle behavior in the upper range almost linear, here's another option (added on 11/23):
    Code:
      
    Factory     0x0F0: 0F 00 32 1F 4B 5A 73 5A 7C 94 7D A4 06 0E 1E 0F
    Revision #2 0x0F0: 0F 00 41 1F 5F 5A 69 7C 73 94 78 A4 06 0E 1E 0F
    ---------------Bottom Hash Mark---Upper Limit of Blue---2nd Hash Mark--12 o'clock---3rd Hash Mark---Lower Limit of Red---Red (Maxed Out/Light On):
    Needle Angle-----------ø0----------------ø31-----------------ø55---------ø90----------ø124--------------ø148----------------ø164--------------
    T(Factory 0x340)------0-15ºC------------ 50ºC----------------60ºC----75-115ºC-----120ºC----------------125ºC---------------143ºC-------------
    T(Rev. 0x340)---------0-15ºC-------------65ºC----------------75ºC------90-100ºC---105ºC----------------110ºC---------------120ºC----------
    T(Factory 0x0f0)------0-15ºC-------------50ºC----------------60ºC----75-115ºC-----120ºC----------------124ºC---------------125ºC-------------
    T(Rev. #1 0x0f0)----- 0-15ºC-------------65ºC----------------75ºC------90-100ºC---105ºC----------------110ºC---------------115ºC----------
    T(Rev. #2 0x0f0)------0-15ºC-------------65ºC-------------75ºC-----------95ºC--------105ºC-------------115ºC---------------120ºC-------------
    T=Temperature

    The upper range is, of course, not observed, but we can assume that the needle will move accordingly.

    *Take a mental note of the corresponding needle positions and temperatures in the chart above so that you know how to read the reprogrammed gauge, which will now be much more sensitive in the upper range. This is merely a result of the "new normal" gauge behavior that this modification seeks to achieve. Though the baseline operating temperature is 95ºC, the electrically controlled t-stat allows normal operating temperature to fluctuate in the 75ºC-113ºC range depending on driver input and operating conditions. For more details on how it works, look here. As mentioned, the reprogrammed temp. gauge is advantageous because it will, among other things, help you recognize a soft failing and give you more time to shut off your engine if it overheats.

    The following is a graphic of the factory vs. revision #1 temp. gauge courtesy of SilberVogel. His original post can be found here. He has also attached a screenshot of his revision of offset 0x0F0 with PA Soft 1.4 in post #62 of this thread.




    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.

    To TerraPhantm, I send a big "thank you." If you're ever in Philly, I'll take you out for a beer, a cheesesteak and whatever else you want.
    Quote Originally Posted by TerraPhantm View Post
    KMT_KENNLINIE (Coolant Gauge Curve)
    Code:
    2003(?)+ Clusters
    E46 M3:  06 0F 3C 55 5F 69 73 00 10 2D 2D
    Non-M:   06 0F 32 4B 73 7D 8F 00 10 2D 2D
    Revised: 06 0F 41 5A 64 6E 73 00 10 2D 2D
    
    2002(and others?) Clusters:
    E46 M3:  0F 00 3C 1F 55 5A 5F 5A 69 94 73 A4 06 0E 1E 0F (hypothesized values)
    Non-M:   0F 00 32 1F 4B 5A 73 5A 7C 94 7D A4 06 0E 1E 0F
    Revised: 0F 00 41 1F 5A 5A 65 5A 6E 94 73 A4 06 0E 1E 0F
    Code:
    Non-M Default	M3 Default	Recommended non-M	Function / Angle
    0x0F (15ºC)	0x0F (15ºC)	0x0F (15ºC)	Gauge Start (0º)
    0x32 (50ºC)	0x3C (60ºC)	0x41 (65ºC)	End of Blue (15.5º)
    0x4B (75ºC)	0x55 (85ºC)	0x5A (90ºC)	Center (Buffer Start) (45º)
    0x73 (115ºC)	0x5F (95ºC)	0x64 (100ºC)	Center (Buffer End) (45º)
    0x7D (125ºC)	0x69 (105ºC)	0x6E (110ºC)	Start of Red (79º)
    0x8F (143ºC)	0x73 (115ºC)	0x73 (115ºC)	End of Red or LED on?? (84º)
    (note, last two temperatures appear to be different for early clusters)

    M3 buffer is from 85º to 95ºC. Which is odd because the car comes with an 82º thermostat and it's rare that I can get it above 85º

    115ºC might be a little aggressive to max out the gauge, but I figure the early warning would be good. You guys can tweak the values to your liking
    Last edited by NorCalZman; 02-18-2014 at 04:27 PM.
    2005 BMW 330i ZHP 6MT. Built 11-19-04. Bought 4-2012.
    Stock: Nav, leather, PDC, Xenon
    Added by me: OEM Alarm, OEM heated seats, OEM aux kit, OEM Bluetooth, intravee, M3 strut brace, BMW Performance Intake, Nappa leather arm rest, updated LCM (triple blink, euro hazards, trifecta lighting, 3 stage brakes), temp gauge

Similar Threads

  1. PA SOFT: Change the temps on your heated seats
    By NorCalZman in forum BMW Coding
    Replies: 29
    Last Post: 01-26-2017, 03:11 AM
  2. Temp Gauge Not Working
    By webster in forum Mechanical | Troubleshooting
    Replies: 13
    Last Post: 11-13-2012, 08:52 AM
  3. soft brake pedal.
    By BRGcoopahS in forum Mechanical | Troubleshooting
    Replies: 8
    Last Post: 10-10-2012, 04:32 PM
  4. Hard Wax v. Soft Wax
    By llll1l1ll in forum Detailing
    Replies: 11
    Last Post: 09-23-2011, 10:15 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •