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.