2025-07-08 3:46 PM
Hi everyone,
I’m working with an STM32L476 and need to parse its 96-bit Unique Device ID (UID).
According to RM0351, the UID starts at address 0x1FFF 7590.
Reading that region with STM32CubeProgrammer gives:
• 0x1FFF 7590 : 0x004A0029
• 0x1FFF 7594 : 0x58335011
• 0x1FFF 7598 : 0x2031374B
So the full UID (high → low) is 0x2031374B 58335011 004A0029.
According to this documentation, the lower 32 bits encode the X/Y coordinates of the die on the wafer, in BCD.
That leaves two questions:
Bit mapping
Which 16-bit half-word is X and which is Y?
Is it X = bits [31:16] and Y = bits [15:0], or the other way around?
BCD validity
If the field is pure BCD (8421), every nibble should be 0-9, yet the value 0x4A contains nibble A (10).
Do recent STM32 parts still use BCD for these coordinates, or should those half-words be treated as plain unsigned integers?
Any clarification or official reference would be greatly appreciated.
Thanks!
Solved! Go to Solution.
2025-07-15 6:47 AM
Hello,
I've got a confirmation internally regarding question 1: indeed X = bits [15:0] and Y = bits [31:16].
For the second question you need to an online support request over this link.
Thank you
2025-07-11 1:17 AM - edited 2025-07-11 1:45 AM
Hello,
I can answer the first question,
According to this thread: STM32H7A3 Unique Device ID number question
X = bits [15:0] and Y = bits [31:16], I can check.
Meanwhile, I will try to check internally for the format of X/Y and get back to you if I get the information.
2025-07-15 6:47 AM
Hello,
I've got a confirmation internally regarding question 1: indeed X = bits [15:0] and Y = bits [31:16].
For the second question you need to an online support request over this link.
Thank you