STM32 gotchas
124. Calibration values (UniqueID, temperature, internal VREF) are not at the same address - not even within the same family

When manufacturing the STM32, at the testing step, certain unique numbers are programmed into the system memory of individual chips. Among these are the UniqueID; individually measured temperature sensor readouts at two temperatures (TS_CAL1 and TS_CAL2); and readout of VREFINT, the internal voltage reference (VREFINT_CAL).

Some STM32 don't have some or all of these informations programmed at manufacturing. These are usually models of the "Value lines" (those with the principal model number ending with 0, e.g. STM32F030 or STM32F730), where the price decrease is achieved mostly by sparing down testing steps.

Note, that where available, these individual numbers are placed at different addresses within the system memory for different STM32 models. Even individual models within one family may have these addresses different, so it is important to check these addresses in the datasheet for the particular STM32 model and set them properly, when migrating related code from one STM32 model to other.