<?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>nRF52 low power current consumption</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/14219/nrf52-low-power-current-consumption</link><description>Hello everyone, 
 I am currently using a nRF52832. I&amp;#39;ve been trying to use the low power mode with little success. I have been seeing a current draw of about 3.5mA. I would expect to see number much lower than this. If i turn on SYSTEMOFF, the current</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 27 Oct 2016 17:08:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/14219/nrf52-low-power-current-consumption" /><item><title>RE: nRF52 low power current consumption</title><link>https://devzone.nordicsemi.com/thread/54312?ContentTypeID=1</link><pubDate>Thu, 27 Oct 2016 17:08:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9db7747-c052-42c3-9122-43b195891a4f</guid><dc:creator>Tony Garland</dc:creator><description>&lt;p&gt;Also, for those who may read this for reference, I&amp;#39;m not sure this is what you want:&lt;/p&gt;
&lt;p&gt;NRF_POWER-&amp;gt;RAM[i].POWERSET = RAM_BLOCK_OFF;&lt;/p&gt;
&lt;p&gt;Since RAM_BLOCK_OFF is zero, calling POWERSET or POWERCLR without any bits set is essentially a NO-OP.  Instead, you want to call POWERCLR with 1s in the positions you want to clear or POWERSET with 1s in the positions you want to set.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 low power current consumption</title><link>https://devzone.nordicsemi.com/thread/54311?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 12:57:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d3c7da6b-e92f-41fe-8d45-6c6784b86c06</guid><dc:creator>jsleeman</dc:creator><description>&lt;p&gt;Thanks for getting back to me quickly. I looked through the forum but i obviously missed the posts.&lt;/p&gt;
&lt;p&gt;It would be good if this was explained in the datasheet under the power section. From how it is worded in the Datasheet, i assumed since the system can detect when it should sleep, being in an empty for loop, would be a prime time to sleep.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve added in the __WFE() command and it works perfectly. Thanks again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 low power current consumption</title><link>https://devzone.nordicsemi.com/thread/54310?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 08:59:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ed665c1-9d5a-48d3-a21c-53341d4e524d</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;You are not putting the chip to sleep, therefore the current consumption is high. You put the chip to sleep (SYSTEM ON sleep mode) with the &lt;code&gt;__WFE()&lt;/code&gt; function. There are a number of posts on this forum describing how this works, see for example &lt;a href="https://devzone.nordicsemi.com/question/1555/how-do-you-put-the-nrf51822-chip-to-sleep/?answer=1589#post-id-1589"&gt;this&lt;/a&gt; or &lt;a href="https://devzone.nordicsemi.com/question/61646/can-someone-explain-to-me-how-nordic-nrf51822-sleep-mode-works/"&gt;this&lt;/a&gt;. The &lt;code&gt;__WFE()&lt;/code&gt; function should be placed in the &lt;code&gt;for(;;){...}&lt;/code&gt; loop.&lt;/p&gt;
&lt;p&gt;Another thing to mention is that tasks only triggers when you write a &amp;#39;1&amp;#39; to them, they will not trigger when you write a &amp;#39;0&amp;#39;, so writing a &amp;#39;0&amp;#39; is unnecessary. When the chip starts up it will run from the RC oscillator. If you want to run it from the crystal this have to be started. This means that it is not necessary to do anything unless you started the crystal with &lt;code&gt;NRF_CLOCK-&amp;gt;TASKS_HFCLKSTART = 1&lt;/code&gt;, in that case stop it with the stop task (will happen immediately). If you want to start the crystal the correct procedure is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NRF_CLOCK-&amp;gt;EVENTS_HFCLKSTARTED = 0;
NRF_CLOCK-&amp;gt;TASKS_HFCLKSTART = 1;

//wait for HFCLK to start
while (NRF_CLOCK-&amp;gt;EVENTS_HFCLKSTARTED == 0){}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Other points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DCDC is disabled when the chip starts, no need to set the register to zero. Also turning it off will not save power in sleep as it is automatically turned on/off when the current draw is high enough for it to be efficient.&lt;/li&gt;
&lt;li&gt;No need to call the low power task unless you have set it to constant latency mode. Low power mode is the default configuration&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>