<?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>current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122135/current-consumption-for-ble-nrf52840</link><description>I’m writing BLE UART code. When BLE is not connected, current consumption is ~30 &amp;#181;A. But when BLE is connected, consumption increases by ~1 mA. I want to reduce the current during an active BLE connection—ideally back toward the disconnected level. Is</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Jul 2025 06:49:55 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122135/current-consumption-for-ble-nrf52840" /><item><title>RE: current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/thread/543425?ContentTypeID=1</link><pubDate>Thu, 24 Jul 2025 06:49:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed2594e0-71ef-4b46-a770-96a1ee9371a6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The main reason for the increase in current while in the connected state in the original case is likely that you were calling uart_init() in the connected event. Enabling UART reception raises the&amp;nbsp;base&amp;nbsp;current to ~0.61-1 mA as it forces system resources like the HF clock to stay&amp;nbsp;on in sleep.&lt;/p&gt;
&lt;p&gt;But I&amp;#39;m not sure why you are measuring 516 uA in the advertising state now. Edvin did not suggest any code changes relevant to this state.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/thread/542618?ContentTypeID=1</link><pubDate>Wed, 16 Jul 2025 09:44:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa676e14-d5fb-4178-b187-d066b9bc6a59</guid><dc:creator>NANDANI</dc:creator><description>&lt;p data-start="79" data-end="120"&gt;After implementing the provided solution:&lt;/p&gt;
&lt;ul data-start="122" data-end="378"&gt;
&lt;li data-start="122" data-end="252"&gt;
&lt;p data-start="124" data-end="184"&gt;When &lt;strong data-start="129" data-end="153"&gt;BLE is not connected&lt;/strong&gt;, the Power Profiler Kit shows:&lt;/p&gt;
&lt;ul data-start="187" data-end="252"&gt;
&lt;li data-start="187" data-end="218"&gt;
&lt;p data-start="189" data-end="218"&gt;&lt;strong data-start="189" data-end="208"&gt;Average current&lt;/strong&gt;: 516 &amp;micro;A&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="221" data-end="252"&gt;
&lt;p data-start="223" data-end="252"&gt;&lt;strong data-start="223" data-end="242"&gt;Maximum current&lt;/strong&gt;: 95.46 mA&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-start="254" data-end="378"&gt;
&lt;p data-start="256" data-end="312"&gt;When &lt;strong data-start="261" data-end="281"&gt;BLE is connected&lt;/strong&gt;, the Power Profiler Kit shows:&lt;/p&gt;
&lt;ul data-start="315" data-end="378"&gt;
&lt;li data-start="315" data-end="347"&gt;
&lt;p data-start="317" data-end="347"&gt;&lt;strong data-start="317" data-end="336"&gt;Average current&lt;/strong&gt;: 1.44 mA&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="350" data-end="378"&gt;
&lt;p data-start="352" data-end="378"&gt;&lt;strong data-start="352" data-end="371"&gt;Maximum current&lt;/strong&gt;: 19 mA&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/thread/538911?ContentTypeID=1</link><pubDate>Wed, 11 Jun 2025 21:53:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af4a9099-8d88-4444-bc1d-b7a9c1a0f765</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user="Tubald"]How do you measure the current consumption? I am trying to do this on my nrf52840 with a multimeter, but without any success.[/quote]
&lt;p&gt;The challenge is that a BLE device will have very little current consumption most of the time, but then it will have large spikes, when the radio is being used, and for some periods where the CPU is being used. Most Multimeters may not sample quick enough to see these spikes, so it will give a very inaccurate measurement.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As &lt;a href="https://devzone.nordicsemi.com/members/nandani"&gt;NANDANI&lt;/a&gt;&amp;nbsp; says, you can use the &lt;a href="https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit-2"&gt;Power Profiler Kit (II)&lt;/a&gt; to measure an accurate current consumption, either on our DKs, or 3rd party devices. It is actually a very good tool for it&amp;#39;s price. You can also use it as a logic analyzer for signals that aren&amp;#39;t too fast.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regarding your current consumption:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]&lt;span&gt;When BLE is &lt;em&gt;not&lt;/em&gt; connected, current consumption is ~30 µA.&lt;/span&gt;&lt;br /&gt; &lt;span&gt;But when BLE &lt;em&gt;is&lt;/em&gt; connected, consumption increases by ~1 mA.&lt;/span&gt;[/quote]
&lt;p&gt;From what I can tell from your main.c file, you are using an advertising interval of 1000ms, and a connection interval between 300ms and 400ms. The 300 and 400ms, however, is a desired connection interval. It is not guaranteed that you will actually achieve this. It depends on your central device, who has the final saying in connection parameters.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What you can do is to try to connect to your peripheral using &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop"&gt;nRF Connect for Desktop&lt;/a&gt;, and it&amp;#39;s &amp;quot;Bluetooth Low Energy&amp;quot; app. It does require an extra DK, but it will accept any connection parameter change request that the peripheral requests. So when the central first connects, it will decide the connection interval. But after&amp;nbsp;FIRST_CONN_PARAMS_UPDATE_DELAY (5 seconds in your case) the peripheral will request it&amp;#39;s desired connection parameters, given it is outside your desired parameters (300ms and 400ms).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you see that the current consumption goes down after 5 seconds? What if you use the nRF Connect for Desktop -&amp;gt; Bluetooth Low Energy app?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If not, can you try adding this to your ble_evt_handler():&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        case BLE_GAP_EVT_CONN_PARAM_UPDATE:
            uint16_t max_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.conn_param_update.conn_params.max_conn_interval;
            uint16_t min_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.conn_param_update.conn_params.min_conn_interval;
            NRF_LOG_INFO(&amp;quot;connection parameters updated. max: %d, min: %d&amp;quot;, max_conn_int, min_conn_int);
            break;
        case BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST:
            uint16_t max_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.conn_param_update_request.conn_params.max_conn_interval;
            uint16_t min_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.conn_param_update_request.conn_params.min_conn_interval;
            NRF_LOG_INFO(&amp;quot;Connection parameters update request. max: %d, min: %d&amp;quot;, max_conn_int, min_conn_int);
            break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can also add this to the&amp;nbsp;BLE_GAP_EVT_CONNECTED case:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;        case BLE_GAP_EVT_CONNECTED:
            NRF_LOG_INFO(&amp;quot;Connected&amp;quot;);
            [...]
            uint16_t max_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.connected.conn_params.max_conn_interval;
            uint16_t min_conn_int = p_ble_evt-&amp;gt;evt.gap_evt.params.connected.conn_params.min_conn_interval;
            NRF_LOG_INFO(&amp;quot;connection parameters: max: %d, min: %d&amp;quot;, max_conn_int, min_conn_int);
            break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;To see your initial connection parameters.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What do you see? Does the connection parameters update after the connection event?&amp;nbsp;&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: current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/thread/538546?ContentTypeID=1</link><pubDate>Mon, 09 Jun 2025 07:04:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8bd8b740-7d88-48a0-8bb7-63d6273d2272</guid><dc:creator>NANDANI</dc:creator><description>&lt;p&gt;power profiler kit using measure current consumption.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: current consumption for ble nrf52840</title><link>https://devzone.nordicsemi.com/thread/538545?ContentTypeID=1</link><pubDate>Mon, 09 Jun 2025 07:02:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:697b1e9a-53d0-485d-b5f2-90081d7800d3</guid><dc:creator>Tubald</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;Sorry for not knowing the answer to your question, but maybe you can help me answer mine.&lt;br /&gt;How do you measure the current consumption? I am trying to do this on my nrf52840 with a multimeter, but without any success.&lt;br /&gt;&lt;br /&gt;I would really appreciate if you could tell me how to do it.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>