Chevrolet (03-06) Instrument Cluster EEPROM info

From wiki.N4VX.net
Jump to navigation Jump to search

lorem ipsum

Rough draft status....

Chevy Cluster EEPROM Map.png

Instrument cluster EEPROM is a SOIC8 AT25020A (GM P/N: 56585 for 03-04)

Data Locations
Data Location Notes
Mileage xnnnn-nnnnh
Hours 0x054-055h maybe? in 1/10th hour hex
Temp Gauge 0x000059h 0 – Yes 1 – No

Mileage Notes

The mileage is a bit tricky, as it’s encoded in HEX, and it’s written in three places for data integrity. If you bought a used cluster off eBay, or went to the local Pick N Pull, but you have your original cluster still you can just use the SPI programmer to dump the contents of the EEPROM on your original cluster, and then program this into the chip on the new cluster and away you go – this will copy the mileage and the VIN over as well as your trip meter, engine hour meter, and settings from the old cluster. Since I didn’t have access to the old cluster, but I did know what the truck’s correct was I had to program it myself. The mileage is stored down to the tenth of a mile but the odometer doesn’t display the tenth. In my example photo above, the mileage is recorded as 15 EC 3D which converted to decimal is 1,436,733 or 143,673.3 miles. Convert the correct mileage to hexadecimal and write these back to the EEPROM to correct the mileage. For example, if the correct mileage is 150,000 you would convert 1,500,000 to hexadecimal and write this back to the chip. Remember the last two bytes are written sequentially over a range of addresses for wear leveling so the last two are not necessarily going to be next to the first four bytes, and you need to change all three copies.

Misc.

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

The EEPROM is a 256 byte chip, on mine it configured 256 for chip size, 8 for page, and 95xx for commands. A quick note, sometime around 2005 GM switched the location of U15 and U16, on the later clusters the EEPROM is in the location next to the PRNDL display instead of off to the side where it is on mine. For the newer ones you have to GENTLY shift the PRNDL screen out of the way to get the test clip onto the IC, so for newer clusters the smaller of a clip you can get the better.