Thingy91x absolute minimum power consumption

I have been testing the thingy91x and measuring power consumption trying to reduce it to the absolute minimum.

Using a test program that moslty sleeps ( using k_sleep() ) , i'm unable to get power consumption under ~200 uA. Is this to be expected?

I'm not using the board supplied with the Thingy91x kit to measure power consumption, because it provides me relevant but separate SOC power consumption data, as I want to know the total value on the battery side. The setup is shown in the image below.

How can I proceed to further reduce, if possible, this number? i'm using a very basic code, disabling GPIO's, I2C, SPI, PWM, ADC, LTE, Logging, .....

I'm using VSCode and nordic SDK 3.0.1

Thanks in advance.

  

  • My last measurement was about 19µA (NCS 2.9.1).

    Maybe it's the BMM350 as in my ticket some time ago.

    You may also test with the "nrf/samples/cellular/udp" to see, which quiescent current that has.

  • Thank you for your suggestion, Achim. 
    I tested that example yesterday and in in fact seems to go down to 2 uA.

    Seems a bit more promising this way :-)

  • Hi again,  

    I was having strange power consumptions and went back to the UDP sample, still using SDK 3.0.1 in Thingy91x and using the PPK 2 setup as before, in ampere meter mode.

    Although probably not important for this sample, i checked and BMP350 (and remaining i2c sensors) are disabled in the output .dts after build.

    Whatever I do, I don't seem to be able to go below the 300uA quiescent. 

    If i check the power consumption using the expansion board, I can confirm the low power consumption  you also got  for both nrf91 and nrf53, but never, neither using source meter (PPK2 directly supplying power ) nor ampere meter (battery setup).

     Hope you ( or someone else that had this issue ) might shed some light on this.

    Thank you in advance!

  • Although probably not important for this sample, i checked and BMP350 (and remaining i2c sensors) are disabled in the output .dts after build.

    AFAIK, the important part is to execute the "nrf/boards/nordic/thingy91x/bmm350_init_minimal.c", which is included in the "nrf/boards/nordic/thingy91x/CMakeLists.txt"  with

    if (CONFIG_SENSOR AND CONFIG_REGULATOR AND CONFIG_I2C AND NOT CONFIG_BMM350)
      zephyr_library_named(bmm350_init_minimal)
      zephyr_library_sources(bmm350_init_minimal.c)
    endif()

    So, I would check, if the CONFIGs are all on and off accordingly.

Related