<?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>power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74892/power-consumption-increases-1-1ma-after-first-adc-sample</link><description>Hello, 
 I am experiencing a power issue after the first ADC sample is triggered. Sampling 2 ADC channels using PPI and TIMER as the triggering mechanism. Here is a capture using PPK2. 
 
 
 
 It is alright to have a spike in power but in this case, once</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 16 Oct 2022 03:11:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74892/power-consumption-increases-1-1ma-after-first-adc-sample" /><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/390872?ContentTypeID=1</link><pubDate>Sun, 16 Oct 2022 03:11:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:345cd1df-476d-4c98-969d-384526dc2ab2</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/remi.g"&gt;Remi.G&lt;/a&gt; Thank you very much for updating the post. We tested your fix today and it worked perfectly!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/390714?ContentTypeID=1</link><pubDate>Thu, 13 Oct 2022 21:59:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a74a0efb-4be5-41ff-8354-348538f83c33</guid><dc:creator>Remi.G</dc:creator><description>&lt;p&gt;Adding a note here for future users because I had the same issue and the posted solutions didn&amp;#39;t work, due to a slightly different config.&lt;/p&gt;
&lt;p&gt;I have a very low sample rate application, which is using SDK 17.1 and&amp;nbsp;NRFX_SAADC_API_V2 because I wanted a simple non-blocking mode. Only capturing one channel at a time. And oversampling, though that isn&amp;#39;t relevant to the problem.&lt;/p&gt;
&lt;p&gt;Sequence looks like this:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class="ui-code" data-mode="text"&gt;&amp;#160; &amp;#160; SDK_ASSERT(nrfx_saadc_simple_mode_set((1u &amp;lt;&amp;lt; (unsigned) channel),
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; NRF_SAADC_RESOLUTION_14BIT,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; NRF_SAADC_OVERSAMPLE_256X
,&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; NULL));

&amp;#160; &amp;#160;&amp;#160;nrf_saadc_value_t value = (int16_t) 0x8000; &amp;#160;// Invalid ADC value
&amp;#160; &amp;#160; SDK_ASSERT(nrfx_saadc_buffer_set(&amp;amp;value, 1));
&amp;#160; &amp;#160; SDK_ASSERT(nrfx_saadc_mode_trigger());&lt;/pre&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Before that call, idle current is ~5uA. After it, it&amp;#39;s almost 500uA.&lt;/p&gt;
&lt;p&gt;As stated in other answers (but not explicitly), the SAADC appears to require a STOP event to allow its EasyDMA to go back to low-power. The proposed solutions say to call nrfx_saadc_uninit(). But in the NRFX_SAADC_API_V2 API:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void nrfx_saadc_uninit(void)
{
&amp;#160; &amp;#160; nrfx_saadc_abort();
&amp;#160; &amp;#160; NRFX_IRQ_DISABLE(SAADC_IRQn);
&amp;#160; &amp;#160; nrf_saadc_disable();
&amp;#160; &amp;#160; m_cb.saadc_state = NRF_SAADC_STATE_UNINITIALIZED;
}

