<?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 to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112667/how-to-achive-power-optimisation-in-nrf5340</link><description>Hi, 
 We are trying to attain power optimization in our project, which uses the nRF5340 board. In our code we have implimented RTOS, BLE for data transfer and are using i2c and spi for other device communication, uart for data logging. We tried enabling</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 17 Jul 2024 13:02:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112667/how-to-achive-power-optimisation-in-nrf5340" /><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/494372?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2024 13:02:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb649435-70dc-4202-81e5-b12ae0683257</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Maybe you could try to add the following in the while loop in the main():&lt;/p&gt;
&lt;p&gt;while (1) {&lt;br /&gt; pm_power_state_force((struct pm_state_info){ PM_STATE_SOFT_OFF, 0, 0 });&lt;br /&gt; k_msleep(SLEEP_TIME_MS);&lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;just to make sure that&amp;nbsp;the system enters sleep modes properly when idle.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/494370?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2024 13:00:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2569826e-6377-4c45-aafa-6da694c3a036</guid><dc:creator>Maya.</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;We were able to reduce the current&lt;span&gt;&amp;nbsp;range&amp;nbsp;in our board when we changed our childimage with a different one&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/4657.hci_5F00_rpmsg.conf"&gt;devzone.nordicsemi.com/.../4657.hci_5F00_rpmsg.conf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the current&amp;nbsp;consumption is around 245uA range with only the ble enabled.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/493925?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2024 13:31:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5359cac7-1a2e-4aa9-8bda-4073c8dfbb03</guid><dc:creator>Maya.</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;As mentioned before when we dissabled every&amp;nbsp;&lt;span&gt;peripheral&lt;/span&gt;&amp;nbsp;we are getting base current in custom board to be 85uA&amp;nbsp; range&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/no-ble.png" /&gt;&lt;br /&gt;And when enabling BLE the average current raises to 1.6mA range. Keeping all peripherals disabled.&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/yes-ble.png" /&gt;&lt;/p&gt;
&lt;p&gt;These are our .config and main files when enabling BLE&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/37048.prj.conf"&gt;devzone.nordicsemi.com/.../37048.prj.conf&lt;/a&gt;&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/1240276.main.c"&gt;devzone.nordicsemi.com/.../1240276.main.c&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is there any low power ble example code we could try?&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We tried the sample code provided by zephyr &amp;quot;peripheral_dis&amp;quot; . Still we are observing current range around 1.6mA in our board&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Base current should be less than 100uA&amp;nbsp;right?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Since we achieved lower power in the same board we believe this current increase is due to ble enabling other than that we are not enabling anything.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;have we done any mistake in the configuration of ble as we are getting the base current&amp;nbsp;to be&amp;nbsp;in 1.5mA range when enabling ble?&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Maya&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/493887?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2024 11:33:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd8ce61c-a43b-4940-b9e6-e0b15e6d0604</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Maya,&lt;/p&gt;
&lt;p&gt;The power consumption, as mentioned earlier, can depend on your designs. So when you say that the DK current consumption is lesser than your custom boards, it would also be helpful to compare the hardware of both the boards, because this can influence the current consumption.&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/493617?ContentTypeID=1</link><pubDate>Fri, 12 Jul 2024 11:27:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:590ec035-abc7-4be1-8c1a-d175ac82271f</guid><dc:creator>Maya.</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We tried disabling every peripheral, log, and BLE on our custom board and achieved a current consumption in the 85 &amp;micro;A range. The code only contained a while loop with a 1-second delay. we have enabled&amp;nbsp;&lt;span&gt;(CONFIG_PM) in the .conf file.&lt;/span&gt;&lt;br /&gt;However, when we added BLE configurations and initialization to the same code, we observed the current consumption rise to around 1.6 mA.&lt;br /&gt;We are observing a current consumption of around 365 &amp;micro;A on the nrf5340 DK board when using the same code.&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/6253.overlay.png" /&gt;&lt;br /&gt;Is there a possibility of power consumption through these disabled pins?&lt;br /&gt;Do you know what we might be doing wrong?&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Regard,&lt;/span&gt;&lt;br /&gt;Maya&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/492378?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 08:04:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d452897-16ef-4fe9-a07a-d5ef65fc7d7c</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Yes, enabling OTA DFU will cause a slightly higher power consumption because, of course it invloves wireless activity. Moreover the DFU might involve some background tasks in which the processor might be involved. Also, the child image will require some extra storage space and you extra code&amp;nbsp;to handle&amp;nbsp;the DFU will also take up some space. In case there are periodic checks for the OTA DFU, this can also contribute in power consumption.&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/492243?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 12:14:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a76da9b-cc84-4cf7-91e9-3a79e77f0460</guid><dc:creator>Maya.</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;We tried some of your suggestions, but we are still unable to reduce the current consumption to the microampere range as mentioned.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Additionally, in our code, we have enabled the OTA DFU function and added a related child image. Could this affect the device&amp;#39;s power consumption in any way?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We are using SDK version 2.4.2&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achive power optimisation in NRF5340</title><link>https://devzone.nordicsemi.com/thread/491818?ContentTypeID=1</link><pubDate>Tue, 02 Jul 2024 11:14:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4dfb4aaa-c0c2-4f04-a2a6-9828d2f56634</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Maya,&lt;/p&gt;
&lt;p&gt;I will try to answer them one by one.&lt;/p&gt;
[quote user=""]By testing, we have found that calling the function k_sleep() decreases the current consumption. What is the relevance of k_sleep() in power consumption?[/quote]
&lt;p&gt;This function is used to put the thread which calls it, to sleep, for a specified period. When any thread calls the k_sleep(), the scheduler will put the CPU into a low power state if there are no other ready threads. Hence there is a reduction in the power consumption.&lt;/p&gt;
[quote user=""]The RTOS waits for events to be set to execute the necessary process in our project. Does the device go to sleep while waiting for the event?[/quote]
&lt;p&gt;Yes of course. The device can enter a low-power state if you have enabled power management (CONFIG_PM). If so, the idle thread will put your system in the lowest possible power state thereby reducing the power consumption.&lt;/p&gt;
[quote user=""]If a pin is undefined, is there any chance it draws current via the pin? Some of the pins, we are not using in the code—do we need to undefine those pins?[/quote]
&lt;p&gt;The default state of all GPIO pins in nRF5340 is as a disconnected input. Unless you&amp;#39;ve previously configured them to something else, you can leave unused pins in their default state and also physically disconnected to draw no current. That being said, it&amp;#39;s always a good practice to not leave unused pins floating and define the state of unused pins.&lt;/p&gt;
[quote user=""]Does UART logging consume more power?[/quote]
&lt;p&gt;Definitely. If you are not using UART, then it&amp;#39;s better to disable it in order to conserve power and in case you need it, enable it only when it&amp;#39;s needed and disable them soon after, because as long as UART is active, this prevents the MCU from entering any deeper sleep modes. You can utitilize&amp;nbsp;the power management API.&lt;/p&gt;
[quote user=""]What is the minimum power consumption we can achieve with this device configuration?[/quote]
&lt;p&gt;The nRF5340 can achieve very low power consumption, potentially down to microampere levels, when properly configured and in a sleep mode with all peripherals disabled. We cannot guarantee a definite number, as this depends on various factors like your device configuration, power management strategies you use, and your peripherals etc. But there have been instances where upto 8uA have been achieved.&lt;/p&gt;
[quote user=""]How can we control power management in the device?[/quote]
&lt;p&gt;There are various methods like disabling unused peripherals, setting them into a particular power state, checking your hardware settings, and such. You can, as mentioned previously, take a look at the power management API which can be of help. You can also use the PPK2 or the Online power profiler to optimize your designs and consumption.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>