<?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>ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/60152/zigbee-freertos-example-power-consumption-optimization</link><description>Hi, I&amp;#39;m using nrf52 dk and struggling to get low power consumption using multi_sensor_freertos ZigBee example from nrf sdk. Can you provide me some guides on how to optimize it? The lowest I can get is 600uA, which in my case is unacceptable. I was trying</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 08 Oct 2020 08:22:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/60152/zigbee-freertos-example-power-consumption-optimization" /><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/273656?ContentTypeID=1</link><pubDate>Thu, 08 Oct 2020 08:22:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:52c82055-dcc8-4635-bbd6-69be58678f1f</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry. Susheel has been out of office. I checked the internal ticket (KRKNWK-6803), and it doesn&amp;#39;t look like the FreeRTOS port in Zigbee is power optimized, and it doesn&amp;#39;t look like there are any plans to develop it further. All our zigbee development resources are targeted towards the Zephyr implementation on Zigbee (which is an RTOS implementation).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;FYI: The reply on the internal ticket says this, among other things:&lt;/p&gt;
&lt;p&gt;&amp;quot;I&amp;#39;m almost certain that it is the ZBOSS timer (beacon interval is approx 15ms) waking up the application. In order to suspend the task, while the timmer is disabled, you have to implement ZB_COMMON_SIGNAL_CAN_SLEEP ZBOSS signal handler. Otherwise you are simply leveraging only the ZBOSS IDLE state, not the ZBOSS SLEEP state (more information can be found &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fzigbee_application_reference_component.html&amp;amp;cp=7_3_3_5_1&amp;amp;anchor=zarco_sleep" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;For som guidance and ideas how to implement this, it might be good to look at the OSIF implementation in NCS[Zephyr implementation]:&lt;/p&gt;
&lt;p&gt;- The CAN_SLEEP handler:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/common/zigbee_helpers.c#L455"&gt;https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/common/zigbee_helpers.c#L455&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- The sleep routine (will be called by zb_sleep_now()):&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/osif/zb_nrf_pwr_mgmt.c#L30"&gt;https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/osif/zb_nrf_pwr_mgmt.c#L30&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- The poll function:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/osif/zb_nrf_platform.c#L501"&gt;https://github.com/nrfconnect/sdk-nrf/blob/7a8861f03674ca0cf2f859de8ebbfebbfa0581ad/subsys/zigbee/osif/zb_nrf_platform.c#L501&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The signaling mechanism is used to wake up ZBOSS task by other tasks that want to send something over Zigbee, as well as to wake up the ZBOSS task earlier than the sleep period, passed to the sleep function as an argument.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/269019?ContentTypeID=1</link><pubDate>Thu, 10 Sep 2020 14:02:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee0ff050-01b4-4e84-a9e4-f757345c34cf</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;Hi!&lt;br /&gt;Any news on that topic? I would be grateful for some help.&lt;br /&gt;I was doing the same things as you mention in your previous post, but with no luck to optimize power consumption.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/259429?ContentTypeID=1</link><pubDate>Fri, 10 Jul 2020 11:57:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11d9a0de-5469-4f90-9066-a2781d74e35f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Adam,&lt;/p&gt;
&lt;p&gt;I see that there is something inside the zigbee stack that is wakinig the chip every 15ms even though I modified the example to unplug it from nrf_pwr_mgmt and use tickless idle.&lt;/p&gt;
&lt;p&gt;I created a JIRA issue to ask the Zigbee engineers to take a look of what is making the chip wake up every 15 ms since it is not due to any peripheral that the application is in control of.&lt;/p&gt;
&lt;p&gt;For your reference the internal ticket id is&amp;nbsp;KRKNWK-6803.&lt;/p&gt;
&lt;p&gt;Most of the engineers are on summer holidays so mostly there will be some delay before they can respond to it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/259154?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2020 11:25:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:807c9699-6297-4705-90c8-c2961b12b6d3</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Adam,&lt;/p&gt;
&lt;p&gt;This example is not written correctly to be very power efficient.&lt;/p&gt;
&lt;p&gt;The Tickless IDLE in FreeRTOSConfig.h file has been disabled. So the MCU is woken up every 1ms to service the RTC interrupt for maintain the freertos internal tick.&lt;/p&gt;
&lt;p&gt;It is also using nrf_pwr_mgmt which contradicts the idle sleeping cycles. I think this example&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;needs to enable the tickless idle,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;nrf_pwr_mgmt_run needs to be removed and&amp;nbsp;&lt;/li&gt;
&lt;li&gt;zb_osif_go_idle in main.c needs to yield in a proper way so as to let the idle task to suspend the chip properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I need more time to re-calibrate this example to work properly with freertos (power consumption wise)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/259012?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2020 13:43:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0f6b0f2-5592-49fe-96de-2faf23fc6213</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I did not succeed to narrow it down today. Will spend more time tomorrow. It looks like the power issue is in the example itself. Something is not right. But will try to solve it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/258972?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2020 11:02:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02f0612c-8b16-4258-91d6-f35936d5cc4e</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Adam,&lt;/p&gt;
&lt;p&gt;I am now able to reproduce this on my desk. I am not sure why the baremetal and FreeRTOS examples are behaving different in their power consumption. I am trying to dig into it. I will comeback to you once I narrow down the problem. Mostly by tomorrow.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/258754?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2020 09:06:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:113cc626-23e0-4e7b-9e3a-cb5f7ac0bf7b</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;Hi Susheel! Thanks for getting back here :) So I was investigating this behavior on non-modified examples from SDK and nrf52-DK with power profiler.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/258504?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 05:09:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9580a66f-758b-47e6-baa7-b0646ed6f9c9</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;If you see this on unmodified example then no need to upload your project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/258503?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 05:08:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f462a7fa-0971-4b13-a240-c3249a030b09</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Adam, i am really sorry. This case have slipped my queue by mistake. I am on holidays and will be back on Wednesday. I will look into this and try to replicate the problem on my desk. Can you please upload your project and instructions to replicate it. Thank you &amp;nbsp;and sorry again for my delayed response&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/257936?ContentTypeID=1</link><pubDate>Wed, 01 Jul 2020 17:14:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:63010225-6d5f-463a-b59f-7f85b7be1177</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;Could you please show me the path to resolve my issue? I would be so thankful. The issue still appears in the newest SDK...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/249542?ContentTypeID=1</link><pubDate>Tue, 12 May 2020 15:28:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c97baad-cf74-4f76-9c74-93a166bb779f</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;Hi!&lt;br /&gt;I was able to optimize our application by enabling internal DCDC converter and power consumption dropped by +-40%.&lt;br /&gt;Unfortunately, we still miss our goal to go down below 100uA.&lt;br /&gt;Can you please provide any other example or ideas on how to optimize it?&lt;br /&gt;Looking forward to hearing from you.&lt;br /&gt;Greets!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/246200?ContentTypeID=1</link><pubDate>Thu, 23 Apr 2020 10:13:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21ec933a-8420-4a97-98a1-79475a7fbf71</guid><dc:creator>naps</dc:creator><description>&lt;div class="author"&gt;
&lt;div class="avatar"&gt;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/cwiek"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="content full threaded-reply-content user-defined-markup"&gt;
&lt;div class="content"&gt;
&lt;p&gt;Hi!&lt;br /&gt;So by defining NRF_LOG_ENABLED to 0, the current consumption dropped from average&amp;nbsp;1.053 to 0.945mA.&lt;br /&gt;Any ideas for further optimization, that I can take a look at?&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/245367?ContentTypeID=1</link><pubDate>Sun, 19 Apr 2020 10:46:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0251474e-6582-479e-89fe-09a97f16e682</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Then it looks like it is specific to freeRTOS issue. I would have to look at implementation of this example. I am good knowledge on FreeRTOS but not so much on Zigbee, I need to figure out if there are any inconsistencies in how the tasks are made.&lt;/p&gt;
&lt;p&gt;If you have enabled the logs, I have noticed on other SDK that they create some issues with power consumption. Try to disable the logs and see if that helps, if it does, then I would have more focused area to debug the issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/245221?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 11:58:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7736c0d6-ca53-4f15-b012-cb552272381e</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;I&amp;#39;ve just checked using a power profiler, and the multi_sensor application consumes only around 20 uA while running..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/245135?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 07:23:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d25f963-c4a6-4a84-9c9c-7d99f206e11f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;multisensor Zigbee and blink_rtc_freertos are not the same applications.&lt;/p&gt;
&lt;p&gt;The best would be to compare power consumption between multisensor (non freertos example) and multisensor_freertos example with a power profiler. If you see a huge difference in these two scenarios, then we can take a look at it. Can you please compare and see.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/244768?ContentTypeID=1</link><pubDate>Wed, 15 Apr 2020 14:16:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f08d02fe-4c2f-49ca-aabf-4d3316b47936</guid><dc:creator>naps</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;Thank you for your fast response!&lt;br /&gt;From what I discovered with the power profiler,&amp;nbsp;&lt;span&gt;multi_sensor_freertos&amp;nbsp;in original configuration consumes 1mA, blinky_rtc_freertos has average around 4uA, and light bulb/switch example also consumes much less than 1mA. Can you point me the way of optimizing&amp;nbsp;multi_sensor_freertos&amp;nbsp; example?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ZigBee + FreeRTOS example power consumption optimization</title><link>https://devzone.nordicsemi.com/thread/244367?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 09:22:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ddba9f6-3c52-4c47-a385-cea8327c8ed3</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I have not measured it myself, but how much does the multi_sensor Zigbee example consume without FreeRTOS? How much is acceptable in your application?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>