void nrfx_saadc_abort(void)
{
&amp;#160; &amp;#160; NRFX_ASSERT(m_cb.saadc_state != NRF_SAADC_STATE_UNINITIALIZED);

&amp;#160; &amp;#160; if (!m_cb.event_handler)
&amp;#160; &amp;#160; {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; m_cb.p_buffer_primary = NULL;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; m_cb.p_buffer_secondary = NULL;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; m_cb.samples_converted = 0;
&amp;#160; &amp;#160; }
&amp;#160; &amp;#160; else
&amp;#160; &amp;#160; {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; if (m_cb.saadc_state == NRF_SAADC_STATE_CALIBRATION)
&amp;#160; &amp;#160; &amp;#160; &amp;#160; {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // STOPPED event does not appear when the calibration is ongoing
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; m_cb.saadc_state = NRF_SAADC_STATE_IDLE;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; }
&amp;#160; &amp;#160; }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So the STOP event gets generated only if there&amp;#39;s an event handler. In blocking mode there is not.&lt;/p&gt;
&lt;p&gt;The solution is simple enough, just issue the STOP command before uninit:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class="ui-code" data-mode="text"&gt;&amp;#160; &amp;#160; nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
&amp;#160; &amp;#160; while (!nrf_saadc_event_check(NRF_SAADC_EVENT_STOPPED))
&amp;#160; &amp;#160; {
&amp;#160; &amp;#160; }
&amp;#160; &amp;#160; nrf_saadc_event_clear(NRF_SAADC_EVENT_STOPPED);&lt;/pre&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;It also works to issue STOP after the nrfx_saadc_mode_trigger(), in which case it isn&amp;#39;t necessary to init/deinit every sample.&lt;/div&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;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/314289?ContentTypeID=1</link><pubDate>Tue, 08 Jun 2021 19:43:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c7fb990-5e6a-4787-9bd1-4710cbd8f33c</guid><dc:creator>Allen</dc:creator><description>&lt;blockquote&gt;
&lt;p&gt;Are you not able to reproduce the increased current consumption on a nRF52 DK?&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#800000;"&gt;Yes, I am able to reproduce the increased current consumption on the nRF52 DK. This is a known issue.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote class="quote"&gt;
&lt;div class="quote-user"&gt;Allen said:&lt;/div&gt;
&lt;div class="quote-content"&gt;1.4mA at 4V is the lowest operating power I have been able to achieve. This is only possible if the SAADC is init/sample/uninit.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I assume then that the high current is caused by the other peripherals on your board? The SAADC should be able to &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23867/nrf52-best-practise-for-ultra-low-power-saadc-4-channel-conversion/93906#93906"&gt;get down to the &amp;quot;few uA average&amp;quot; range&lt;/a&gt; with multiple channels (dependent on the sample rate).&lt;/p&gt;
&lt;div class="quote-header"&gt;&lt;span style="color:#800000;"&gt;This is correct the other peripherals on the board prevent the ability to get into the uA operating range. &lt;/span&gt;&lt;/div&gt;
&lt;div class="quote-header"&gt;&lt;span style="color:#800000;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="quote-header"&gt;&lt;span style="color:#800000;"&gt;However this is not the question. It appears that using the SAADC has 2 issues with increased power consumption. There is an increase of about .5mA by just initializing the peripheral. And another 1.5mA increase when EasyDMA is enabled to transfer the sample to memory. (and there is no way to get around the use of EasyDMA)&lt;/span&gt;&lt;/div&gt;
&lt;div class="quote-header"&gt;&lt;span style="color:#800000;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="quote-header"&gt;&lt;span style="color:#800000;"&gt;The work around is to always init/sample/deinit when using SAADC for low power. Unfortunately our custom hardware appears to be sensitive to these power fluctuations. Trying to find another solution.&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class="quote"&gt;
&lt;div class="quote-user"&gt;Allen said:&lt;/div&gt;
&lt;div class="quote-content"&gt;There is a secondary issue where the power profile is very noisy from power-on. However it is clean when the application is started using the debugger.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;div class="quote-footer"&gt;&lt;/div&gt;
&lt;p&gt;Which PPK version are you using? If using PPK2, are you measuring in Source or Ampere meter mode? There may be some noise from the USB, but I would expect this to be the same for debug and non-debug modes.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#800000;"&gt;Yes, using PPK2 in source mode. If toggle power using the PPK the profile is noisy. &lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote class="quote"&gt;
&lt;div class="quote-user"&gt;Allen said:&lt;/div&gt;
&lt;div class="quote-content"&gt;Can you think of anything&amp;nbsp; in the start sequence would be different when debug mode is enabled?&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Debug mode will enable clock source and low latency mode in order to quickly halt CPU, etc. I do not see how this could remove any noises from the power capture though.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#800000;"&gt;What do you mean by &amp;quot;debug mode will enable clock source&amp;quot;. The custom hardware has a different clock source configuration than the DK. I was wondering if that could have something to do with it.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/314179?ContentTypeID=1</link><pubDate>Tue, 08 Jun 2021 11:26:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98123ec4-8a1e-42c8-a715-d61f7659d3cc</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>[quote user="ajcurtis"]I would be happy to share the project. However without the hardware it probably will not be of much use.[/quote]
&lt;p&gt;Are you not able to reproduce the increased current consumption on a nRF52 DK?&lt;/p&gt;
[quote user="ajcurtis"]1.4mA at 4V is the lowest operating power I have been able to achieve. This is only possible if the SAADC is init/sample/uninit.[/quote]
&lt;p&gt;I assume then that the high current is caused by the other peripherals on your board? The SAADC should be able to &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23867/nrf52-best-practise-for-ultra-low-power-saadc-4-channel-conversion/93906#93906"&gt;get down to the &amp;quot;few uA average&amp;quot; range&lt;/a&gt; with multiple channels (dependent on the sample rate).&lt;/p&gt;
[quote user="ajcurtis"]Is the SAADC the only peripheral that would require HFCLK?[/quote]
&lt;p&gt;Many peripherals requires HFCLK, including SAADC, TIMERs, RADIO, UART, SPI, TWI, I2S, PWM, etc. The difference between the SAADC and most other peripherals is that it will have high current consumption once it is started, not just when transmitting/operating. Peripherals like SPI and TWI starts a transfer that will finish quite quickly, which will give high current consumption during the transfer, but not when transfer is done. Other peripherals with high current consumption over a long period of time is UART started in RX mode, which requires the HFCLK (and EasyDMA if UARTE is used) to be running, as you do not know when data is incoming. Similar for the SAADC, you do not know when the sample task will be triggered through PPI, so you need to be ready at all times.&lt;/p&gt;
[quote user="ajcurtis"]There is a secondary issue where the power profile is very noisy from power-on. However it is clean when the application is started using the debugger.[/quote]
&lt;p&gt;Which PPK version are you using? If using PPK2, are you measuring in Source or Ampere meter mode? There may be some noise from the USB, but I would expect this to be the same for debug and non-debug modes.&lt;/p&gt;
[quote user="ajcurtis"]Can you think of anything&amp;nbsp; in the start sequence would be different when debug mode is enabled?[/quote]
&lt;p&gt;Debug mode will enable clock source and low latency mode in order to quickly halt CPU, etc. I do not see how this could remove any noises from the power capture though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/312736?ContentTypeID=1</link><pubDate>Tue, 01 Jun 2021 04:55:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c007131-5366-47d8-b921-04d8c531c44f</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;Hello J&amp;oslash;rgen,&lt;/p&gt;
&lt;p&gt;Yes, NUM_ADC_CHANNELS is defined as 2.&lt;/p&gt;
&lt;p&gt;This is custom hardware. Besides the 52832 module, then is a NAND, ECG ADC, Accelerometer and LM70 temperature sensor. The DCDC regulator feature is enabled. I could provide a schematic if necessary.&lt;/p&gt;
&lt;p&gt;I would be happy to share the project. However without the hardware it probably will not be of much use. 1.4mA at 4V is the lowest operating power I have been able to achieve. This is only possible if the SAADC is init/sample/uninit. Is the SAADC the only peripheral that would require HFCLK? We are using SPI and I2C as well.&lt;/p&gt;
&lt;p&gt;There is a secondary issue where the power profile is very noisy from power-on. However it is clean when the application is started using the debugger. (all the graphs above are debugger starts) Can you think of anything&amp;nbsp; in the start sequence would be different when debug mode is enabled?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/312633?ContentTypeID=1</link><pubDate>Mon, 31 May 2021 12:26:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e1ac765f-7ee8-429e-abf7-a2de635b2145</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is not possible to disable EasyDMA in the SAADC peripheral. Even with the buffer size set to a single sample, EasyDMA will be used to store the sample directly in RAM. ~0.5mA sounds like the current from the HFCLK running, while 1.5mA could be the EasyDMA current.&lt;/p&gt;
&lt;p&gt;Have you defined&amp;nbsp;NUM_ADC_CHANNELS to 2?&lt;/p&gt;
&lt;p&gt;Your base current looks very high, even with the SAADC running. Are you running at 3.0V supply? Are you using the DCDC regulator, or just LDO?&lt;/p&gt;
&lt;p&gt;Could you share the full project for us to reproduce and debug the current consumption?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/309922?ContentTypeID=1</link><pubDate>Sun, 16 May 2021 23:28:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ee5e7b1-f540-4560-b714-b0e4a5d98932</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I know this was marked at verified, but I still have a problem. Init is called at the beginning of the program. When the ADC channel is init&amp;#39;ed, The power goes up about .5mA. After the first sample is taken, the current goes up another 1.5mA. The code below should not use DMA. I can not find an option to disable EASY_DMA for the ADC. The lowest power consumption is when the ADC is only enabled long enough to take a sample. Would SAADC_API_V2 help address this issue? 3.5mA is too high for our battery powered application. Enabling and disabling the ADC with each sample is causing other electrical issues.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;pre&gt;#define SAADC_CONFIG_RESOLUTION 3
&lt;/pre&gt;
&lt;pre&gt;#define SAADC_CONFIG_LP_MODE 1
&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;br /&gt;static void saadc_sample_init()
{
    ENABLE_TEMP_OUTPUT();

    // Setup for double buffer, continuous sampling
    nrf_drv_saadc_config_t cfg = NRF_DRV_SAADC_DEFAULT_CONFIG;

    ret_code_t err_code = NRF_SUCCESS;
    err_code = nrf_drv_saadc_init(&amp;amp;cfg, saadc_callback);
    APP_ERROR_CHECK(err_code);

    // battery_init() - configure the SAADC interface
    nrf_saadc_channel_config_t vbatt_channel_config =
        NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(ADC_VBATT_AIN);
    err_code = nrf_drv_saadc_channel_init(BATTERY_ADC_CHANNEL, &amp;amp;vbatt_channel_config);
    APP_ERROR_CHECK(err_code);

    // lmt70_init() - configure temperature ADC channel
    nrf_saadc_channel_config_t temp_channel_config =
        NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(ADC_TEMPOUT_AIN);
    err_code = nrf_drv_saadc_channel_init(TEMPERATURE_ADC_CHANNEL, &amp;amp;temp_channel_config);
    APP_ERROR_CHECK(err_code);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre&gt;    ret_code_t err_code = app_timer_start(sample_timer_id, ADC_SAMPLE_TIMEOUT, NULL);
    APP_ERROR_CHECK(err_code);
&lt;/pre&gt;
&lt;pre&gt;} &lt;/pre&gt;
&lt;pre&gt;static void sample_timer_handler(void * p_context)
{
    app_sched_event_put(NULL, 0, sample_timer_task);
}

