Results 1 to 6 of 6

Thread: Consolidated custom temp coding tweaks - gauge needle and alarms

  1. #1
    geargrinder's Avatar
    geargrinder is offline Having No Trouble Here BMW CCA Member
    Join Date
    Mar 2010
    Location
    AndoverRockport MA & Intl
    Posts
    14,856
    My Cars
    E46M3Cic E39.540iT E84X1

    Consolidated custom temp coding tweaks - gauge needle and alarms

    I have a number of old threads on this but since it's come up a few times recently, and I've been testing my favorite 88C values for a while and am very happy w/ them, I thought it might be better to consolidate and update this into one current thread.

    The issues - slow temp response and high alarm thresholds:

    Many of us find the cluster coolant temp gauge behavior to be less than satisfactory or ideal. The factory gauge needle will virtually never move from center during normal operation, until an extreme overheat condition occurs to finally make it move to the right.

    In order to display the temperature, the cluster buffers the signal (averages over time), then uses one conversion table to turn raw temp-signal into actual temp degrees C, then uses a 2nd temp-to-needle-angle lookup table to finally set the gauge. The buffering is obviously to make everything look sedate and 'fine at all times' to the layman so he/she doesn't worry "oh no my gauge is moving around!" but it means you don't see spikes quickly. Then also the BMW gauge 'angle' tables are setup from Munich so that the needle 'sticks' in the upright zone for anything vaguely in the range of 'normal' and short of a major failure. Again - make it look 'all is well all the time!' as much as possible. However between the buffering and the angle you don't get much warning when something goes wrong and as many have noted over the years - the needle seems to almost never move after the car warms up.

    Ideally many would prefer an 'old school' gauge behavior out of the display, one that acts like a true temp gauge showing both small and large movements, giving some early indication of when the coolant temp is beginning to rise for instance.

    First - all the coding for the gauge needle resides in the cluster and therefore, with some slight limitations, custom coding the curve for gauge points is perfectly possible.

    Second - in addition the overheat alarm that appears in the cluster when the car overheats is at 130C by default, which is fairly high. Many would also like to see an alarm well before that point. Well that is coded through the LCM and therefore is also very customizable.

    Before going on, here's the...

    Disclaimer: These mods require a working coding tool - NCSExpert and/or PASoft - and solid understanding of how to code including adding new parameters. These are not mods that can be accomplished with only ticking boxes and saying 'OK'. They aren't too dangerous and you shouldn't be able to screw things up too badly but anybody wanting to undertake this is on their own and if you brick a cluster or module its on you... And please don't ask here "how do I learn to code and what is a computer and where do I get a cable and what's an NCSExpert etc. etc. etc." Those questions and answers all are well covered elsewhere in the forums, specifically in the diagnostic software section. If you are stupified by any of the concepts below, there are many forum members w/ software and capabilities who might be able to help you with this, some for free and some as a service, including but not limited to the swell guys known as blackknight530i and DUDMD (no business affiliation... just good guys). Consider yourself disclaimed.

    Background - key temperatures:

    Worth nothing before going any further, what some of the key KTMP (coolant temp) points are for these cars:

    80C - Theoretical 'bottom' of OE MAP range (if it was powered all the time)
    90-95C - Roughly 'normal' operating range for 88C BMW diesel thermostat
    105-110C - Roughly 'normal' operating range for OE MAP thermostat
    117C - AC partial cut-out temperature
    120C - AC full cut-out temperature
    130C - OE coolant temp alarm

    Temp curve tweaks:

    Adjusting the temp curve consists of tweaking the gauge angle values with two factors in mind - where 'normal operating range' will sit, and, how 'steep' can we make the gauge movement for the most temperature resolution or granularity. Basically the desire for most people will be to see the most movement of the needle per each degree of temperature change. For certain technical coding reasons, there are some limitations on how much can be done however.

    The values provided as suggestions below are as 'steep' for each 'center value' as can be achieved without adjusting additional tables which may or may not have problematic secondary impacts elsewhere in the car.

    And because of the first factor of consideration - where center sits - the tables should very much be different for an 88C non-MAP thermostat (or otherwise modified/aftermarket t-stat) than for those running the factory thermostat. Therefore below are two separate sections...

    Mechanics of coding:

    In order to change gauge angle, all that has to happen is to edit a single temp-to-angle table string in the instrument cluster and provide a custom value for it. There are 2 ways to accomplish this using the most common coding software available to people..

    Method 1 - Using NCS Expert, add the desired custom value for the parameter "KUEHLMITTELTEMP_ANZEIGEW" - either using NCS Dummy functions for adding a custom parameter value or by hand editing the config files - and then use normal NCS Expert / Dummy methods to code that new value to the cluster i.e. the IKE/KMBI. If any of that is Greek Rocket Science to you, see the disclaimer.

    Method 2 - Using PASoft, download the binary hex for the module coding, and edit the strings beginning at 0x00F4, and at 0x029C (the parameter appears twice in the binary). If any of that is Greek Rocket Science to you, see the disclaimer.

    For various raisins, I had trouble coding w/ NCS Expert but some of those raisins are due to oddball stuff in my config so Method 1 may work fine for some folks - I think I was able to use it fine in the past w/ older setup, but at the moment I'm coding my own car w/ Method 2.

    OEM MAP Thermostat:

    Because of technical reasons involving 'incremental values' and the value of one byte = 128, there is only so steep the curve can be made without screwing up other things. However there is another choice which is where 'normal' sits. If we place 'normal' on the left hash instead of the middle centered hash (like some Audis do from the factory BTW), then we have more room to steepen the curve. Therefore below are two values - one for those who insist on a 'centered must be normal cuz that's how they do it in racecars!', and one for those who would take more-needle-movement in return for accepting the 'normal' to sit on the left hash.

    For these t-stats the movement won't be too profound during 'normal' conditions but it will move faster and more extreme when you get to the further ends of pperating condition and certainly sooner than the factory needle moves (i.e. 2 seconds before meltdown).

    Option 1 - OEM MAP T-stat - Factory centered operating point with steepest curve before/after.
    2A0F7E327E4BFF737478237D

    Option 2- OEM MAP T-stat - Normal op point on left hash(dot) with max steep curve before/after.
    1C0F4632684BFF73CF78237D


    88C BMW Diesel Thermostat:

    The 88C T-stat provides more room to work, and therefore we can easily center the gauge and have a nice steep movement of the gauge during regular driving and a nearly perfect linear curve of movement to temperature. This works very very nicely, in normal conditions on cool days the needle will dip, on very hot days w/ AC on the needle will rise.... all things your coolant is doing all the time anyway but you can't see due to BMW's factory gauge philosophy.

    88C T-stat - Centered operating point
    540FC432854BFF731978077D

    CHART TIME!



    ​Cluster overtemperature alarm tweak:

    In addition the alarm temperature for the dash can be recoded fairly easily. Factory options are 125C (I6's mostly) or 130C (the V8's) - the default 130C temperature for the V8's is certainly very high, and many of us would prefer to have been warned long before it gets to that point.

    Mechanics of coding:

    All coding for the alert is in the LCM (I know seems weird but LCM controls sending alert messages to the cluster).

    In this case it's a bit more involved you need to tweak a couple things to enable the custom alert value to work for some reason... but this is easily accomplished w/ NCS Expert & NCS Dummy.

    1. Change the TWO values (aka there are 2 different ones w same name) for KUEHLMITTLETEMP to 'melden' aka reported.

    2. Ensure KUEHLMITTELUEBERTEMP_CAN is set to 'nicht activ'.

    3. Then edit the value for MOTOR_UEBERTEMP to the temperature you want to be alerted for. Factory options are 125C (I6's mostly) or 130C (the V8's) so V8's can lower the temperature by 5C without any custom parameter work. In order to get anything more than that, a custom parameter value needs to be added however. Convert your desired temperature to a hex value then add that as a parameter value option... And if any of that is confusing... see disclaimer.

    OEM MAP Thermostat:

    While getting sooner notice is probably a really good idea, with a factory T-stat you prob don't want below 115C or it will 'false alarm' frequently during non-crisis events. Given the AC is fully cut out by the DME at 120C one might think you'd like to know at or around that temperature for instance, so something around 115-120C is probably a decent value for a stock car. Possible hex values you might like to choose below.

    115C = 0x73
    117C = 0x75
    120C = 0x78

    88C BMW Diesel Thermostat:

    For an 88C T-stat, I found 105C to be a bit too low, and on hot slow traffic AC days I'd get the alarm and despite knowing in my mind "well it should still be fine according to the gauge..." it could be a bit nerve wracking... 115C seems to be a good compromise, and I know I'll get the alarm still before the AC starts to kick out. Anything 110-115C is probably good for these cars.

    110C = 0x6E
    112C = 0x70
    115C = 0x73

    HTH. GG.
    2003 M3CicM6 TiAg
    2002 540iT Sport Vortech S/C 6MT LSD TiAg
    2008 Audi A3 2.0T DSG (the daily beater)
    2014 BMW X1 xDrive28i (wifemobile)

    Former:

    1985 MB Euro graymarket 300SL
    1995.5 Audi S6 Avant (utility/winter billetturbobattlewagen)


  2. #2
    Join Date
    Aug 2016
    Location
    North Chicagoland, IL
    Posts
    1
    My Cars
    2003 530i 5MT
    I know this thread is over a year old but I want to confirm the OE values. I have a 03 530i 5MT and the values I pulled off the IKE are 23 0F 5A 32 C5 4B C5 73 36 78 6A 7D. Are these the correct original values and it would be safe for me to change them to option one?

  3. #3
    Join Date
    Jun 2017
    Location
    Chicago
    Posts
    438
    My Cars
    2003 BMW 530i M Sport
    Any update? I'm also curious and have a '03 530i but it's an auto
    2003 530i M Sport [Black Sapphire Metallic & Sand Interior]

    IMG_1075 by Alex Wilson Photography, on Flickr



  4. #4
    geargrinder's Avatar
    geargrinder is offline Having No Trouble Here BMW CCA Member
    Join Date
    Mar 2010
    Location
    AndoverRockport MA & Intl
    Posts
    14,856
    My Cars
    E46M3Cic E39.540iT E84X1
    Yeah guys...

    Firstly, you should be fine to try whatever you want. This is a 'harmless' coding hack so you can try whatever you like. Backup your files and restore them if anything goes wrong or you don't like results.

    Secondly, have a look here. We discovered a weird oddity last year. Not sure I get it. Seems to be related to MAP thermostat delete... Weird. This probably won't affect you? But I'd be interested to know. Seems to me like there's something funny going on. It may be that we were not editing the strings in both places which is required to get it to work properly? Its important I think to save the hex string exactly the same in both locations...

    https://www.bimmerforums.com/forum/s...ing-Temp-Gauge

    Thirdly, cholo, those are interesting values. According to the EDIABAS/NCSExpert data, all E39's should have the same default coding, which would the one I show above... but clearly you have something different.

    I put your values in my Excel decode/encode/charting-tool , and basically it looks nearly identical to the documented default that I've seen everywhere else (granted I'm only working on 540's most of the time...)

    Maybe for M54 engined cars they in fact did put a slightly different coding in there at the factory that isnt reflected in the version of EDIABAS data I am looking at... maybe that coding difference is recorded in some other version of data out there. At any rate, doesn't matter really because it is virtually the same as whats in my post and you should be fine to try the hack.

    2003 M3CicM6 TiAg
    2002 540iT Sport Vortech S/C 6MT LSD TiAg
    2008 Audi A3 2.0T DSG (the daily beater)
    2014 BMW X1 xDrive28i (wifemobile)

    Former:

    1985 MB Euro graymarket 300SL
    1995.5 Audi S6 Avant (utility/winter billetturbobattlewagen)


  5. #5
    Join Date
    Jun 2017
    Location
    Chicago
    Posts
    438
    My Cars
    2003 BMW 530i M Sport
    I've come into the ownership of a 2001 540i 6spd that has had it's OEM cluster replaced with an M5 cluster.... I had a bunch of issues from the start because the IKE didn't have the VIN coded, but once I got the VIN coded I got the DSC / abs all working fine, no tamper dot etc. Now I thought once I had the right VIN coded that the temp gauge would start to read correctly, as it's always read 1/4 past 12' o clock while at temp (225f). I know I can never get the active redline or oil temp gauge to work, but I at least want my temp gauge to read correctly!! I've run the cluster test for all the gauge needles and confirmed that yes, my gas temp stepper motor is damaged/misaligned but the coolant temp needle does the full sweep without any problems or hang ups. Is this going to be my next best solution to fixing the coolant temp gauge on the M5 cluster? Is there anything significantly different with coding a custom coolant temp to the M5 cluster? Where is the hex located I'm looking for?

    Does this seem like a good gauge custom temps?

    https://i.imgur.com/Gcb3mHm.pngGcb3mHm.png

    Any help is very much appreciated please!
    Last edited by 1823alex; 04-17-2023 at 04:53 AM.
    2003 530i M Sport [Black Sapphire Metallic & Sand Interior]

    IMG_1075 by Alex Wilson Photography, on Flickr



  6. #6
    Join Date
    May 2018
    Location
    Austin, TX
    Posts
    824
    My Cars
    00 M5 | 03 540i | 94 NSX
    On my M5 cluster (in my 2003 540) I set both middle values to 90c. I have an 88c thermostat so as coolant temp varies a bit with operating conditions the needle either sits slightly left or right of center. The tick marks to each side of the middle are 75 and 105 respectively, but I don't remember what the others were.

    In my experience, the premise of this thread that E39 clusters work fundamentally different than E46 clusters is completely false. I coded my M5 cluster coolant temp gauge exactly like you would with an E46 and it worked perfectly.

    You can actually get both the active redline and the oil temp gauge to work by modifying the DME code, but the oil temp value will be the "estimated" oil temp value that the DME generates not actual measured oil temp.

    You can buy replacement stepper motors for the cluster, the same site that sells the LCD screens has them I believe and they are relatively easy to swap out. measured oil temp.
    Last edited by MotorMouth93; 04-17-2023 at 01:43 PM.

Similar Threads

  1. E36 Custom E36 Sunglass Holder Gauge Pod Kit w/ Oil Press, Oil Temp, and H2O Temp
    By cragg56 in forum Interior Lighting & Body Parts
    Replies: 9
    Last Post: 07-16-2013, 01:10 PM
  2. Replies: 15
    Last Post: 07-16-2013, 12:09 PM
  3. Reverse Indiglo Gauges/Red Needles and Odometer
    By BMWFAN in forum BMW Parts For Sale
    Replies: 5
    Last Post: 11-23-2003, 09:32 PM
  4. Reverse Indiglo Gauges/Red Needles and Blue Odometer
    By Fishblaze in forum BMW Parts For Sale
    Replies: 18
    Last Post: 12-08-2002, 04:09 PM
  5. Reverse Indiglo Gauges/Red Needles and Odometer
    By Fishblaze in forum BMW Parts For Sale
    Replies: 54
    Last Post: 07-09-2002, 09:05 PM

Bookmarks

Posting Permissions

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