Custom nRF52840 module high power consumption with OPENTHREAD turned on

I have a custom nRF52840 module (made by Holyiot 18010) running the default Blinky program with some custom configs. I'm measuring its power consumption with PPK II with source mode on a 3V voltage. If I run the program normally the current consumption hovers around ~10uA (which is to be expected). However, if I have CONFIG_NET_L2_OPENTHREAD=y, the average current jumps to 1mA and stays there. 

What is strange is that when I try to run the same program with OPENTHREAD turned on for the nrf52840 DK, the current seems to be back in the uA range. Any idea what could be the problem here? Appreciate any help!

Parents Reply Children
  • Hi,

    Have you configured the DC-DC?

    What is strange is that when I try to run the same program with OPENTHREAD turned on for the nrf52840 DK, the current seems to be back in the uA range

    Can you specify what the current is on the DK?

    Have you enabled sleepy end device on the nRF52840 module, and is what you are measuring the sleep current or when it is doing something?

    Best regards,
    Marte

  • Hi Marte,

    I've tried to cut down the options and the code to a minimum. The options in my prj.conf file are

    CONFIG_SERIAL=n
    CONFIG_NETWORKING=y
    CONFIG_NET_L2_OPENTHREAD=y
    (Run on DK about 10uA; on custom module about 1mA)
    If I set CONFIG_NET_L2_OPENTHREAD=n instead, it will give me about the same power usage on DK (about 10uA), but I get much lower current consumption on my custom board that lowered to about ~30uA.
    Running the boards as SED devices didn't really make a difference in this minimal example for me since I'm assuming the board is not making any active connections.
    What's really bizarre is that if I supply the custom board with a much lower voltage on nRF_VDD (the cutoff seems to be about 2.5V), it seemed to have triggered something off. The voltage on the custom board is now running in the ~50-70uA range. This will only happen after I do a reset after the voltage set. Please see the following graph for reference.

    Best,
    Kevin
  • Hey Kevin,

    Your VDDH net is floating. When VDDH/REG0 is enabled, left floating, and more than ~2.5V is supplied to VDD, then current will flow back into VDDH/REG0 and REG0 enters an undefined state.

    See Circuit configuration no. 4 for QIAA aQFN73 for reference.

    BR,

    Håkon Holdhus.

  • Thank you!! That does seem to be the issue. Is there any way to turn VDDH/REG0 off through config options or firmware since I don't have easy control over the how the custom module was designed?

  • Set BOARD_ENABLE_DCDC_HV=n in your prj.conf file. You also need to remove L4 and C19, and connect VDDH to VDD with a short wire. That should put the board in a good state, though there might be permanent damage to the REG0 stage. Also note that max input voltage is now 3.9V instead of 5.5V. 

    BTW, was this module designed for you by HolyIOT or is this one of their off-the-shelf modules? 

Related