nPM1300 normal mode quiescent current

Hi Nordic,

According to the datasheet the nPM1300 normal mode quiescent current is about 800nA.

We can achieve that use nPM1300-EK when first power up.

But when we connect to pc use nPM PowerUP and disconnect. The  nPM1300-EK quiescent current will go up to 1mA.

And when we connect to nrf52840-DK And run npm1300_fuel_gauge example and disconnect. The nPM1300-EK quiescent current will go up to 3.7mA.

Is there any way to make the quiescent current below 1uA  without enter SHIP/HIBERNATE Mode ?

Thanks

Parents Reply Children
  • Hi Andy

    the build unsucceed after add the overlay in sdk v2.5.0

    the nrf52840dk_nrf52840.overlay

    /*
     * Copyright (c) 2023 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    &i2c0_default {
    	group1 {
    		bias-pull-up;
    	};
    };
    
    &uart0 {
        status = "okay";
        current-speed = < 1000000 >;
        /* delete rts-pin&cts-pin to release the related 2 pins for other uses */
        /delete-property/ rts-pin;
        /delete-property/ cts-pin;
    };
    
    &npm1300_ek_buck1 {
    	regulator-initial-mode = <NPM1300_BUCK_MODE_PFM>;
    };
    
    &npm1300_ek_buck2 {
    	regulator-initial-mode = <NPM1300_BUCK_MODE_PFM>;
        regulator-init-microvolt = <3000000>;
    	/delete-property/ enable-gpios;
    	/delete-property/ retention-gpios;
    	/delete-property/ pwm-gpios;
    };
    
    &npm1300_ek_ldo1 {
    	/delete-property/ enable-gpios;
    };
    
    &npm1300_ek_ldo2 {
    	/delete-property/ enable-gpios;
    };
    

    Our case: EK HWV: 0.9.1   DK HWV: 3.0.0    SDK:v2.5.0

  • Hi Chen.

    Could you add this to the top of your overlay and try again please:

    #include <dt-bindings/regulator/npm1300.h>

    Thanks
    Andy

  • Hi Andy ,

    Still cann't buid succeed , attach is npm1300.h from sdk there was no NPM1300_BUCK_MODE_PFM 

    /*
     * Copyright (c) 2023 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: Apache-2.0
     */
    
    #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_REGULATOR_NPM1300_H_
    #define ZEPHYR_INCLUDE_DT_BINDINGS_REGULATOR_NPM1300_H_
    
    /**
     * @defgroup regulator_npm1300 NPM1300 Devicetree helpers.
     * @ingroup regulator_interface
     * @{
     */
    
    /**
     * @name NPM1300 Regulator modes
     * @{
     */
    /* Buck modes */
    #define NPM1300_BUCK_MODE_AUTO 0x00U
    #define NPM1300_BUCK_MODE_PWM  0x01U
    
    /* LDSW / LDO modes */
    #define NPM1300_LDSW_MODE_LDO  0x02U
    #define NPM1300_LDSW_MODE_LDSW 0x03U
    
    /* GPIO control configuration */
    #define NPM1300_GPIO_CHAN_NONE 0x00U
    #define NPM1300_GPIO_CHAN_0    0x01U
    #define NPM1300_GPIO_CHAN_1    0x02U
    #define NPM1300_GPIO_CHAN_2    0x03U
    #define NPM1300_GPIO_CHAN_3    0x04U
    #define NPM1300_GPIO_CHAN_4    0x05U
    
    /** @} */
    
    /** @} */
    
    #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_REGULATOR_NPM1300_H_*/

  • Apologies, I am working on upstream Zephyr so forgot that this change was not in NCS2.5.

    Another thing to try:

    1. Remove the init-microvolt property, so that it uses the default value from the resistor

    &npm1300_ek_buck2 {
        /delete-property/ regulator-init-microvolt;
    };

  • Hi Andy,

    The current now drop <1uA when disable the regulator-init-microvolt.

    But if we want to change the init buck out volt. what should we do to make the quiescent current stay low after config the NPM1300 register

    Thanks

    Chen

Related