Cannot achieve low-power on nRF52833 custom PCB using simplest main() yields 740uAmps

Chip : nRF52833 QIAA

Environment : Visual Code + nRF Connect for VC Code V2025.8.654 NCS V3.1.0

I am hoping somebody could assist us with a problem we are having achieving the expected low current operation on the nRF52833 soc on a custom PCB in sys_poweroff()  (and also in k_sleep())

In an attempt to narrow this down have depopulated the PCB to contain just the nRF52833 SOC all the other passives and bus peripherals are de-soldered. 

I have created a simple application which does nothing other than to set all GPIO as inputs and enter k_sleep () and the current is measured using PPK2 at ~750uAmps. There is spiking activity 

It feels like I have read every article on this subject from here and the suggested sample such as \ncs\v3.1.0\zephyr\samples\boards\nordic\system_off.   Please can anyone suggest a remedy?

main.c

#include <zephyr/kernel.h>
#include <zephyr/drivers/hwinfo.h>
#include <zephyr/sys/poweroff.h>
#include <hal/nrf_gpio.h>

int main(void)
{
    for (uint8_t idx = 0; idx < NUMBER_OF_PINS; idx++)
    {
        nrf_gpio_cfg_default(idx); // Input, no pull up/down, no sense
    }

    // k_sleep(K_FOREVER);
    hwinfo_clear_reset_cause();
    sys_poweroff();

    return 0;
}

prj.conf

#Debug support
CONFIG_USB_DEVICE_STACK=n
CONFIG_BOOT_BANNER=n
CONFIG_PRINTK=n
CONFIG_SERIAL=n
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_LOG=n
CONFIG_DEBUG_OPTIMIZATIONS=n
CONFIG_DEBUG_THREAD_INFO=n


CONFIG_POWEROFF=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_MULTITHREADING=y

CONFIG_GPIO=y
CONFIG_HWINFO=y

I have created a DTS, DTSI, Def Config as attached. (No UARTs enabled, No SPI enabled, No I2C enabled, No Temp controller enabled, No RNG enabled , No external flash etc). No logging, no prink etc. 

/dts-v1/;
#include <nordic/nrf52833_qiaa.dtsi>
#include "X30_bare-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	model = "Bare X30";
	compatible = "Extronics,X30-bare";

	chosen {
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_partition;
	};

	
	};

&uicr {
	nfct-pins-as-gpios;
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 DT_SIZE_K(48)>;
		};

		slot0_partition: partition@c000 {
			label = "image-0";
			reg = <0x0000c000 DT_SIZE_K(220)>;
		};

		slot1_partition: partition@43000 {
			label = "image-1";
			reg = <0x00043000 DT_SIZE_K(220)>;
		};

		storage_partition: partition@7a000 {
			label = "storage";
			reg = <0x0007a000 DT_SIZE_K(24)>;
		};
	};
};

&uart0 {
	status = "disabled";
};

&uart1 {
	status = "disabled";
};


&spi0 {
	compatible = "nordic,nrf-spi";
	status = "disabled";
};

&spi1 {
	compatible = "nordic,nrf-spi";
	status = "disabled";
};

&spi2 {
	compatible = "nordic,nrf-spi";
	status = "disabled";
};

&i2c0 {
	compatible = "nordic,nrf-twim";
	status = "disabled";
};

&i2c1 {
	compatible = "nordic,nrf-twim";
	status = "disabled";
};

&i2c1 {
	compatible = "nordic,nrf-twim";
	status = "disabled";
};

&temp {
	status = "disabled";
};

&rng {
	status = "disabled";
};

&rng_hci {
	status = "disabled";
};

&adc {
	status = "disabled";
};

&wdt0 {
	status = "disabled";
};

The build files 

build-folder/zephyr/zephyr.dts
build-folder/zephyr/.config  (.txt to enable attachment)

are attached. 

CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y

# enable GPIO
CONFIG_GPIO=y

7802.X30_bare.dts1526.X30_bare-pinctrl.dtsi

Parents Reply Children
Related