<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121905/nrf52840-running-with-ble-advertising-every-1-second-consumes-450-ua-even-with-tickless-idle-mode</link><description>We are running an NRF52840 on our custom board and getting around 450 uA while is BLE Advertising with a period of about 1 second. 
 If we disable BLE then our current consumption drops to 45 uA. 
 We would like to get current consumption down to 100</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 31 May 2025 11:18:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121905/nrf52840-running-with-ble-advertising-every-1-second-consumes-450-ua-even-with-tickless-idle-mode" /><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537562?ContentTypeID=1</link><pubDate>Sat, 31 May 2025 11:18:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9d39b9e-40ef-45d4-a2de-9aaa6bb6c3c1</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;Might be pending FPU Exceptions. Roughly 0.5mA current seem likely.&lt;/p&gt;
&lt;p&gt;The non-RTOS samples in the SDK should all have code (called from idle_state_handler) that silences (skips) FPU exceptions in the hardware.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve not played much with FreeRTOS - no idea if that code piece made it into the Nordic examples for this OS.&lt;/p&gt;
&lt;p&gt;You want to call this from an &amp;quot;idle&amp;quot; thread that gets called every time the CPU is supposed to start sleeping.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The trigger seems to be a bit random - its not unlikely that your bootloader&amp;nbsp;&lt;em&gt;somehow&lt;/em&gt; triggers conditions that would lead to an FPU exception...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537561?ContentTypeID=1</link><pubDate>Sat, 31 May 2025 10:14:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d3f82fb-04b7-4b82-9270-c9a9d17b8cd6</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Joshua,&lt;/p&gt;
[quote user="jthmp"]&lt;span&gt;&lt;span&gt;Also, as a note: it looks like calling&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;ble_stack_init();&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;is enough to result in 450 uA of current. I don&amp;#39;t even init advertising, or gap or anything else&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;[/quote]
&lt;p&gt;You wrote the above earlier and also wrote below yesterday&lt;/p&gt;
[quote user="jthmp"]If I erase the bootloader and just run the application directly I get 100 uA.[/quote]
&lt;p&gt;I am unable to connect these two together to same source of issue. The softdevice will not reenable any peripherals based on bootloader is present or not. So I am a bit unsure if softdevice_enable had any role to play in this. For a moment, let us keep this aside and focus only on bootloader.&lt;/p&gt;
&lt;p&gt;To know which peripheral you have enabled in the bootloader, you might have to go and check the Enabled status register of each peripheral from the debugger.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Asking AI it gave a template code which might help to dump peripheral status runtime in your bootloader just before starting the application.&lt;/p&gt;
&lt;p&gt;in sdk_config.h, use RTT&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//------------------------------------------------------------------------------
// &amp;lt;e&amp;gt; NRF_LOG_ENABLED - Enables/disable logging.
//------------------------------------------------------------------------------
/// 1: Enabled; 0: Disabled
#define NRF_LOG_ENABLED 1

// &amp;lt;o&amp;gt; NRF_LOG_DEFAULT_LEVEL  - Default Severity level for logging.
//
// &amp;lt;0=&amp;gt; Off
// &amp;lt;1=&amp;gt; Error
// &amp;lt;2=&amp;gt; Warning
// &amp;lt;3=&amp;gt; Info
// &amp;lt;4=&amp;gt; Debug
#define NRF_LOG_DEFAULT_LEVEL 3

// &amp;lt;e&amp;gt; NRF_LOG_BACKEND_RTT_ENABLED - If enabled the RTT logging backend will be compiled.
//------------------------------------------------------------------------------
/// 1: Enabled; 0: Disabled
#define NRF_LOG_BACKEND_RTT_ENABLED 1
// &amp;lt;/e&amp;gt;

// &amp;lt;e&amp;gt; NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled the UART logging backend will be compiled.
//------------------------------------------------------------------------------
/// 1: Enabled; 0: Disabled
#define NRF_LOG_BACKEND_SERIAL_USES_UART 0
// &amp;lt;/e&amp;gt;

