nrf52833 BLE not working

We are currently mass producing nrf52833. However, there is a problem with BLE communication. The defective product does not appear in the BLE search list at all. The failure rate is about 20%. We confirmed that it works well when we replace only the new nrf52833 on the problematic board.
We purchased 1 reel (3000 units) of nrf52833, and there was no problem up to 500 units.
We want to check if the RADIO module in the nrf52833 is broken or if it is a soldering problem. Is there a way to know if the RADIO module inside the nrf52833 is working properly?
Below is the code we tested.

void test_ble_module(void ){
uint32_t radio_state = NRF_RADIO->STATE;

SEGGER_RTT_printf(1, "RADIO state: %u\n", radio_state);
SEGGER_RTT_printf(1, "NRF_CLOCK : %d\n", NRF_CLOCK->EVENTS_HFCLKSTARTED);

if (radio_state == 0) {
SEGGER_RTT_printf(1, "RADIO is disabled.\n");
} else {
SEGGER_RTT_printf(1, "RADIO is active.\n");
}

SEGGER_RTT_printf(1,"Device ID 0: 0x%08X\n", NRF_FICR->DEVICEID[0]);
SEGGER_RTT_printf(1,"Device ID 1: 0x%08X\n", NRF_FICR->DEVICEID[1]);
SEGGER_RTT_printf(1,"Production Test Signature 0: 0x%08X\n", NRF_FICR->PRODTEST[0]);
SEGGER_RTT_printf(1,"Production Test Signature 1: 0x%08X\n", NRF_FICR->PRODTEST[1]);
SEGGER_RTT_printf(1,"Production Test Signature 2: 0x%08X\n", NRF_FICR->PRODTEST[2]);
SEGGER_RTT_printf(1,"Info Package: 0x%08X\n", NRF_FICR->INFO.PACKAGE);
SEGGER_RTT_printf(1,"Info RAM Size: 0x%08X\n", NRF_FICR->INFO.RAM);
SEGGER_RTT_printf(1,"TEMP A0: 0x%08X\n", NRF_FICR->TEMP.A0);
SEGGER_RTT_printf(1,"TEMP A1: 0x%08X\n", NRF_FICR->TEMP.A1);
if (NRF_RADIO->POWER == 0) {
SEGGER_RTT_printf(1,"Radio module power is off\n");
} else {
SEGGER_RTT_printf(1,"Radio module power is on\n");
}
}

int main(void)
{
init_gpio_pins();
board_power_hold();
task_init();
board_init();
test_ble_module();
vTaskStartScheduler();
for (;;)
{
APP_ERROR_HANDLER(NRF_ERROR_FORBIDDEN);
}
}

And, the output result is as follows.

RADIO state: 0
NRF_CLOCK : 0
RADIO is disabled.
Device ID 0: 0x4D2EA0AC
Device ID 1: 0x8CDE800E
Production Test Signature 0: 0xBB42319F
Production Test Signature 1: 0xBB42319F
Production Test Signature 2: 0xBB42319F
Info Package: 0x00002004
Info RAM Size: 0x00000080
TEMP A0: 0xFFFFF356
TEMP A1: 0xFFFFF356
Radio module power is on

Parents
  • Hello,

    Have you tried to resolder the ''defected'' chip to check if there anything is related to soldering problem. 20% seems a lot. Most of the time, when High frequency crystal does not set or mount properly on the board. You also should verify that the crystal and load capacitors meet the specifications provided in the nRF52833 datasheet. 

  • Thank you for your reply.

    I re-soldered the defective chip, but it did not work the same.
    And, since it works fine when I put a new nrf52833 on the problematic board, I did not suspect the peripheral circuit.

    What I am wondering is, is there a way to check if the RADIO module inside the nrf52833 is working properly?
    In other words, is there any problem with BLE communication inside the nrf52833? Is there no way to check this through the firmware?

Reply
  • Thank you for your reply.

    I re-soldered the defective chip, but it did not work the same.
    And, since it works fine when I put a new nrf52833 on the problematic board, I did not suspect the peripheral circuit.

    What I am wondering is, is there a way to check if the RADIO module inside the nrf52833 is working properly?
    In other words, is there any problem with BLE communication inside the nrf52833? Is there no way to check this through the firmware?

Children
Related