As expected, calibration data stored in that I2C EEPROM as raw data.
I did not want to desolder IC, so borged a little I2C dongle to hook TL866 programmer (Thanks Dave, bought one for 60$ with bunch of adapters after EEVBlog video episode. Good tool).
There was a caveat - as I2C have open-collector lines, you don't want CPU to capture bus, in that case you will not be able to communicate with EEPROM by remote programmer.
Luckily - there is easy solution, tie RESET to ground, and there is a test post TP602, which easy to use to do so.
After keeping reset low, and power on - no problems to read/write EEPROM from TL866.
Whole setup, how i did it:
Binary image from digital board S/N A19956 ROMQuick look with hex-editor:
![](http://dev.xdevs.com/projects/kei2001/repository/raw/firmware/cal_data1.png)
Some values I was able to correlate to earlier read constant values from :CAL:PROT:DATA? query.
Need check what other formats are used for float-hex representation.
And there is some checksum algorithm to check ROM contents integrity, because if I try change calibration dates by hex editing - meter detects abuse and gives funny error
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/smiley.gif)
![](http://dev.xdevs.com/projects/kei2001/repository/raw/firmware/cal_corr2.jpg)
+
![](http://dev.xdevs.com/projects/kei2001/repository/raw/firmware/cal_corr.jpg)
Amount of exclamation marks gives us feeling, that Keithley R&D were taking calibration serious enough
![DMM :-DMM](https://www.eevblog.com/forum/Smileys/default/smiliey_dmm.gif)