Some nRF51 modules are sold with metal covers preventing visual access to the chip and date code. Is it possible to identify the revision of a nRF51822 through the Cortex-M0 SCB->CPUID register or other means?
Some nRF51 modules are sold with metal covers preventing visual access to the chip and date code. Is it possible to identify the revision of a nRF51822 through the Cortex-M0 SCB->CPUID register or other means?
Hi Jeff, You should read the HWID in the CONFIGID in FICR on the chip as described in Chapter 7 in the nRF51 Reference Manual.
Then you can match your chip HWID with the chip revision as in compatibility matrix table here.
Our nRF51822 IC contains
NRF_FICR->CONFIGID - 0xFFFF0084
HWID - 0x84
The HWID 0x84 is not in the compatibility matrix. Are all HWID values in the compatibility matrix?
Hi Jeff,
Sorry that the compability matrix doesn't cover all of the HWID especially the newer one. However, if you want to query information about the chip revision, ram, rom size, you should use the nrf_ic_info_get() function as described by Stefan here.
In your case it's a QFAC Ax0 chip, with 256kB flash and 32kB RAM.
If you're doing this manually, nrf_ic_info_get
gets register 0xF0000FE8
, and checks to see if the last byte is 0x1_
(rev 1), 0x4_
(rev 2), or 0x7_
, 0x8_
, or 0x9_
(rev 3) (where underscore means any digit).
There was a post a while ago pointing out there's a file in the windows version of the SDK called nrf51deviceids.xml. That has every build code with full information for the chip. it has softdevice info too and is really rather useful.