<?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>Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118509/question-on-optimizing-ble-power-consumption</link><description>Hi, 
 I have a two part question aimed at optimizing the battery life during BLE transmissions. I am using an nRF52805 with the S112 soft device and a DCDC regulator connected to the Nordic pp2. My connection parameters are as follows: Max con interval</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 11 Feb 2025 23:29:29 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118509/question-on-optimizing-ble-power-consumption" /><item><title>RE: Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/thread/522536?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 23:29:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:77c2856d-7449-4850-bfd1-0ebf03829ac4</guid><dc:creator>Emil Lenngren</dc:creator><description>&lt;p&gt;With a connection interval of 180 ms, slave latency latency 29, you have the effective interval of 180*30=5400 ms. With a total sleep accuracy (central sleep accuracy 100 ppm + peripheral sleep accuracy 20 ppm) of 120 ppm, we get 5400*0.000120=0.648 ms. Add an empty packet length of 80 microseconds and you get 0.728 ms.&lt;/p&gt;
&lt;p&gt;With a connection interval of 270 ms, slave latency 21, you have the effective interval of 270*22=5940 ms. If you have a total sleep accuracy of 270 ppm, we get 5940*0.000270=1.6038 ms. Add an empty packet and you get 1.6838 ms.&lt;/p&gt;
&lt;p&gt;Given your graphs, these numbers seem reasonable. What I can&amp;#39;t explain though is that you say that your iPhone reports different sleep clock accuracies every time and despite this you see consistency how wide your window widenings are in the power profiler.&lt;/p&gt;
&lt;p&gt;About window widening and slave latency in general, the longer time since the latest correctly received packet (anchor point), the more widening have to be applied, since the widening to apply is simply the formula [time since last anchor point] times total inaccuracy. Note that every packet exchange in a connection event starts with the central and ends with the peripheral. If the peripheral sends something, the link layer is waiting for the link layer acknowledgement. If no acknowledgement is received in the central&amp;#39;s next packet (which will occur during the next connection event), the peripheral will retransmit until it receives an acknowledgement. Due to this, the peripheral is optimised to ignore slave latency after it has sent a packet while it is waiting for the ack, so that in case the packet was lost, retransmission will happen quickly. Only in case any device has more than one packet to send in its queue, the central will be able to reply to the peripheral in the same connection event (and hence deliver an acknowledgement).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/thread/522532?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 22:30:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a631a58-b253-453b-8f5b-5cb6da4944e8</guid><dc:creator>Amanda Kinley</dc:creator><description>&lt;p&gt;I apologize for the delayed response. After looking over the sniffer trace again and re running the test, I am getting a different Sleep Clock Accuracy for the central (an iPhone 14) almost every time. Sometimes it is low, in 20ppm range, other times it is 250ppm or somewhere between. Is this to be expected? Regardless of what is reported in the sniffer, I still see the 1.6ms RX window when connected to the iPhone.&amp;nbsp;&lt;/p&gt;
[quote userid="26071" url="~/f/nordic-q-a/118509/question-on-optimizing-ble-power-consumption/521146"]Is it possible to upload that sniffer trace?[/quote]
&lt;p&gt;It is uploaded! The one titled&amp;nbsp;NRFSnifferLOGconnectionToDK is the connection to the development board and the other is connected to the iPhone.&amp;nbsp;&lt;/p&gt;
[quote userid="26071" url="~/f/nordic-q-a/118509/question-on-optimizing-ble-power-consumption/521146"]&lt;p&gt;And is the increased RX window only present some times, or on every connection interval?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;[/quote]
&lt;p&gt;On the first transmission&amp;nbsp;after an&amp;nbsp;HVX is scheduled, the RX window is always longer (~1.6ms). The second&amp;nbsp;RX interval&amp;nbsp;immediately after is much shorter (~300us). In addition, when&amp;nbsp;removing the slave latency, every RX window is around 300us.&amp;nbsp;&lt;/p&gt;
[quote userid="135319" url="~/f/nordic-q-a/118509/question-on-optimizing-ble-power-consumption"]1) After scheduling a notification of only 2 bytes with the HVX, I am getting two events on consecutive connection intervals despite only scheduling one. As I understood it, only indications would need an acknowledgement on the subsequent transmission.&amp;nbsp;I am aware that notifications still have a link layer acknowledgement, but&amp;nbsp;I thought that this would be in the same connection interval and not the subsequent. I have attached screenshots of my power profiler for both the entire window (from HVX called to the second transmission) as well as a zoomed in views&amp;nbsp;of the first and second transmissions.&amp;nbsp;[/quote]
&lt;p&gt;Is this behavior to be expected when sending a notification?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your help!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/NordicForumSnifferLOG.pcapng"&gt;/cfs-file/__key/communityserver-discussions-components-files/4/NordicForumSnifferLOG.pcapng&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/NRFSnifferLOGconnectionToDK.pcapng"&gt;/cfs-file/__key/communityserver-discussions-components-files/4/NRFSnifferLOGconnectionToDK.pcapng&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/thread/521146?ContentTypeID=1</link><pubDate>Mon, 03 Feb 2025 14:17:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4000cafd-771f-4892-95bb-912de82465c1</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I see that this screenshot is from a sniffer trace (probably from the nRF Sniffer for Bluetooth LE). Is it possible to upload that sniffer trace? And can you pinpoint approximately where in the sniffer trace (what packet) that has this increased RX window belongs to?&lt;/p&gt;
&lt;p&gt;And is the increased RX window only present some times, or on every connection interval?&lt;/p&gt;
&lt;p&gt;If you have a sniffer trace of the connection that doesn&amp;#39;t have the increased RX window, please upload that as well.&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: Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/thread/520956?ContentTypeID=1</link><pubDate>Sat, 01 Feb 2025 00:23:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:06c2de4e-af2b-4b9f-bb28-40da39e67e17</guid><dc:creator>Amanda Kinley</dc:creator><description>&lt;p&gt;The clock accuracy of the peripheral is 20ppm. The sleep clock accuracy of the iPhone is reported to be 0 to 20ppm in the CONNECT_IND packet as shown below.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Connect-IND.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Question on Optimizing BLE power Consumption</title><link>https://devzone.nordicsemi.com/thread/520818?ContentTypeID=1</link><pubDate>Fri, 31 Jan 2025 07:52:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b00fb09d-7e64-404f-a0b5-93b020de626d</guid><dc:creator>Emil Lenngren</dc:creator><description>&lt;p&gt;What is the sleep clock accuracy of the two central devices? You can find this value in the CONNECT_IND packet, sent at the beginning of the connection. You can see this with nRF Sniffer. If the central reports a more inaccurate clock (higher value), it means the peripheral must apply a larger window widening. Note that the widening is linearly increased depending on how long time ago the latest successful connection event was.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>