HansJr
Full Access Member
So much info in here! Thanks @DougAMiller so much for all the hard work. Ordering a bunch of stuff today. Will post when I get it done!
Disclaimer: Links on this page pointing to Amazon, eBay and other sites may include affiliate code. If you click them and make a purchase, we may earn a small commission.
Here is a bit of what I have figured out.
The odometer value is repeated three times for data integrity. First two bytes are the most significant and the least significant byte is roved over the next 10 bytes since this is written every 1/10 of a mile and the EEPROM is spec'ed for 1 million write cycles. This would stay within spec for 1 million miles.
Engine hours is stored once as four bytes, although I can't imagine needing the fourth byte, divide by 10 since it is recorded to 1/10 of an hour, and it is stored LSB→MSB.
TransTemp 0x000059 0 - Yes 1 - No
Vehicle Settings
0x00005A 0 - English 1 - French 2 - Spanish
0x00005B 0 - Imperial 1 - Metric
The VIN is stored as plain text, that is, the characters are encoded in ASCII and written as hex.
Last 4 characters from label bar code stored as plain text, serial number maybe?
GM 8 digit Part Number for cluster is stored in hex format MSB→LSB
Cluster model ID is 4 large characters from the label. Also stored as ASCII plain text.
Trip meter value is in speedometer pulses, e.g. miles = value/4000, it is stored LSB→MSB. Took me a while to figure out how they were encoding this, but it means that your trip meter is accurate to about 15 inches!. It's probably only updated in volatile memory and stored periodically or at shutdown, otherwise it would wear out the memory location pretty quickly.
Not stored in cluster:
Vehicle settings menu, except language (1) and units (2)
Timer
Fuel used
View attachment 218561
Gray blocks are the same in every memory dump I have looked at, and are mostly zero and probably unused. Still trying to figure out the gauge calibrations, which I think are stored somewhere in the white blocks.
Great info...Was able to add a servo for temp to my 2005 cluster, program in circuit the temp bit, and Walha....It works great!! Bought a temp cluster from a junkyard for the proper overlay, installed new bulbs...ready for another 120K miles....THANKS!!Here is a bit of what I have figured out.
The odometer value is repeated three times for data integrity. First two bytes are the most significant and the least significant byte is roved over the next 10 bytes since this is written every 1/10 of a mile and the EEPROM is spec'ed for 1 million write cycles. This would stay within spec for 1 million miles.
Engine hours is stored once as four bytes, although I can't imagine needing the fourth byte, divide by 10 since it is recorded to 1/10 of an hour, and it is stored LSB→MSB.
TransTemp 0x000059 0 - Yes 1 - No
Vehicle Settings
0x00005A 0 - English 1 - French 2 - Spanish
0x00005B 0 - Imperial 1 - Metric
The VIN is stored as plain text, that is, the characters are encoded in ASCII and written as hex.
Last 4 characters from label bar code stored as plain text, serial number maybe?
GM 8 digit Part Number for cluster is stored in hex format MSB→LSB
Cluster model ID is 4 large characters from the label. Also stored as ASCII plain text.
Trip meter value is in speedometer pulses, e.g. miles = value/4000, it is stored LSB→MSB. Took me a while to figure out how they were encoding this, but it means that your trip meter is accurate to about 15 inches!. It's probably only updated in volatile memory and stored periodically or at shutdown, otherwise it would wear out the memory location pretty quickly.
Not stored in cluster:
Vehicle settings menu, except language (1) and units (2)
Timer
Fuel used
View attachment 218561
Gray blocks are the same in every memory dump I have looked at, and are mostly zero and probably unused. Still trying to figure out the gauge calibrations, which I think are stored somewhere in the white blocks.
How were you able to get the temp gauge functional in your existing cluster? Do you have the pieces necessary to program or change values as the OP has done? I do not have any of the hardware to get that done, but would pay someone for their services to make the change in my existing cluster. Nice work man!Great info...Was able to add a servo for temp to my 2005 cluster, program in circuit the temp bit, and Walha....It works great!! Bought a temp cluster from a junkyard for the proper overlay, installed new bulbs...ready for another 120K miles....THANKS!!
I know this is an old thread...Leon, did you ever manage to get rid of the brake booster message...I have exactly that messageyes, you are correct. I was mistaken. The code is likely not in the top two lines of code. The service brake booster nag came back after a few days. I wish it would go away again!
I also have a Mac and was afraid I wouldn't be able to do this. Can you provide info on how you did it I know nothing about programming and it looks complicatedNo I have a Mac, and the provided software was Windows only. I ended up using:
![]()
David Griffith / minipro · GitLab
An open source program for controlling the MiniPRO TL866xx series of chip programmersgitlab.com
Which looked hard but was surprisingly easy.
Hello Sir,Here is a bit of what I have figured out.
The odometer value is repeated three times for data integrity. First two bytes are the most significant and the least significant byte is roved over the next 10 bytes since this is written every 1/10 of a mile and the EEPROM is spec'ed for 1 million write cycles. This would stay within spec for 1 million miles.
Engine hours is stored once as four bytes, although I can't imagine needing the fourth byte, divide by 10 since it is recorded to 1/10 of an hour, and it is stored LSB→MSB.
TransTemp 0x000059 0 - Yes 1 - No
Vehicle Settings
0x00005A 0 - English 1 - French 2 - Spanish
0x00005B 0 - Imperial 1 - Metric
The VIN is stored as plain text, that is, the characters are encoded in ASCII and written as hex.
Last 4 characters from label bar code stored as plain text, serial number maybe?
GM 8 digit Part Number for cluster is stored in hex format MSB→LSB
Cluster model ID is 4 large characters from the label. Also stored as ASCII plain text.
Trip meter value is in speedometer pulses, e.g. miles = value/4000, it is stored LSB→MSB. Took me a while to figure out how they were encoding this, but it means that your trip meter is accurate to about 15 inches!. It's probably only updated in volatile memory and stored periodically or at shutdown, otherwise it would wear out the memory location pretty quickly.
Not stored in cluster:
Vehicle settings menu, except language (1) and units (2)
Timer
Fuel used
View attachment 218561
Gray blocks are the same in every memory dump I have looked at, and are mostly zero and probably unused. Still trying to figure out the gauge calibrations, which I think are stored somewhere in the white blocks.
No, sorry. I jumped from a 2005 to a 2021. However, some of the information may be the same or similar, as there was a fair amount of carry-over from 2003-2006 to 2007-2013, but I have never had the opportunity to play with the newer generation.Hello Sir,
Any chanche that you have the same information for 07-13?
Thank you
As far as I know you can't use an 06 cluster in your 01. You can use an 00(possibly the new body style that looks like your 01) to an 02. Those years use the same Canbus system. 03 to 06 uses the updated (different)Canbus. You can use the Escalade cluster as it has the oem transmission temperature gauge.Reviving a dead thread here, thank you for this treasure trove of information. I’m looking to upgrade the cluster in my ‘01 to a new cluster out of an ‘06 2500 with a transmission temp gauge. Would it be as simple as just swapping them out and then using that EPROM to change the mileage to match the mileage on my ‘01 chassis? Any help you guys could share would be immensely appreciated, thank you so much!
There is also the 01-02 Yukon Denali that has the trans temp gauge, just like the Escalade cluster. And I happen to have a used 01-02 Denali cluster for sale right now. But Tonyrodz is correct that the 03-06 cluster is not going to work in a 99-02 vehicle.As far as I know you can't use an 06 cluster in your 01. You can use an 00(possibly the new body style that looks like your 01) to an 02. Those years use the same Canbus system. 03 to 06 uses the updated (different)Canbus. You can use the Escalade cluster as it has the oem transmission temperature gauge.
I forgot about the Denali cluster.There is also the 01-02 Yukon Denali that has the trans temp gauge, just like the Escalade cluster. And I happen to have a used 01-02 Denali cluster for sale right now. But Tonyrodz is correct that the 03-06 cluster is not going to work in a 99-02 vehicle.
As a fellow owner of an 02….we owners of the 00-02’s are limited in our gauges to these two model years. In 03 the entire electrical data system in these were changed and the 00-02 electronics- all of it basically- is not interchangeable with the 03-06’s. Not the cluster, the radio, amp, door switches, mirrors, body, SRS, engine and trans computers, etc etc…nothing interchanges. You need an 00-02 cluster with a trans temp gauge. The mileage is stored in a soldered-in eprom in the cluster and is normally programmed by a reputable instrument cluster repair and programming shop such as fixmygauges.com. If you don’t program it, the cluster will show the mileage of the vehicle it was removed from.Reviving a dead thread here, thank you for this treasure trove of information. I’m looking to upgrade the cluster in my ‘01 to a new cluster out of an ‘06 2500 with a transmission temp gauge. Would it be as simple as just swapping them out and then using that EPROM to change the mileage to match the mileage on my ‘01 chassis? Any help you guys could share would be immensely appreciated, thank you so much!