2025-10-07 4:43 PM - edited 2025-10-08 11:43 AM
I have a NUCLEO-C071RB with an STM32C071RB. In section 31.1 of RM0490 Rev 5, it describes the first 32 bits of the unique ID like this:
Bits 31:0 UID[31:0]: X and Y coordinates on the wafer expressed in BCD format
BCD should mean binary-coded decimal, which means each 4-bit nibble is between 0 and 9, but if I run "STM32_Programmer_CLI --connect port=swd -r8 0x1FFF7550 12", I get:
0x1FFF7550 : AF 00 40 00 14 50 36 42 48 37 30 20
The first byte, 0xAF, is not BCD.
In my experience working with these chips, it looks like bytes 0 and 2 are just arbitrary binary bytes which tend to be less than 0x80 but not always. And bytes 1 and 3 are always 0.
So what do those first four bytes really represent? And is the documentation for the other 8 bytes in RM0490 accurate? It says there is a 1-byte wafer number, followed by 7 bytes of ASCII for the lot number.
(Part of the reason I'd like to know this is so I can make a good scheme for converting the unique ID to an ASCII string using less than two hex characters per byte, taking advantage of the parts of the unique ID that tend to be ASCII or zero.)
Solved! Go to Solution.
2025-10-15 7:03 AM
Dear @Andrew Neil @DavidEGrayson ,
Sorry for the wording. The UID is Unique across all STM32 MCUs whatever is the series alike STM32F1, F0, C0 H7 etc, wanted just to highlight it .
Now back to original question, we confirm that our Reference Manual should be updated for STM32C0 and the decoding of X and Y is the following:
So this means that the bit 15 is the sign bit and the 15 others are the coordinate number in hex format.
You can use this Internal Number#219769 for tracking in future.
Thanks again for spotting this .
STOne-32.
2025-10-12 6:23 AM
Dear @DavidEGrayson ,
Thank you for spotting this inconsistency, indeed these unique 96-bit are coded across all Unitary STM32 MCUs across all families , all series and may be impacted by our Different diffusion factories , so either in BCD or Integer , HEX .
These are the X and Y position of the die at Wafer level which may be an 8 inch or 12 inch diameter , You can do maths how many die we may produce by a Wafer based on the die size which is equivalent to the WLCSP variant from each MCU part. It may happen also they the nibbles are mixed for the X and Y, But most important we guarantee that the coding is unique for the 96-bits .
Hope it helps you and will check internally with our factory on this particular device .
Regards,
STOne-32
2025-10-15 3:19 AM
@STOne-32 wrote:Unitary STM32 MCUs
What does "Unitary" mean in this context?
2025-10-15 7:03 AM
Dear @Andrew Neil @DavidEGrayson ,
Sorry for the wording. The UID is Unique across all STM32 MCUs whatever is the series alike STM32F1, F0, C0 H7 etc, wanted just to highlight it .
Now back to original question, we confirm that our Reference Manual should be updated for STM32C0 and the decoding of X and Y is the following:
So this means that the bit 15 is the sign bit and the 15 others are the coordinate number in hex format.
You can use this Internal Number#219769 for tracking in future.
Thanks again for spotting this .
STOne-32.