High power consumption on nrf5340 custom board bluetooth mesh

Hi! 

I am experiencing higher than expected power consumption ~2  mA on a nrf5340 custom board (using Fanstel BT40E module) when attempting to configure it for a sleep mode. 

The custom firmware is configured with bluetooth mesh, mesh DFU, threads interacting with I2C and GPIO, a vendor model for sending and recieving data and commands.  

The procedure used for entering low power mode for the BT mesh firmware is: 

// Go to low power 
k_thread_suspend(thread1);
k_thread_suspend(thread2);
bt_mesh_prov_disable(BT_MESH_PROV_ADV | BT_MESH_PROV_GATT);    // disabling provisioning bearer
bt_mesh_suspend();    

k_sleep(K_MSEC(duration*1000));

// Undo low power
bt_mesh_resume();                                             
bt_mesh_prov_enable(BT_MESH_PROV_ADV | BT_MESH_PROV_GATT); 
k_thread_resume(thread1);
k_thread_resume(thread2);

This works fine on the nrf5340dk, but not on the custom board. 

The custom board has acceptable power consumption when using a low power sample such as system_off, but not with our custom firmware. 

When starting from a blank low power firmware and adding components, the power comsumption seems to jump to ~ 2 mA when adding DFU mechanisms CONFIG_BOOTLOADER_MCUBOOT=y. There is a mcuboot.conf file in child_image folder with CONFIG_LOG=n and CONFIG_SERIAL=n

Some measurements:

Custom board with system_off (soft_off or suspend to ram state) firmware sample: ~3 µA

Custom board with custom BT mesh firmware:  9 mA normal mode / 2 mA sleep mode

nrf5340 dk with same custom BT mesh firmware 4 mA normal mode / 4 µA sleep mode

The custom board measurements are done for only the microcontroller on the custom board using the PPK2.

I am looking for assistance on where to approach this problem to achieve a similar sleep mode power consumption on the custom board. 

NCS 2.4.0, also tested with 2.5 with similar result

Parents
  • Hi

    Since the difference in current is so big on the custom board vs. the DK, my guess is that the custom board has some detrimental differences in HW compared to the DK, for example poorly loaded external crystals or the lack of DCDC components while still trying to use the DCDC regulator in the application or similar.

    Could you upload the schematics of your custom board so we could take a closer look and compare it with the DK files? Also, does the custom board perhaps have some other components on the board that might draw additional current? Other SoCs, chips, etc. Can you also show us how exactly you measure current on the custom board with a picture for instance.

    Best regards,

    Simon

Reply
  • Hi

    Since the difference in current is so big on the custom board vs. the DK, my guess is that the custom board has some detrimental differences in HW compared to the DK, for example poorly loaded external crystals or the lack of DCDC components while still trying to use the DCDC regulator in the application or similar.

    Could you upload the schematics of your custom board so we could take a closer look and compare it with the DK files? Also, does the custom board perhaps have some other components on the board that might draw additional current? Other SoCs, chips, etc. Can you also show us how exactly you measure current on the custom board with a picture for instance.

    Best regards,

    Simon

Children
Related