// &amp;lt;e&amp;gt; NRF_LOG_BACKEND_UART_ENABLED - Enable UART logging backend.
//------------------------------------------------------------------------------
/// 1: Enabled; 0: Disabled
#define NRF_LOG_BACKEND_UART_ENABLED 0
// &amp;lt;/e&amp;gt;

//------------------------------------------------------------------------------
// &amp;lt;e&amp;gt; NRF_LOG_USES_TIMESTAMP - Use timestamping on log messages.
//------------------------------------------------------------------------------
/// 1: Enabled; 0: Disabled
#define NRF_LOG_USES_TIMESTAMP 0
// &amp;lt;/e&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In your bootloader have something like this to dump register status of every peripheral&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#include &amp;lt;stdbool.h&amp;gt;
#include &amp;lt;stdint.h&amp;gt;
#include &amp;quot;nrf.h&amp;quot;
#include &amp;quot;nrf_log.h&amp;quot;
#include &amp;quot;nrf_log_ctrl.h&amp;quot;
#include &amp;quot;nrf_log_default_backends.h&amp;quot;
#include &amp;quot;nrf_drv_clock.h&amp;quot;
#include &amp;quot;app_error.h&amp;quot;

/** 
 * @brief  Scan the most common nRF52 peripherals and log any that remain enabled.
 *         Call this as early as possible in main(), before any peripheral initialization.
 */
static void dump_active_peripherals(void)
{
    NRF_LOG_INFO(&amp;quot;=== Peripheral ENABLE STATUS ===&amp;quot;);

    // UART0
    if (NRF_UART0-&amp;gt;ENABLE != UART_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;UART0 is ENABLED (0x%08X)&amp;quot;, NRF_UART0-&amp;gt;ENABLE);
    }

#if defined(UARTE1)
    // UARTE1 (if your chip/board has it)
    if (NRF_UARTE1-&amp;gt;ENABLE != UARTE_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;UARTE1 is ENABLED (0x%08X)&amp;quot;, NRF_UARTE1-&amp;gt;ENABLE);
    }
#endif

    // SPIM0 / SPIM1 / SPIM2 / SPIM3
    if (NRF_SPIM0-&amp;gt;ENABLE != SPIM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;SPIM0 is ENABLED (0x%08X)&amp;quot;, NRF_SPIM0-&amp;gt;ENABLE);
    }
    if (NRF_SPIM1-&amp;gt;ENABLE != SPIM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;SPIM1 is ENABLED (0x%08X)&amp;quot;, NRF_SPIM1-&amp;gt;ENABLE);
    }
    if (NRF_SPIM2-&amp;gt;ENABLE != SPIM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;SPIM2 is ENABLED (0x%08X)&amp;quot;, NRF_SPIM2-&amp;gt;ENABLE);
    }
#if defined(NRF_SPIM3)
    if (NRF_SPIM3-&amp;gt;ENABLE != SPIM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;SPIM3 is ENABLED (0x%08X)&amp;quot;, NRF_SPIM3-&amp;gt;ENABLE);
    }
#endif

    // TWI0 / TWI1
    if (NRF_TWI0-&amp;gt;ENABLE != TWI_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;TWI0 is ENABLED (0x%08X)&amp;quot;, NRF_TWI0-&amp;gt;ENABLE);
    }
    if (NRF_TWI1-&amp;gt;ENABLE != TWI_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;TWI1 is ENABLED (0x%08X)&amp;quot;, NRF_TWI1-&amp;gt;ENABLE);
    }

    // TIMER0 / TIMER1 / TIMER2 (check ENABLE bit)
    if (NRF_TIMER0-&amp;gt;ENABLE != TIMER_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;TIMER0 is ENABLED (MODE=0x%02X)&amp;quot;, NRF_TIMER0-&amp;gt;MODE);
    }
    if (NRF_TIMER1-&amp;gt;ENABLE != TIMER_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;TIMER1 is ENABLED (MODE=0x%02X)&amp;quot;, NRF_TIMER1-&amp;gt;MODE);
    }
    if (NRF_TIMER2-&amp;gt;ENABLE != TIMER_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;TIMER2 is ENABLED (MODE=0x%02X)&amp;quot;, NRF_TIMER2-&amp;gt;MODE);
    }

    // PWM0 / PWM1
    if (NRF_PWM0-&amp;gt;ENABLE != PWM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;PWM0 is ENABLED (0x%08X)&amp;quot;, NRF_PWM0-&amp;gt;ENABLE);
    }
