This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52832 RADIO peripheral stopped after days on test bench

I've a custom board that uses a nrf52832 and Li-SOCl2 battery (3.7V). We've programmed several boards with our firmware and kept then with BLE advertisings every 300ms. A linux BLE application was used to capture advertising data and store a log with the health of the devices. The data saved is basically battery voltage level (from SAADC), firmware reboot count and date of last adv.

One of those boards, sunddenly, presented an increasing number of reboots and then stopped advertising altogether. We tried restoring the functionality of the device through the following steps:

  • Performed "nrfjprog --recover" and "nrfjprog --program" with our firmware;
  • We've tried programming ble_app_beacon from SDK14 to check if the problem came from our code;
  • Still no BLE activity from defective board (similar boards, that presented no such issue, worked OK with ble_app_beacon);
  • Debugging the board showed no unusual activity, code seemed to work just fine (regardless, no BLE activity was identified through nrfConnect);
  • We used blinky code from SDK14 to check MCU's health and the LED blinked as expected.

After those trials seems that only the RADIO peripheral of the MCU was damaged somehow. In log records from the board, battery voltage show no value under 3.09V (but battery was quite old though). I've tried switching the battery from the board to a new one and even used the supply from PCA10040, but none solved the issue.

This raises two doubts:

  • Could quick fluctuations from battery voltage level (SAADC runs every minute and did not catch any alarming levels, spikes had to be quicker than that) damage any peripheral from nrf52832??
  • Is any know cause that could generate the problem described above? What's the better way to avoid it.

Thanks.

Related