Skip to main content
Visitor II
March 8, 2024
Solved

STM32H7A3 Unique Device ID number question

  • March 8, 2024
  • 4 replies
  • 3916 views

Hi @mƎALLEm,

I need to develop a unique serial number for one of our products that will go into production soon. I'd rather use the UID that is built into the STM32H7A3 chip but I have some questions.

I understand that it is a 96bit value that I can read from the chip but I'd rather not have to use such a long and unwieldy number.

I looked at page 2920 of the manual RM4055 but it doesn't really tell me which byte is for which variable (Lot, Wafer, Die, etc).

This number will need to fit onto our 7" display as well as the serial number label on the product's back side.

Has anyone else been able to figure out the UID format?

Thanks,

Richard

    This topic has been closed for replies.
    Best answer by mƎALLEm

    Hello @RCooke88 ,

    Following are what we can provide as UID structure information:

    0x8FFF800 - 16 bits ->	X coordinate (integer)
    0x8FFF802 - 16 bits ->	Y coordinate (integer)
    
    0x8FFF804 - 8 bits -> Wafer number (integer) 0x8FFF805 - 8 bits -> LOT_ID0 (ascii code) 0x8FFF806 - 8 bits -> LOT_ID1 (ascii code) 0x8FFF807 - 8 bits -> LOT_ID2 (ascii code) 0x8FFF808 - 8 bits -> LOT_ID3 (ascii code) 0x8FFF809 - 8 bits -> LOT_ID4 (ascii code) 0x8FFF80A - 8 bits -> LOT_ID5 (ascii code) 0x8FFF80B - 8 bits -> LOT_ID6 (ascii code)

    It's the same as STM32H743. 

    I'm pushing internally to add these details in RM0455.

    4 replies

    Super User
    March 8, 2024

    Hi,

    look, from search here :

    https://community.st.com/t5/stm32-mcus/how-to-obtain-and-use-the-stm32-96-bit-uid/ta-p/621443

     

    I would use the 

    • UID[31:0]: X and Y coordinates on the wafer expressed in BCD format
    • UID[39:32]: WAF_NUM[7:0] Wafer number (8-bit unsigned number)

    So you get a 40bit number, just for this chip. (is 12 digits )

    Graduate II
    March 8, 2024

    @mƎALLEm indicated that he'd check the specifics for the H7Ax/H7Bx

    https://community.st.com/t5/stm32-mcus-products/stm32h743-unique-device-id-register/m-p/648318#M237588

    I'm not sure there's anything in there that can be reduced in a way that's unique, and hashing is still likely to result in collisions.

    You've also got 1KB of OTP, and if you're buying MAC Numbers for Ethernet, etc, then you could use that.

    Commercially it would likely make sense to use your own scheme, which you can then relate to screen and MCU serial numbers if you need that within your own back-end databases, and perhaps any public / private keys you want to push into these devices.

    You could use elliptic curve signing to permanently associate a specific MCU and PANEL, etc to a specific piece of hardware, but that obviously makes any rework / replacement exceeding difficult and undesirable.

    Technical Moderator
    March 8, 2024

    I requested you to check RM0433 and asked if this is the information you are looking for. Could you please confirm and open a new thread with a specific title as other users can find the thread easily later?

    Thank you

    Graduate II
    March 8, 2024

    I think the crux of the question here, is there anything that can be reduced effectively?

    I think the realistic answer is that it cannot, and ST's not buying unique MAC/UUID numbers and passing the costs on to everyone.

    ST's only reasonable guarantee is that the 96-bit value is unique for those IC's sold and manufactured by ST. The only way there'd be more than one instance would be if the process broke down somewhere, not impossible, but highly unlikely. 

    Graduate II
    March 11, 2024

    I'm not sure if it was @Tesla DeLorean  or @Piranha who gave me the advice of building a 32-bit CRC from the 96-bit UID.

    I'm using the result as part of my ethernet MACs and DNS-names.

    But I'm not yet in high volume production - and probably will never be for our company. ;)