This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PGA305: Free space on EEPROM?

Part Number: PGA305
Other Parts Discussed in Thread: PGA900

Hi TI,

I want to express my gratitude for all the assistance provided in previous posts. We have successfully tackled the most crucial aspects of our project.

We have developed a script that systematically goes through all the configuration and calibration steps, resulting in a fully functional and calibrated 4-20mA sensor.
This accomplishment signifies that we are now prepared to transition from research and development to the production phase.

In this regard, we typically need to store a few unique identifiers on the EEPROM, such as a:

  • unique serial number
  • batch number
  • membrane number
  • and so on.

However, we've noticed that EEPROM has allocated one 4-byte number for the serial number in register 0x64 to 0x67. Are there any other available registers that we can utilize for storage, which are not internally in use? We suspect there might be, especially since this is the PGA305, not the PGA900, which utilizes all registers.

We would greatly appreciate a list of all the available registers that we can use for this purpose.

Thank you for your assistance.


Best Regards
Mohammad Waqas Imtiaz

  • Hi Mohammad Waqas Imtiaz,

    Table 20 in the PGA305 datasheet lists all of the used EEPROM address space under the EEPROM Address column.  The EEPROM addressing is 4000000 through 4000007F for 128 bytes total.  As you traverse through the table you may notice that there are some random spaces where there may be 1 or two adjacent bytes.  The largest open area is 40000070 through 4000007E (15 adjacent bytes).

    As far as writing to the EEPROM, the writes must be made through the EEPROM cache in 8-byte increments.  Also the EEPROM CRC must be updated accordingly.

    Best regards,

    Bob B

  • Hi Bob,

    Thank you for your quick response once again.

    Did you mean 6A to 7E, so 21 free registers?



    So all of this registers are free and available for us to use as a additional storage?

    0x400000 38
    0x400000 39

    0x400000 3B

    0x400000 5A
    0x400000 5B

    0x400000 6A
    0x400000 6B
    0x400000 6C
    0x400000 6D
    0x400000 6E
    0x400000 6F
    0x400000 70
    0x400000 71
    0x400000 72
    0x400000 73
    0x400000 74
    0x400000 75
    0x400000 76
    0x400000 77
    0x400000 78
    0x400000 79
    0x400000 7A
    0x400000 7B
    0x400000 7C
    0x400000 7D
    0x400000 7E

    If that is the case, that is far above our expectation and will help us a lot.


    Best Regards
    Mohammad Waqas Imtiaz

  • Hi Mohammad Waqas Imtiaz,

    I was trying to convert decimal and hex in my head too quickly and should have said 6A instead of 70. 

    Keep in mind that you write 8 bytes at a time using the EEPROM cache.  So it may be very easy to mess up some of the configuration when writing to the open EEPROM areas.  Care must be taken to not accidently change configuration values when writing to the EEPROM.

    Best regards,

    Bob B