nRF54 with nPM2100 and nPM1300 Power Consumption Issues

HI,

Test Setup

  • MCU: nRF54L15  PDK

  • SDK: nCS 3.0.0

  • Example: Blinky (modified)

Modified Code

main.c:

#include <stdio.h>
#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>

/* 1000 msec = 1 sec */
#define SLEEP_TIME_MS   10000

/* The devicetree node identifier for the "led0" alias. */
// #define LED0_NODE DT_ALIAS(led0)

/*
 * A build error on this line means your board is unsupported.
 * See the sample documentation for information on how to fix this.
 */
// static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios);

int main(void)
{
	// int ret;
	// bool led_state = true;

	// if (!gpio_is_ready_dt(&led)) {
	// 	return 0;
	// }

	// ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
	// if (ret < 0) {
	// 	return 0;
	// }

	while (1) {
		// ret = gpio_pin_toggle_dt(&led);
		// if (ret < 0) {
		// 	return 0;
		// }

		// led_state = !led_state;
		// printf("LED state: %s\n", led_state ? "ON" : "OFF");
		k_msleep(SLEEP_TIME_MS);
	}
	return 0;
}

prj.conf:

CONFIG_GPIO=y

CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n

CONFIG_SERIAL=n

CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y

overlay: Empty

Test Configuration

The firmware is flashed to nRF54L15 PDK. The outputs of the nPM1300 in the PDK and the nPM2100EK are respectively connected to a power analyzer for testing. For the nPM2100EK, the I2C is not connected to the nRF54 PDK, and the output is directly connected. 

Both,  then the power analyzer  supplies power to the PDK's P6 interface for nRF54.

Observed Behavior

With nPM1300 Power Supply:

  • Only current peaks at each SLEEP_TIME_MS interval

  • System remains in sleep mode the rest of the time

With nPM2100 Power Supply:

  • Current peaks at each SLEEP_TIME_MS interval (same as nPM1300)

  • Additional small current spikes every 500ms

Common Observation (Both Power Supplies):

  • Very small current spikes approximately every 8ms

Questions

  1. Why is there this difference between nPM1300 and nPM2100?

    • What causes the additional 500ms current spikes only with nPM2100?

  2. What could be generating the 500ms current spikes observed with nPM2100?

    • What internal mechanism or task might be running at this interval?

  3. What causes the approximately 8ms small current spikes observed with both power supplies?

    • Is this related to nRF54 internal charging or some periodic operation?

Thanks!

Parents Reply Children
  • In very light load condition the boost refresh cycle (PFM mode frequency) would be in this time range.

    I'm not quite sure about this mode. My power analyzer is connected to the output of the NPM2100 and then to pin P6 of the PDK, monitoring the current of the NRF54. Following your explanation, why would a refresh of the NPM2100 cause abnormal current spikes at intervals in the NRF54?

    The smaller 8 ms spikes you see are almost certainly from internal periodic wake‑ups of clocks/interrupts/peripherals that are enabled by default.

    But in my code, I don't have any other timers or peripherals configured. I'm only calling the k_sleep function. Where could this be coming from?

  • In very light load condition the boost refresh cycle (PFM mode frequency) would be in this time range.

    I'm not quite sure about this mode. My power analyzer is connected to the output of the NPM2100 and then to pin P6 of the PDK, monitoring the current of the NRF54. Following your explanation, why would a refresh of the NPM2100 cause abnormal current spikes at intervals in the NRF54?

    The smaller 8 ms spikes you see are almost certainly from internal periodic wake‑ups of clocks/interrupts/peripherals that are enabled by default.

    But in my code, I don't have any other timers or peripherals configured. I'm only calling the k_sleep function. Where could this be coming from?

    Could you please provide an update on my question? Our project progress is currently waiting for this issue to be resolved.

    Thanks!

  • In very light load condition the boost refresh cycle (PFM mode frequency) would be in this time range.

    HI,

    the first question,

    Under what load current does the npm2100 boost output enter this mode? When the current is continuously 600 μA, these spaced current pulses do not appear, but when the load current is only a few microamps, they do occur.

    Thanks

  • Hi,

    The feedback from PMIC team was that under "light load condition this spikes would appear" and seems like is compatible with your observation. I have not received exact load current range that this spikes occur but based on your measurements seems like for less than 300,400 uA you would see it and for more than that they will be hidden under actual load current. 

    Best regards,
    Ressa

  • Thank you for your reply. I have also posted a thread about this issue.

    Originally, my entire circuit only draws around 10 µA of current, but due to the presence of pulse currents, the average current has increased significantly. Are there any suggestions on how to reduce this power consumption?

    devzone.nordicsemi.com/.../the-current-consumption-of-npm2100

Related