<?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>Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56084/lowest-power-mode-nrf52840</link><description>Hello, 
 I have been trying different mode under SYSTEM ON configurations and I can not get anything below 1mA. 
 My application required to keep nRF52840 (I use BMD-340) ON all the time with lowest power consumption with Active BLE. 
 Once I get connection</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 Jan 2020 14:10:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56084/lowest-power-mode-nrf52840" /><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/228169?ContentTypeID=1</link><pubDate>Wed, 08 Jan 2020 14:10:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8dd899d5-6465-4615-bb38-89ad42ede226</guid><dc:creator>Jigar</dc:creator><description>&lt;p&gt;Thanks Einar,&lt;/p&gt;
&lt;p&gt;Do I need to Re-Init any other peripheral? Also, Is it OK to call FIFO every time when we re-init? It may cause some problem. Is there any other solution?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Jay&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227807?ContentTypeID=1</link><pubDate>Tue, 07 Jan 2020 07:47:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:887d38d4-2d97-481f-8fbf-314b62640a87</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Jay,&lt;/p&gt;
&lt;p&gt;Yes, you need to&amp;nbsp;re-init the UART driver after doing the writes to&amp;nbsp;0x40002FFC, and re-init it completely afterward. The reason is that the workaround you use effectively power-cycles the peripheral, so you must configure it again before it can be used.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227700?ContentTypeID=1</link><pubDate>Mon, 06 Jan 2020 13:54:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f9cfbfe-acda-4d55-8d82-b95c5c037da6</guid><dc:creator>Jigar</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Once I disable UART using&amp;nbsp;&lt;/p&gt;
&lt;p&gt;uint32_t err_code = app_uart_close();&lt;br /&gt; if ( err_code == NRF_SUCCESS ) {&lt;br /&gt; NRF_UART0-&amp;gt;TASKS_STOPTX = 1;&lt;br /&gt; NRF_UART0-&amp;gt;TASKS_STOPRX = 1;&lt;br /&gt; NRF_UART0-&amp;gt;ENABLE = 0;&lt;br /&gt; /* Workaround by disabling the UART peripherals due to Nordic SDK15.0 issue */&lt;br /&gt; *(volatile uint32_t *)0x40002FFC = 0; /* Power down UARTE0 */&lt;br /&gt; *(volatile uint32_t *)0x40002FFC; &lt;br /&gt; *(volatile uint32_t *)0x40002FFC = 1; /* Power on UARTE0 so it is ready for next time */&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It works Great. But Then when I try to enable UART module after SLeep using following code&lt;/p&gt;
&lt;p&gt;// Re-enable UART&lt;br /&gt;NRF_UART0-&amp;gt;ENABLE = UART_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; UART_ENABLE_ENABLE_Pos;&lt;/p&gt;
&lt;p&gt;// Enable UART transmission and reception&lt;br /&gt;NRF_UART0-&amp;gt;TASKS_STARTRX = 1;&lt;br /&gt;NRF_UART0-&amp;gt;TASKS_STARTTX = 1;&lt;/p&gt;
&lt;p&gt;But It does not activate UART. Can you please advise? I have to re-initialize UART using UART_init()? Which Init FIFO_UART buffers also.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Jay&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227429?ContentTypeID=1</link><pubDate>Fri, 03 Jan 2020 13:48:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74603c00-7404-4ebb-b52b-e5c9e4516744</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Jay,&lt;/p&gt;
&lt;p&gt;The UART peripheral should be disabled when not used, if not it will cause a high current consumption, as you mention. When you write that the current consumption is 300 uA when you comment out uart_init(), I assume you comment out all other UART related code as well (e.g. writing to UART0 registers)?&lt;/p&gt;
&lt;p&gt;It is a bit difficult to follow the code snippets in the last post, since I don&amp;#39;t see the full context, but I do not see anything obvious other than UART that we have already discussed. One possible relevant point is if any LED&amp;#39;s are lit on the board? If not, can you simply comment out everything and then start uncommenting again to narrow down which part of the code causes the high current consumption (the 300 uA after UART is disabled)?&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227311?ContentTypeID=1</link><pubDate>Thu, 02 Jan 2020 20:21:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b63498d6-a7e2-4927-8b03-4acb23756b6b</guid><dc:creator>Jigar</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I tried your solution and it is in uA. (So, H/W Looks OK) I have also verified&amp;nbsp;&lt;span&gt;NRF_LOG_ENABLED&amp;nbsp; is set to 0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here is how my code looks like.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;main&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;uart_init();&lt;br /&gt; log_init();&lt;br /&gt; timers_init();&lt;br /&gt; buttons_leds_init(&amp;amp;erase_bonds);&lt;br /&gt; power_management_init();&lt;br /&gt; ble_stack_init();&lt;br /&gt; gap_params_init();&lt;br /&gt; gatt_init();&lt;br /&gt; services_init();&lt;br /&gt; advertising_init();&lt;br /&gt; conn_params_init();&lt;br /&gt; nrf_delay_ms(1000);&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; // Start execution.&lt;br /&gt; // printf(&amp;quot;\r\nUART started.\r\n&amp;quot;);&lt;br /&gt; // NRF_LOG_INFO(&amp;quot;Debug logging for UART over RTT started.&amp;quot;);&lt;br /&gt; err_code = advertising_start();&lt;br /&gt; disabled_uart();&lt;br /&gt; // Enter main loop.&lt;br /&gt; for (;;) {&lt;br /&gt; idle_state_handle();&lt;/p&gt;
&lt;p&gt;In Above case my current is 1.3mA.&lt;/p&gt;
&lt;p&gt;If I comment&amp;nbsp;&amp;nbsp;&lt;span&gt;uart_init() my current is 300uA.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Even tough, I have disabled_uart() which is as below It does not disable UART&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; uint32_t err_code = app_uart_close();&lt;br /&gt;// APP_ERROR_CHECK(err_code);&lt;br /&gt; NRF_UART0-&amp;gt;TASKS_STOPTX = 1;&lt;br /&gt; NRF_UART0-&amp;gt;TASKS_STOPRX = 1;&lt;br /&gt; NRF_UART0-&amp;gt;ENABLE = 0;&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please advise.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jay&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227258?ContentTypeID=1</link><pubDate>Thu, 02 Jan 2020 13:59:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7cd4f7b-aaef-4f5a-83fc-01bc923c5210</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The typical reason for getting high current consumption from the SDK examples is if you are using UART, typically by having logging enabled (which is default for most examples). If that is the case, that is most often solved by making sure&amp;nbsp;NRF_LOG_ENABLED is set to 0 in sdk_config.h. This is already set to 0 in the power management example though, so if that is still a problem, it is something else. It could be then either you are measuring when the example is in another state, or there is something with your HW, or that the chip is in debug mode.&lt;/p&gt;
&lt;p&gt;I suggest you test with a very simple firmware with a main function that looks something like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;int main()
{
    while(true)
    {
        // Wait for an event.
        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE();
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Program this, and make sure to reset the board and &lt;em&gt;don&amp;#39;t&lt;/em&gt; attach the debugger after the reset.&amp;nbsp;Then measure the idle current consumption. If the current consumption is still high (more than a few micro amps), then I would start looking at the HW.&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227150?ContentTypeID=1</link><pubDate>Wed, 01 Jan 2020 01:28:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cdb7fd1-6a49-4f15-949c-94954b43e02b</guid><dc:creator>Jigar</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have 1 Ohm in series at VCC to measure total current for BMD-340 module. I have tried using Nordic SDK and one exmple power management but that is System OFF example and still I did not see huge difference. Can you please advise if i am doing something wrong?&lt;/p&gt;
&lt;p&gt;I want possible lowest power while my BLE is ON and based on Connection I can turn ON/OFF my GPIO.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Jay&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Lowest Power Mode nRF52840</title><link>https://devzone.nordicsemi.com/thread/227148?ContentTypeID=1</link><pubDate>Wed, 01 Jan 2020 00:02:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a80d9d6-84e4-477d-9283-306e57e16e44</guid><dc:creator>WestCoastDaz</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/jigar"&gt;jigar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you measuring the 1mA with a power profile kit?&amp;nbsp; If not how are you measuring this?&lt;/p&gt;
&lt;p&gt;The BLE peripheral examples in the SDK folder are power optimized to some extent so they are always a good place to start.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Darren&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>