static void sample_timer_task(void * data, uint16_t len)
{
    UNUSED_PARAMETER(data);
    UNUSED_PARAMETER(len);

    // Sample all channels
    nrf_drv_saadc_buffer_convert(m_buffer_pool[m_samples], NUM_ADC_CHANNELS);
    nrf_drv_saadc_sample(); // trigger sample

}
&lt;/pre&gt;
&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="358" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1621206652278v1.png" width="294" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/309131?ContentTypeID=1</link><pubDate>Tue, 11 May 2021 07:57:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b656154-0dfc-4c26-b88e-e44ba3e2742d</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;The SPIM peripheral will consume the same amount of current when it is transferring data, but this is normally limited to a shorter period of time, as you start a transfer that finishes when all data have been transferred. The difference to the SAADC peripheral is that the SAADC is started when you configure the buffers, but the sampling/actual transfer of data to RAM happens when you trigger the SAMPLE task. Since the SAADC peripheral does not know when the sampling will happen, it is ready to transfer data to RAM at any time. Ideally, the EasyDMA access should only have been enabled after sample task has happened and result is transferred to RAM, but this is not how the design works.&lt;/p&gt;
&lt;p&gt;You will see similar current draw if you enable UARTE in RX mode, as this needs to be ready to transfer received data to RAM at any given time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/309105?ContentTypeID=1</link><pubDate>Tue, 11 May 2021 04:12:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0592c44e-1861-4495-8b77-219780ad88b7</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;Jorgen,&lt;/p&gt;
&lt;p&gt;The sample rate of the ADC is very slow so I modified the code to init/sample/unit using an app_timer.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t understand why EasyDMA does not seem to be a problem with other peripherals. The SPI manager uses EasyDMA and there isn&amp;#39;t a power issue with that...?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: power consumption increases 1.1mA after first ADC sample</title><link>https://devzone.nordicsemi.com/thread/308933?ContentTypeID=1</link><pubDate>Mon, 10 May 2021 11:05:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fafeae80-b9ca-40bb-bc86-fdf9b4bdcbd0</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The increase in current comes from the EasyDMA being enabled and drawing current once the SAADC START task is triggered.&lt;/p&gt;
&lt;p&gt;In order to reduce the current, you can only have a buffer size equal to the number of active channels enabled, and not use the double-buffering feature.&lt;/p&gt;
&lt;p&gt;There is a &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc__config.html#ga7e7da65888f2c0169a53fbf379c1e79c"&gt;low-power mode in the SAADC driver&lt;/a&gt; that you can try to enable, but we have previously seen some issues with this together with enabling multiple channels. If you are using LP mode, it is important that you use the function&amp;nbsp;&lt;a title="nrf_drv_saadc_sample_task_get" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc.html?cp=7_1_6_8_0_30_0_23#gaf762606bdb8f02559c003b179b088f9d"&gt;nrf_drv_saadc_sample_task_get&lt;/a&gt;() when setting up the PPI channels, is this will trigger the START task over PPI and not the SAMPLE task. The SAMPLE task will be triggered in the IRQ handler when the STARTED event is generated.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23867/nrf52-best-practise-for-ultra-low-power-saadc-4-channel-conversion/93906#93906"&gt;The post&lt;/a&gt; provides another approach where the SAADC driver is uninit and re-initialized between each sampling, which should work with multiple channels.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>