Thingy:91x power consumption.

Hi I’m looking for some advice on what may be drawing power from the thingy 91x.

I have measured the power consumption of the nrf91 the nRF 5340 and the nRF 7002 using the power profiler and the power breakout board supplied.

the usage reported for each component when swd and usb disconnected is a very low 30-40 uA for the nRF in idle, 0 for the nRF 7002 in disabled and, 3 - 4 uA for the nRF 5340.

However when measuring with an oti profiler providing power as if it were the battery then I am seeing a combined compunction of around 500uA.

My guess was this was some peripheral drawing power. So I tried Cutting the solder jumpers providing Vcc 5v to these but still had the same 500uA draw. 

Any Ideas as to what is drawing the power, and any way I can reduce or eliminate this.

Thanks

Parents Reply Children
  • I am running the application. Whilst taking measurements at the same time. The nRF measurements using the breakout board with the Nordic power profiler running in ammeter mode and the oti connected to the battery connector with the thermistor in the battery connected between yellow sense wire and ground. The Oti is supplying 4.2v.

    I am running the connectivity bridge software on the nRF5340 and the Multi Service example on the nRF9151. This multi service example is using the coap , coap provisioning, coap minimum and external flash overlays and the additional sysconfig file enabling external flash. I have also made some modifications to the serial config to reduce power usage by the serial port. Basically the same as the lpuart examples. I will post the overlay an conf files in the morning.

  • # Rate of cloud interactions
    # These are faster than one normally would use in a low power device.
    # This is strictly for demo purposes.
    CONFIG_SENSOR_SAMPLE_INTERVAL_SECONDS=600
    # CONFIG_LOCATION_TRACKING_SAMPLE_INTERVAL_SECONDS=360
    CONFIG_COAP_FOTA_JOB_CHECK_RATE_MINUTES=60
    CONFIG_COAP_SHADOW_CHECK_RATE_SECONDS=3600
    
    # # Log level
    # # For more verbose and detailed log output, set the log level to
    # # CONFIG_MULTI_SERVICE_LOG_LEVEL_DBG=y instead.
    CONFIG_MULTI_SERVICE_LOG_LEVEL_DBG=y
    CONFIG_MULTI_SERVICE_LOG_LEVEL_INF=n
    
    # # Disable serial logging to ensure minimum power draw
    CONFIG_LOG=y
    CONFIG_LOG_BACKEND_UART=y
    CONFIG_SERIAL=y
    CONFIG_CONSOLE=y
    
    # # CONFIG_UART_INTERRUPT_DRIVEN=n
    CONFIG_UART_CONSOLE=y
    CONFIG_AT_HOST_LIBRARY=n
    CONFIG_TFM_LOG_LEVEL_SILENCE=y
    CONFIG_PM_DEVICE=y
    
    CONFIG_UART_INTERRUPT_DRIVEN=y
    CONFIG_UART_0_INTERRUPT_DRIVEN=n
    CONFIG_UART_1_INTERRUPT_DRIVEN=n
    
    CONFIG_UART_LINE_CTRL=n
    CONFIG_UART_ASYNC_API=y
    CONFIG_UART_0_ASYNC=y
    CONFIG_UART_1_ASYNC=y
    CONFIG_UART_USE_RUNTIME_CONFIGURE=y
    CONFIG_NRFX_UARTE0=y
    CONFIG_NRFX_UARTE1=y
    CONFIG_NRFX_TIMER1=y
    CONFIG_NRFX_TIMER2=y
    CONFIG_NRFX_PPI=y
    
    
    # # Disable most services
    CONFIG_LOCATION_TRACKING=n
    CONFIG_NRF_CLOUD_AGNSS=n
    CONFIG_MODEM_INFO=y
    CONFIG_MODEM_INFO_ADD_NETWORK=y
    CONFIG_NRF_CLOUD_PGPS=n
    CONFIG_NRF_CLOUD_PGPS_REQUEST_UPON_INIT=n
    CONFIG_NRF_CLOUD_ALERT=y
    CONFIG_NRF_CLOUD_LOG_DIRECT=n
    CONFIG_NRF_CLOUD_SEND_DEVICE_STATUS=y
    CONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_NETWORK=y
    CONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_SIM=y
    
    CONFIG_MODEM_INFO_ADD_SIM=y
    CONFIG_MODEM_INFO_ADD_SIM_ICCID=y
    CONFIG_MODEM_INFO_ADD_SIM_IMSI=y
    
    
    # CONFIG_NRF_CLOUD_FOTA=n
    # CONFIG_NRF_CLOUD_LOCATION=n
    
    CONFIG_COAP_FOTA=n
    CONFIG_COAP_SHADOW=y
    
    # Enable only temperature
    CONFIG_TEMP_TRACKING=n
    CONFIG_TEMP_DATA_USE_SENSOR=n

  • /*
    * Copyright (c) 2024 Nordic Semiconductor ASA
    *
    * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    */

    #include <thingy91x_wifi.dtsi>

    / {
    aliases {
    temp-sensor = &bme680;
    ext-flash = &flash_ext;
    };

    chosen {
    // zephyr,console = &rtt0;
    // zephyr,shell-uart = &rtt0;
    // zephyr,uart-mcumgr = &rtt0;
    // zephyr,bt-mon-uart = &rtt0;
    // zephyr,bt-c2h-uart = &rtt0;
    };
    };

    &bme680 {
    status = "disabled";
    };

    /* Switch to nrf7000 emulation so that scan-only mode is used. */
    &nrf70 {
    status = "disabled";
    compatible = "nordic,nrf7000-spi";
    };

    &uart0 {
    compatible = "nordic,nrf-uarte";
    current-speed = <115200>;
    status = "okay";
    pinctrl-0 = <&uart0_default>;
    pinctrl-1 = <&uart0_sleep>;
    pinctrl-names = "default", "sleep";
    lpuart: nrf-sw-lpuart {
    compatible = "nordic,nrf-sw-lpuart";
    status = "okay";
    label = "LPUART";
    req-pin = <22>;
    rdy-pin = <23>;
    };
    };

    &pinctrl {

    uart0_default: uart0_default {
    group1 {
    psels = <NRF_PSEL(UART_TX, 0, 1)>,
    <NRF_PSEL(UART_RX, 0, 0)>;
    };
    };

    uart0_sleep: uart0_sleep {
    group1 {
    psels = <NRF_PSEL(UART_TX, 0, 1)>,
    <NRF_PSEL(UART_RX, 0, 0)>;
    low-power-enable;
    };
    };
    };


    // &gpiote {
    // status = "disabled";
    // interrupts = <49 NRF_DEFAULT_IRQ_PRIORITY>;
    // };


    &rtc0 {
    status = "okay";
    };

    &accel {
    status = "disabled";
    // zephyr,deferred-init;
    };

    &magnetometer {
    status = "disabled";
    // zephyr,deferred-init;
    };

    &adc {
    status = "disabled";
    };
Related