<?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>how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/19222/how-can-adjust-to-dozens-of-ua-with-freertos</link><description>Chip: NRF52832;
SDK: 13.0.0
Softdevice: s132_nrf52_5.0.0;
Routines: ble_app_hrs_freertos;
Configuration: Minimum system board, broadcast interval 1000ms;
Question: Broadcast power consumption of about 800uA or so, power consumption is too high, how</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 May 2019 22:58:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/19222/how-can-adjust-to-dozens-of-ua-with-freertos" /><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/186039?ContentTypeID=1</link><pubDate>Wed, 08 May 2019 22:58:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8e03bd8-1975-44fd-93ca-013583426dfc</guid><dc:creator>Dave_couling</dc:creator><description>&lt;p&gt;Remove the Idle hook&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74483?ContentTypeID=1</link><pubDate>Thu, 06 Jul 2017 08:08:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3a4e1f2-f211-4d36-b477-6411a8bf9574</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Thanks for that information labi.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74480?ContentTypeID=1</link><pubDate>Sun, 02 Jul 2017 19:35:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c42ba0c-a792-45a4-9497-006e130c68de</guid><dc:creator>labi</dc:creator><description>&lt;p&gt;Turns out the Sparkfun NRF52 breakout board has a LDO regulator which was consuming extra current though I was supplying the output side of the LDO. Once I removed the LDO, the current draw is now around 70 uA! :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74479?ContentTypeID=1</link><pubDate>Sun, 02 Jul 2017 19:08:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b669ade8-2740-46a2-a89b-1f211e21d007</guid><dc:creator>labi</dc:creator><description>&lt;p&gt;UPDATE: I ran the same firmware on the NRF52-DK and measured ~75uA current on P22. Looks like the Sparkfun NRF52 target may be leaking some extra current somewhere or there&amp;#39;s some other issue. Will post here if I find anything. Thanks for your support!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74481?ContentTypeID=1</link><pubDate>Sun, 02 Jul 2017 15:46:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1b6c1c4-3f3f-4b8a-b0f6-4db810bdb306</guid><dc:creator>labi</dc:creator><description>&lt;p&gt;I just replaced &lt;strong&gt;port_cmsis_systick.c&lt;/strong&gt; as decribed on the post. Current is still at ~800uA :(&lt;/p&gt;
&lt;p&gt;I tried both softdevice 4.0.2 and 4.0.4 with the same result. Anything else I can try?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74478?ContentTypeID=1</link><pubDate>Sun, 02 Jul 2017 13:17:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fcd67b4-4345-4e23-b79b-6e58800eadc4</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi labi,&lt;/p&gt;
&lt;p&gt;I missed to see this thread is out of date. If you are using SDK 13, then you need to change only one file and it is shown &lt;a href="https://devzone.nordicsemi.com/question/132346/freertos-rtc-issue-in-port_cmsis_systickc/"&gt;here&lt;/a&gt;. I will update my answer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74482?ContentTypeID=1</link><pubDate>Sun, 02 Jul 2017 01:23:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcc7ca87-8793-4c06-84a7-c69d33ec33e8</guid><dc:creator>labi</dc:creator><description>&lt;p&gt;Hi Aryan,&lt;/p&gt;
&lt;p&gt;Im looking into reducing power usage in my application as well, but havent had any luck reducing the current lower than around 800uA. Here&amp;#39;s what I&amp;#39;ve done so far:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Downloaded SDK 13.0.0 / softdevice 4.0.2 - ble_app_hrs_freertos consumes about 8mA - NRF toolbox cannot connect to device - connection keep disconnecting&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set NRF_LOG_ENABLED to 0 in the same project - current went down to 800uA - NRF Toolbox can now connect reliably&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Applied above fix provided by you - current is still at 800uA&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Changed to Softdevice 4.0.4 - no change in current - Connection stays OK&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Disabled Idle hook - no change in current - connection stays OK&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Changed to Softdevice 5.0.0-3.alpha - Current went up to 6.5mA - NRF Toolbox cant connect to device any more&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Any Ideas what Im doing wrong or how I can lower the current down to 100uA as documented here?&lt;/p&gt;
&lt;p&gt;My hardware setup is NRF52-DK (used as a debugger) ---&amp;gt; Sparkfun NRF52 breakout board as target&lt;/p&gt;
&lt;p&gt;I&amp;#39;m using armgcc compiler on Ubuntu Linux&lt;/p&gt;
&lt;p&gt;All current measurements listed here are measured using a Fluke 87V True RMS Multimeter measuring current going into the target board, with NRF52-DK switched off.&lt;/p&gt;
&lt;p&gt;Any help would be very much appreciated.&lt;/p&gt;
&lt;p&gt;Thank You,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74477?ContentTypeID=1</link><pubDate>Fri, 03 Feb 2017 11:53:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9054358e-ac18-45de-8060-427c180f36ef</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I have tested this myself and many other customers confirmed that now SDK FreeRTOS example takes about 100uA instead of 800uA after this fix.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74476?ContentTypeID=1</link><pubDate>Fri, 03 Feb 2017 11:39:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de834c25-0a0b-45d4-9f89-ce6bae2ebbf1</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;h2&gt;updated(2 July 2017)&lt;/h2&gt;
&lt;p&gt;Use SDK 13 and replace the file given in &lt;a href="https://devzone.nordicsemi.com/question/132346/freertos-rtc-issue-in-port_cmsis_systickc/"&gt;this&lt;/a&gt; thread. It is best not to post files in many threads as we might loose track and forget to update the thread.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74475?ContentTypeID=1</link><pubDate>Fri, 03 Feb 2017 01:45:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6ce6525-f3c3-40e0-919c-165643952d87</guid><dc:creator>canan</dc:creator><description>&lt;p&gt;The minimum system board is PCA10040 V0.9.0, ammeter in series with P22 (nRF current measurement), the freertos routine (ble_app_hrs_freertos) in SDK V13.0.0 is 800uA (1000ms broadcast interval);&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74473?ContentTypeID=1</link><pubDate>Thu, 26 Jan 2017 15:56:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4804dd19-66f3-44cf-b006-f649f9848221</guid><dc:creator>Arnaud Nelissen</dc:creator><description>&lt;p&gt;All the FreeRTOS examples I tried (from SDK 12 to 14 and associated softdevices) showed up a 800µA current consumption.
I managed to get 30µA with a NON FreeRTOS example (ble_app_template).
I can&amp;#39;t see which peripheral is running, as the examples do not start one...
I opened a case on MyPage.&lt;/p&gt;
&lt;p&gt;Thank you for your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74474?ContentTypeID=1</link><pubDate>Thu, 26 Jan 2017 12:45:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86da0ffd-bebd-49e6-b90d-09733aabec37</guid><dc:creator>Arnaud Nelissen</dc:creator><description>&lt;p&gt;I also face this problem (around 800µA of current consumption), using FreeRTOS example on my custom board design (SDK 12.0.2 Softdevice s132 3.1.0, nRF52832 QFAAB0).&lt;/p&gt;
&lt;p&gt;I removed any advertised BLE service, disabled NRF LOG module, applied the diff @Aryan just provided, and the FPU irq handler &lt;a href="https://devzone.nordicsemi.com/question/70989/fpu-divide-by-0-and-high-current-consumption/"&gt;fix&lt;/a&gt; without success. My freeRTOSConfig file features :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define configUSE_TICKLESS_IDLE 1
#define configUSE_TICKLESS_IDLE_SIMPLE_DEBUG 1
...
#define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I also tried another example without FreeRTOS (ble_app_template), my current consuption is brought down to around 30µA.&lt;/p&gt;
&lt;p&gt;I off course detach the debugger and power cycle the board before testing current consumption.&lt;/p&gt;
&lt;p&gt;Do you have any idea what&amp;#39;s going on ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74469?ContentTypeID=1</link><pubDate>Wed, 25 Jan 2017 21:32:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94e912ae-7836-4392-bd83-d935be4ae4e3</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;well if you have not configured the FreeRTOS to be in tickless idle mode, then it will consume more power because at the SDK default tick frequency, it will wake up the chip almost every millisecond. Use tickless idle as shown &lt;a href="http://www.freertos.org/low-power-tickless-rtos.html"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Built in tickless idle functionality
is enabled by defining
configUSE_TICKLESS_IDLE as 1 in
FreeRTOSConfig.h&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;NOTE : there was a bug in tickless idle mode that made loose ticks.Apply the changes from my answer below in this case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74472?ContentTypeID=1</link><pubDate>Wed, 25 Jan 2017 08:36:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2da79dc7-85d8-4021-bb6e-634277e5f848</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;OK&lt;/p&gt;
&lt;p&gt;Log is not enabled by default in that example, but I don&amp;#39;t know if it uses the UART in some other way, probably not.&lt;/p&gt;
&lt;p&gt;Did you power cycle the board after uploading&lt;/p&gt;
&lt;p&gt;And what do you mean my &amp;quot;Minimum system board&amp;quot;, do you mean custom design?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74471?ContentTypeID=1</link><pubDate>Wed, 25 Jan 2017 07:01:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69ca1fc5-5865-4502-add7-412d8d6cc171</guid><dc:creator>canan</dc:creator><description>&lt;p&gt;That is the SDK routine, I only revised the broadcast interval, why SDK routines with freertos power so high?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how can adjust to dozens of uA (with freertos)</title><link>https://devzone.nordicsemi.com/thread/74470?ContentTypeID=1</link><pubDate>Wed, 25 Jan 2017 06:06:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:929680bc-a046-47f9-a145-82886c4966d1</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;I presume you have ruled out things like the MCU being in debug mode and that the UART is not enabled etc ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>