46. Device electronic signature (DESIG)

The device electronic signature is stored in the System memory area of the flash memory module, and can be read using the debug interface or by the CPU. It contains factory-programmed identification and calibration data that allow the user firmware or other external devices to automatically match the characteristics of the microcontroller.

46.1 Device electronic signature registers

46.1.1 DESIG package data register (DESIG_PKGR)

Address offset: 0x000

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PKG[4:0]
rrrrr

Bits 31:5 Reserved, must be kept at reset value.

Bits 4:0 PKG[4:0] : Package type

00011: UFQFPN48 USB

00101: WLSCP88 USB

00111: UFBGA121 USB

01010: UFQFPN48 SMPS

01011: UFQFPN48 SMPS USB

01100: VFQFPN68 SMPS USB

01101: WLSCP88 SMPS USB

01111: UFBGA121 SMPS USB

Others: reserved

46.1.2 DESIG 96-bit unique device ID register 1 (DESIG_UIDR1)

Address offset: 0x200

Reset value: 0xXXXX XXXX (X is factory-programmed)

The 96-bit unique device identifier is ideally suited:

This unique device identifier provides a reference number, unique for a given device and in any context. These bits cannot be altered by the user.

31302928272625242322212019181716
UID[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
UID[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 UID[31:0] : X and Y coordinates on the wafer expressed in BCD format

46.1.3 DESIG 96-bit unique device ID register 2 (DESIG_UIDR2)

Address offset: 0x204

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
UID[63:48]
rrrrrrrrrrrrrrrr
1514131211109876543210
UID[47:32]
rrrrrrrrrrrrrrrr

Bits 31:0 UID[63:32] : Lot and wafer number

UID[63:40] = LOT_NUM[23:0], lot number lower part (ASCII encoded)

UID[39:32] = WAF_NUM[7:0], wafer number (8-bit unsigned number)

46.1.4 DESIG 96-bit unique device ID register 3 (DESIG_UIDR3)

Address offset: 0x208

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
UID[95:80]
rrrrrrrrrrrrrrrr
1514131211109876543210
UID[79:64]
rrrrrrrrrrrrrrrr

Bits 31:0 UID[95:64] : LOT_NUM[55:24], lot number higher part (ASCII encoded)

46.1.5 DESIG temperature calibration 1 register (DESIG_TSCAL1R)

Address offset: 0x210

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.TS_CAL1[11:0]
rrrrrrrrrrrr

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 TS_CAL1[11:0] : Factory temperature sensor calibration 1 value for ADC4

46.1.6 DESIG temperature calibration 2 register (DESIG_TSCAL2R)

Address offset: 0x240

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.Res.Res.TS_CAL2[11:0]
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rrrrrrrrrrrr

Bits 31:28 Reserved, must be kept at reset value.

Bits 27:16 TS_CAL2[11:0] : Factory temperature sensor calibration 2 value for ADC4

Bits 15:0 Reserved, must be kept at reset value.

46.1.7 DESIG FLASH size data register (DESIG_FLASHSIZER)

Address offset: 0x2A0

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
RAM_SIZE[15:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
FLASH_SIZE[15:0]
rrrrrrrrrrrrrrrr

Bits 31:16 RAM_SIZE[15:0] : RAM memory size

These bits indicates the size of the device total system RAM, in Kbytes.
As an example, 0x0040 corresponds to 64 Kbytes.

Bits 15:0 FLASH_SIZE[15:0] : Flash memory size

These bits indicates the size of the device flash memory, in Kbytes.
As an example, 0x0040 corresponds to 64 Kbytes.

46.1.8 DESIG internal voltage reference calibration register (DESIG_VREFINTCALR)

Address offset: 0x2A4

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VREFINT_CAL[11:8]
rrrr
1514131211109876543210
VREFINT_CAL[7:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.
rrrrrrrr

Bits 31:20 Reserved, must be kept at reset value.

Bits 19:8 VREFINT_CAL[11:0] : Factory internal voltage reference calibration value for ADC4

Bits 7:0 Reserved, must be kept at reset value.

46.1.9 DESIG voltage reference buffer calibration register (DESIG_VREFBUFCALR)

Address offset: 0x2A8

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.VREFBUF0_TRIM[5:0]Res.Res.VREFBUF1_TRIM[5:0]
rrrrrrrrrrrr
1514131211109876543210
Res.Res.VREFBUF2_TRIM[5:0]Res.Res.VREFBUF3_TRIM[5:0]
rrrrrrrrrrrr

Bits 31:30 Reserved, must be kept at reset value.

Bits 29:24 VREFBUF0_TRIM[5:0] : VREFBUF0 factory voltage reference buffer calibration value

Bits 23:22 Reserved, must be kept at reset value.

Bits 21:16 VREFBUF1_TRIM[5:0] : VREFBUF1 factory voltage reference buffer calibration value

Bits 15:14 Reserved, must be kept at reset value.

Bits 13:8 VREFBUF2_TRIM[5:0] : VREFBUF2 factory voltage reference buffer calibration value

Bits 7:6 Reserved, must be kept at reset value.

Bits 5:0 VREFBUF3_TRIM[5:0] : VREFBUF3 factory voltage reference buffer calibration value

46.1.10 DESIG resistor calibration register (DESIG_RCALR)

Address offset: 0x2F0

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.R_CAL[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 R_CAL[7:0] : Resistor calibration value

46.1.11 DESIG radio gain calibration register (DESIG_RFGAINCALR)

Address offset: 0x2F4

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
GAIN4_CAL[7:0]GAIN3_CAL[7:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
GAIN2_CAL[7:0]GAIN1_CAL[7:0]
rrrrrrrrrrrrrrrr

Bits 31:24 GAIN4_CAL[7:0] : Radio gain 4 calibration value

Bits 23:16 GAIN3_CAL[7:0] : Radio gain 3 calibration value

Bits 15:8 GAIN2_CAL[7:0] : Radio gain 2 calibration value

Bits 7:0 GAIN1_CAL[7:0] : Radio gain 1 calibration value

46.1.12 DESIG IEEE 64-bit unique device ID register 1 (DESIG_UID64R1)

Address offset: 0x500

Reset value: 0xXXXX XXXX (X is factory-programmed)

31302928272625242322212019181716
DEVNUM[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
DEVNUM[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 DEVNUM[31:0] : Device number

The 32-bit unique device number is a sequential number, different for each individual device.

46.1.13 DESIG IEEE 64-bit unique device ID register 2 (DESIG_UID64R2)

Address offset: 0x504

Reset value: 0x0080 E12A

31302928272625242322212019181716
STID[23:8]
rrrrrrrrrrrrrrrr
1514131211109876543210
STID[7:0]DEVID[7:0]
rrrrrrrrrrrrrrrr

Bits 31:8 STID[23:0] : Company ID
0x0080E1 for STMicroelectronics

Bits 7:0 DEVID[7:0] : Device ID
0x2C: STM32WBA6xxx

46.1.14 DESIG register map

Table 471. DESIG register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000DESIG_PKGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PKG[4:0]
Reset valueXXXX
0x004-0x1FFReserved
0x200DESIG_UIDR1UID[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x204DESIG_UIDR2UID[63:32]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x208DESIG_UIDR3UID[95:64]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x210DESIG_TSCAL1RRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS_CAL1[11:0]
Reset valueXXXXXXXXX
0x214-0x23FReserved
0x240DESIG_TSCAL2RRes.Res.Res.Res.TS_CAL2[11:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset valueXXXXXXXXXXXX
0x244-0x29FReserved
0x2A0DESIG_FLASHSIZERRAM_SIZE[15:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x2A4DESIG_VREFINTCALRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VREFINT_CAL[11:0]
Reset valueXXXXXXXXXXXX
0x2A8DESIG_VREFBUFCALRRes.Res.VREFBUF0_TRIM[5:0]Res.Res.VREFBUF1_TRIM[5:0]Res.Res.VREFBUF2_TRIM[5:0]Res.Res.VREFBUF3_TRIM[5:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXX
0x2AC-0x2EFReserved
0x2F0DESIG_RCALRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.R_CAL[7:0]
Reset valueXXXXXXXX
0x2F4DESIG_RFGAINCALRGAIN4_CAL[7:0]GAIN3_CAL[7:0]GAIN2_CAL[7:0]GAIN1_CAL[7:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x2F8-0x4FFReserved
0x500DESIG_UID64R1DEVNUM[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Refer to Section 2.3: Memory organization for the register boundary addresses.