<?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>Excessive current in System ON, Idle mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/9810/excessive-current-in-system-on-idle-mode</link><description>I am seeing excessive current in System ON, Idle mode. I am using WFI(). I have verified that
operation is being held at that instruction by using GPIO pin. Idle mode is exited by either
the RTC or GPIOTE PORT interrupt. LOWPWR mode is enabled. 
 nrf_gpio_pin_clear</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 21 Oct 2015 00:10:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/9810/excessive-current-in-system-on-idle-mode" /><item><title>RE: Excessive current in System ON, Idle mode</title><link>https://devzone.nordicsemi.com/thread/36359?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2015 00:10:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:386b7a76-e5c2-44c3-bc30-93f9bd2abd18</guid><dc:creator>Scott</dc:creator><description>&lt;p&gt;Problem was a bad board. Other boards behave as expected.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Excessive current in System ON, Idle mode</title><link>https://devzone.nordicsemi.com/thread/36358?ContentTypeID=1</link><pubDate>Tue, 20 Oct 2015 14:27:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a25d6e8b-8d5a-44fb-b503-195336f5406a</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi Scott&lt;/p&gt;
&lt;p&gt;Ok, that is strange. I have tried this on the ptx_ack_payload example in nRF51 SDK 9.0.0. I measure 4.5uA on my nRF51-DK board with the following code:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int main()
{
		// Setup port directions
		ui_init();

		// Initialize ESB
		(void)nrf_esb_init(NRF_ESB_MODE_PTX);

		(void)nrf_esb_enable();  

		// Add packet into TX queue
		my_tx_payload[0] = input_get();
		(void)nrf_esb_add_packet_to_tx_fifo(PIPE_NUMBER, my_tx_payload, TX_PAYLOAD_LENGTH, NRF_ESB_PACKET_USE_ACK);
	
		nrf_esb_disable();

		while(1)
		{
			__SEV();
			__WFE();
			__WFE();
		}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So I suspect one of the following reasons for this behavior:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have enabled something in your code that you have not disabled again. perhaps the best way to figure out what that is is to block out sections of your code until you see the expected current consumption.&lt;/li&gt;
&lt;li&gt;You have custom hardware and there is leakage current somewhere, on GPIO pins, SWD pins or somewhere else.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Try also to go through the hints in the &lt;a href="https://devzone.nordicsemi.com/tutorials/11/nrf51-current-consumption-guide/"&gt;current consumption guide&lt;/a&gt;, &amp;quot;Measure current consumption&amp;quot; section&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>