#if defined(NRF_PWM1)
    if (NRF_PWM1-&amp;gt;ENABLE != PWM_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;PWM1 is ENABLED (0x%08X)&amp;quot;, NRF_PWM1-&amp;gt;ENABLE);
    }
#endif

    // SAADC
    if (NRF_SAADC-&amp;gt;ENABLE != SAADC_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;SAADC is ENABLED (0x%08X)&amp;quot;, NRF_SAADC-&amp;gt;ENABLE);
    }

    // RNG: check if PSELCLK ≠ 0xFFFFFFFF (means RNG was started/configured)
    if (NRF_RNG-&amp;gt;PSEL.PSELCLK != 0xFFFFFFFF) {
        NRF_LOG_INFO(&amp;quot;RNG is CONFIGURED (PSELCLK=0x%08X)&amp;quot;, NRF_RNG-&amp;gt;PSEL.PSELCLK);
    }

    // RTC0 / RTC1 (check ENABLE bit)
    if (NRF_RTC0-&amp;gt;ENABLE != RTC_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;RTC0 is ENABLED (PRESCALER=%u)&amp;quot;, NRF_RTC0-&amp;gt;PRESCALER);
    }
    if (NRF_RTC1-&amp;gt;ENABLE != RTC_ENABLE_ENABLE_Disabled) {
        NRF_LOG_INFO(&amp;quot;RTC1 is ENABLED (PRESCALER=%u)&amp;quot;, NRF_RTC1-&amp;gt;PRESCALER);
    }

    // CLOCK: HFCLK / LFCLK status
    if (NRF_CLOCK-&amp;gt;HFCLKSTAT &amp;amp; CLOCK_HFCLKSTAT_STATE_Msk) {
        NRF_LOG_INFO(&amp;quot;HFCLK is RUNNING (0x%08X)&amp;quot;, NRF_CLOCK-&amp;gt;HFCLKSTAT);
    }
    if (NRF_CLOCK-&amp;gt;LFCLKSTAT &amp;amp; CLOCK_LFCLKSTAT_STATE_Msk) {
        NRF_LOG_INFO(&amp;quot;LFCLK is RUNNING (0x%08X)&amp;quot;, NRF_CLOCK-&amp;gt;LFCLKSTAT);
    }

    NRF_LOG_INFO(&amp;quot;==================================&amp;quot;);
}


