Power consumption of NRF52 GPIOTE->IN

Hi all: I found this issue happen on NRF52 with SDK v11.0. Because I measured the current increased ~1mA after enable GPIOTE->IN, is there any solution can solve it?? Thanks...

  • We have seen problems when using GPIOTE->IN combined with other peripherals that resulted in a current increase of about 450uA due to the high frequency clock being requested, but not 1mA. Can you give us some more information about your application?

  • If I enabled the GPIOTE->IN the current is ~3.1mA(2.8V) by const nrf_drv_gpiote_in_config_t in_config1 = GPIOTE_CONFIG_IN_SENSE_HITOLO(true). And the current decreased to ~2.6mA after set the config by GPIOTE_CONFIG_IN_SENSE_HITOLO(false). If I have not enable GPIOTE->IN the current is ~1.9mA..


    1. Is the current consumption of GPIOTE->IN still keep 500uA while enter power off after enable it? if I just execute for loop to call power_manage() in the main(), the current is 1.9mA, is it reasonable? 3.To reduce power cinsumption, I tried to enter power off mode by call the function of sd_power_system_off(). However, the power consumption always same as before execute the function.. Is any item needed be prepared before enter power off mode?


  • If you use GPIOTE_CONFIG_IN_SENSE_HITOLO(false) you should not see any increase in current, this uses GPIOTE->PORT not GPIOTE->IN. With GPIOTE_CONFIG_IN_SENSE_HITOLO(true), which uses GPIOTE->IN you may see an increase in current consumption of ~450uA.

    1.9mA when not doing anything is very high. Are you advertising or scanning often or doing other power hungry stuff?

    If you enter system OFF the current consumption should be less than 1uA. If you see the same current consumption after going to System OFF the device probably have woken up from system OFF mode. If the pin configured for GPIOTE_CONFIG_IN_SENSE_HITOLO(false) is low when you enter system OFF the chip will immidiately wake up (GPIOTE->PORT can wake the chip up from system OFF sleep).

  • After fine tuning my codes the power is down to 1.97 mA in the conditions(The current is Same as the conditions of just execute the loop of __WFI(), in the main()) 1.Enable softdevice. 2. without advertising.. 3. My HW just connect G-sensors via I2C However it still cannot enter power off mode... My Sense pin is pin27 , here is the pin status before enter power_off and reset reason(UART is enabled to print message(pin30, 31 for CTS/RTS, and pin 29 for DTM enable )) NRF_GPIO->IN:0x80200000 Reset Reason:0x50005 Is any item needed be checked again?


  • Try to turn off UART and see if the current consumption is less. You are sure that the sensors are not drawing current? The reset reason have to be cleared manually, it is not cleared unless the reset is power on or brown out reset, see here. Your reset reason shows many things (pin reset, soft reset and wake up from system off reset).