When using GPIOE interrupt to drive MEMS, the power consumption is up to 470uA

When I set the GPIOE pin to float, NRF_DRV_gPIote_IN_config_t config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(true);

The power difference between true and false is 10uA, but when I set the GPIOE pin as the drive pin of MEMS, the power consumption is as high as 470UA, may I ask why this is caused?

Parents Reply
  • Hi,

    Please check if my assumptions are correct:

    1. You configure the GPIOTE IN EVENT on a pin (GPIOTE_CONFIG_IN_SENSE_TOGGLE(true); )
    2. When MEMS is connected the current consumption is 470uA
    3. When MEMS is not connected the current consumption is 10uA

    If the MEMS output signal is not a defined 1 or 0, but floating in between, the current consumption will go up.

    If the MEMS output signal interrupts the nRF52 very fast, the current consumption will go up

    • Can you check the signal between the nRF52 and the MEMS with a logic analyzer?
    • What happens if you configure the line with a pullup resistor?

    Best regards,
    Stian

Children
Related