void exiting_bootloader()
{
    // 1) Initialize the logging (RTT backend in this example)
    ret_code_t err_code = NRF_LOG_INIT(NULL);
    APP_ERROR_CHECK(err_code);
    NRF_LOG_DEFAULT_BACKENDS_INIT();

    // 2) Temporarily start the low-frequency clock so that the CPU can sleep.
    //    (Otherwise HFCLKSTAT / LFCLKSTAT reads might be invalid.)
    nrf_drv_clock_init();
    nrf_drv_clock_lfclk_request(NULL);

    // 3) Dump active peripherals **before** you enable anything else.
    dump_active_peripherals();

    // 4) Enter an idle loop to push out logs and go to sleep between RTT interrupts
    while (true) {
        // Process any pending logs (RTT or UART). If none, sleep.
        if (!NRF_LOG_PROCESS()) {
            __WFE();
        }
    }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I have not tried this code myself but quick review shows that it is not that bad idea.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537557?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 21:10:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c3ba868-f705-4284-b777-80bc93cf8777</guid><dc:creator>jthmp</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;Yes, we need to find out what&amp;#39;s going on in our bootloader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537556?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 20:58:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21dd2000-d8f1-4368-9597-f851af138a24</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;That makes sense Joshua, so you can turnoff those peripherals that you turned on in bootloader before it jumps to the main application.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537555?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 20:55:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7782b6df-4195-49b7-9002-fd90da235d6e</guid><dc:creator>jthmp</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;So I was able to get the current draw down below 100 uA with BLE Advertising.&lt;/p&gt;
&lt;p&gt;It looks like our bootloader code is turning on some peripherals before loading the main application (BLE advertising task).&lt;/p&gt;
&lt;p&gt;If I erase the bootloader and just run the application directly I get 100 uA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537554?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 20:54:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fcb55ef-a340-44f7-9b54-546bf8d9ecc3</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;If softdevice_enable itself is enough, then there are few possible reasons.&lt;/p&gt;
&lt;p&gt;It is possible that the softdevice is trying to turn on in the LDO mode instead of using the DCDC buck converter. Can you do a small experiment to make sure you enable the DCDC mode and then enable the softdevice like below?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;
void power_management_init(void)
{
    ret_code_t err;

    err = nrf_drv_power_init(NULL);
    APP_ERROR_CHECK(err);

    nrf_drv_power_dcdc_enable(true);
}
...
...

// In main(), very early:
power_management_init();
ble_stack_init();
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Make sure that&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;NRF_SDH_CLOCK_LF_SRC&lt;br /&gt;CLOCK_CONFIG_LF_SRC&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;are set to XTAL and not RC.&lt;/div&gt;
&lt;div&gt;Can&amp;#39;t tink of anything else thatshould cause this. But try to run your firmware on the DK and see if you see the same results so that we can re-calibrate our debugging strategy.&amp;nbsp;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537546?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 16:46:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:901d7046-b07a-47f7-bbb4-83e04593040e</guid><dc:creator>jthmp</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;So when I use the nrf 17.1 examples / ble_peripheral / ble_app_hrs / pca10056 / s140&lt;br /&gt;I have to update the code to use the dcdc en and the low power clock. When I do this I get 60 uA on our custom board.&lt;/p&gt;
&lt;p&gt;But I believe this is because in&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;on_adv_evt -&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;BLE_ADV_EVT_IDLE&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;We call&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;sleep_mode_enter();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We will not want to do this for our application since it puts the nrf into OFF mode. If I comment out the sleep_mode_enter the current draw goes up to 450 uA.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;Also, as a note: it looks like calling&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;ble_stack_init();&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;is enough to result in 450 uA of current. I don&amp;#39;t even init advertising, or gap or anything else.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537544?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 16:12:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f255dfe-0712-4b20-bf4d-8c5c49f446ee</guid><dc:creator>jthmp</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;Thank you. I&amp;#39;ll look into the suggestions you made.&lt;/p&gt;
&lt;p&gt;We are using the BL654 BLE Module that has the nrf52840 MCU integrated.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m guessing that 450 uA while BLE is advertising at 1 sec intervals is too high?&lt;/p&gt;
&lt;p&gt;If I disable the BLE the current draw drops down to 45 uA with a few tasks running and tickless idle mode (RTC1).&lt;br /&gt;&lt;br /&gt;And I can provide a sample application from the 17.1 SDK that I also tested with - will post something next.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 running with  BLE Advertising every 1 second consumes 450 uA even with tickless idle mode</title><link>https://devzone.nordicsemi.com/thread/537494?ContentTypeID=1</link><pubDate>Fri, 30 May 2025 08:38:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e2e4637-0974-4e1b-81f1-6a64bd6da54d</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Joshua,&lt;/p&gt;
&lt;p&gt;There were some issues on the earlier version of FreeRTOS but we fixed it since nRF5SDKv16, and a lot of products are out with low power on nRF52840 using tickless idle. If you can reproduce this on the nRF52840, then please attach a simplistic project for me to reproduce it. If you are using a custom hardware, then it most likely is an issue with your hardware or hardware configurations. In the latter case, I will try to look into the DCDC settings you have on your hardware to match with your firmware and also check if your clocks on your hardware match the clock configuration in your sdk_config.h file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>