<?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>Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/84289/wake-on-any-event-low-power-mode-using-a-timed-event</link><description>I am really new at working with Bluetooth and the various protocols contained within. 
 I am using SDK 17.0 and drivers 2.7. I am working on a DK-52 board. 
 I am working with the HRM Demo. In particular with the battery service timed event. I came across</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 08 Feb 2022 23:51:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/84289/wake-on-any-event-low-power-mode-using-a-timed-event" /><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351938?ContentTypeID=1</link><pubDate>Tue, 08 Feb 2022 23:51:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cb3311b-e9c9-4e83-9c9f-acac846d74ea</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;This is some good information.&amp;nbsp; I was able to get the beacon application to work and could see it on the nRFConnect app on the phone.&amp;nbsp; I will experiment with this and see how it goes.&amp;nbsp; Thanks for the help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351834?ContentTypeID=1</link><pubDate>Tue, 08 Feb 2022 13:54:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8be9da84-618f-44f4-8000-688e0f8e82bb</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Without connections and some battery info, this sounds like a typical beacon application. Just be aware that there is no way to guarantee that an advertisement is picked up, so the typical way here is to advertise more than once before going back to sleep. You should look into advertisement intervals and scan intervals and scan windows. You can read about it in &lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/bluetooth-low-energy/posts/bluetooth-smart-and-the-nordics-softdevices-part-1"&gt;this guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I also suggest that you look into the &lt;a href="https://devzone.nordicsemi.com/power/w/opp/2/online-power-profiler-for-bluetooth-le"&gt;online power profiler&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Perhaps settings like this is something you are looking for:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1644328095954v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I think you would want to look into the ble_app_uart example, as this is probably the closest you are looking for. Just be aware that this example is not using the advertising module, but setting up the advertisements manually. So perhaps just disable the scan response and set the advertising type from connectable to unconnectable in whatever ble_peripheral example is just as easy.&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: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351627?ContentTypeID=1</link><pubDate>Mon, 07 Feb 2022 17:22:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac93837e-a4d6-4870-bfcc-af639e7a88bb</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;Based on my understanding of the new requirement, it would be to blindly send out the battery level and not require any type of connection from the cell phone app.&amp;nbsp; The cell phone app is looking for the MAC address of the remote device and just the battery level info.&amp;nbsp; They are now saying that with the 30 mAH battery, I would need to put the device into a System Off, No RAM retention, wake on GPIO mode.&amp;nbsp; That should get me to 0.3 uA over a period of 9 Secs will only draw 2.7 uA.&amp;nbsp; I would just need to figure out how much current would be needed to come up and send out the data and then go back into that deep sleep mode.&amp;nbsp; For the GPIO, I would just use a simple RC network for the delay.&amp;nbsp; Would it be easier for me to look at a different demo that is more targeted to this approach?&amp;nbsp; If so, which one would you suggest?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351496?ContentTypeID=1</link><pubDate>Mon, 07 Feb 2022 10:38:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02d34472-f4cb-441a-8b4e-9b29003065fa</guid><dc:creator>Edvin</dc:creator><description>[quote user="AllenS"]advertise every x seconds and send the battery level when the advertise is transmitted.[/quote]
&lt;p&gt;What do you mean by this? Do you intend to include the battery level in your advertisement, or are you connected to the device that you send the battery level to?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351412?ContentTypeID=1</link><pubDate>Fri, 04 Feb 2022 23:54:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc252d76-a469-4667-bc56-3ea8d8879f72</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;This is the entry into the main loop:&lt;/p&gt;
&lt;p&gt;#ifdef dbg_UART_Msgs&lt;/p&gt;
&lt;p&gt;printf(&amp;quot;Starting Main Loop.\r\n&amp;quot;);&lt;/p&gt;
&lt;p&gt;#endif&lt;/p&gt;
&lt;p&gt;// Enter main loop.&lt;br /&gt; for (;;)&lt;br /&gt; {&lt;br /&gt;// #ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;// bsp_board_led_on(3);&lt;/p&gt;
&lt;p&gt;// #endif&lt;/p&gt;
&lt;p&gt;idle_state_handle();&lt;/p&gt;
&lt;p&gt;// #ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;// bsp_board_led_off(3);&lt;/p&gt;
&lt;p&gt;// #endif&lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;When it went into Idle_State_Handle(), that was the function I showed in a previous post.&amp;nbsp; So you are definitely right about the execution going off somewhere else and upon a disconnect it will come back to the main loop and the Idle routine.&amp;nbsp; More investigation needs to be done to figure out way but at least now I have something to look for.&lt;/p&gt;
&lt;p&gt;Anyway, the project spec changed and I am being asked to advertise every x seconds and send the battery level when the advertise is transmitted.&amp;nbsp; Any suggestions about that or should I close this discussion and start a new one.&amp;nbsp; I do have some ideas on things to experiment regarding this to see if it will work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351307?ContentTypeID=1</link><pubDate>Fri, 04 Feb 2022 11:47:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:32b1efbb-8add-465f-abca-814df340d017</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;What does your main loop look like? It should call sd_app_evt_wait() directly or indirectly (through some idle_state_handle() function or something). If so, then the device should reach the low power mode that you can use while using the softdevice actively. Unless you are hanging in an interrupt somewhere, the main loop should be reached after any interrupt.&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: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351218?ContentTypeID=1</link><pubDate>Fri, 04 Feb 2022 00:54:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4db16d8f-d479-459c-9e4f-235c13bf96ff</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;When I spoke of low power mode, I was referring to what is happening during the advertising mode cycling between 1.8 sec off and 200 ms. active times.&amp;nbsp; On page 77 of the Nordic Datasheet nRF52832 Product Spec v1.4, under the heading Current consumption: Ultra-low power, I was trying to achieve the mode of ultra low power described as: System ON, Full RAM retention, Wake on any event because the consumption amount is 1.5 uA.&amp;nbsp; When you come out of Ultra low power mode and have already connected with the phone app, the battery reporting timer service would send out the updated battery status and then go back into the previously described Ultra low power mode until the next timed interval occurs to transmit another updated battery status.&lt;/p&gt;
&lt;p&gt;Once the phone app disconnects, then the remote device would need to go back into the advertising cycling mode as I described earlier.&lt;/p&gt;
&lt;p&gt;To answer your question, I do want to be in a system on mode because the design I am working with will not have a physical input that I can use to wake up the remote device from a system off mode so it needs to be a system on mode as I described before.&lt;/p&gt;
&lt;p&gt;I will look around and see if I can identify where the idle mode is occurring once the remote device has connected to the phone app.&amp;nbsp; Maybe there is a different handler being specified once the connection has occurred that I have not noticed yet.&amp;nbsp; If you have any suggestions on how to track that down, I am open to suggestions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/351051?ContentTypeID=1</link><pubDate>Thu, 03 Feb 2022 10:11:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61a7bbe7-a49e-466c-b36b-111812500f4d</guid><dc:creator>Edvin</dc:creator><description>[quote user="AllenS"]It seems to only run this when not connected because it is advertising.&amp;nbsp; Once connected, it appears the full running of the device occurs until a disconnect and then it goes back into an idle advertising sleep mode of operation.[/quote]
&lt;p&gt;In the unmodified example, it reaches idle_state_handle() even if you are connected.&amp;nbsp;&lt;/p&gt;
[quote user="AllenS"]Is it possible that sleep / idle mode can be accomplished during the timer event to go read the battery and then go into a low power mode like it does in the advertising mode to conserve more power but have the battery reporting timer control the low power mode?[/quote]
&lt;p&gt;I am a bit confused about your use of &amp;quot;low power mode&amp;quot;. Can we please use the terms &amp;quot;system on mode&amp;quot; and &amp;quot;system off mode&amp;quot;?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So you want to be connected, use a timer to generate the battery reading and send it over BLE, and be in system on mode. Is that correct?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/350980?ContentTypeID=1</link><pubDate>Thu, 03 Feb 2022 00:42:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80070cf5-267f-4c0f-b81e-7bc676f1559d</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;After some more testing, I am realizing that when the unit is connected to the nRFConnect utility app on the phone, I no longer seem to be going through the main Idle handler anymore.&amp;nbsp; Below is the code that I expected it to run while connected as well:&lt;/p&gt;
&lt;p&gt;//---------------------------------------------------------------------------&lt;br /&gt;/**@brief Function for handling the idle state (main loop).&lt;br /&gt; *&lt;br /&gt; * @details If there is no pending log operation, then sleep until next the next event occurs.&lt;br /&gt; */&lt;br /&gt;//---------------------------------------------------------------------------&lt;br /&gt;static void idle_state_handle(void)&lt;br /&gt;{&lt;br /&gt; ret_code_t err_code;&lt;/p&gt;
&lt;p&gt;err_code = nrf_ble_lesc_request_handler();&lt;/p&gt;
&lt;p&gt;APP_ERROR_CHECK(err_code);&lt;/p&gt;
&lt;p&gt;if (NRF_LOG_PROCESS() == false)&lt;br /&gt; {&lt;br /&gt; #ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;bsp_board_led_on(3);&lt;/p&gt;
&lt;p&gt;#endif&lt;/p&gt;
&lt;p&gt;nrf_pwr_mgmt_run();&lt;/p&gt;
&lt;p&gt;#ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;bsp_board_led_off(3);&lt;/p&gt;
&lt;p&gt;#endif&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;It seems to only run this when not connected because it is advertising.&amp;nbsp; Once connected, it appears the full running of the device occurs until a disconnect and then it goes back into an idle advertising sleep mode of operation.&lt;/p&gt;
&lt;p&gt;Is it possible that sleep / idle mode can be accomplished during the timer event to go read the battery and then go into a low power mode like it does in the advertising mode to conserve more power but have the battery reporting timer control the low power mode?&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Thanks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Allen Shea&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/350970?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 21:31:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e354a11-0d9b-4fc0-b84b-9e752b1be23c</guid><dc:creator>AllenS</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;Thank you for the comments.&amp;nbsp; Here is some more information that might clarify what I am trying to accomplish and what I am seeing.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Part of my goal is to make an educated guess on current consumption prior to making any development board changes and see if a small coin cell battery (30mAH) capacity will operate for an acceptable amount of time before having to be replaced.&lt;/p&gt;
&lt;p&gt;I believe I have the main objective of the task figured out right now but those few items about restart and transmits in advertising intermittently will definitely figure into the current consumption.&lt;/p&gt;
&lt;p&gt;My main goal is that when the app on the phone no longer detects the remote device, an alarm in the phone app will alert the person.&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------------&lt;br /&gt;NRF Log Output&lt;br /&gt;--------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;00.000: &amp;lt;info&amp;gt; app_timer: RTC: initialized.&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: BAS example started.&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: Erase bonds!&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; peer_manager_handler: All peers deleted.&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: Fast advertising.&lt;/p&gt;
&lt;p&gt;24.400: &amp;lt;info&amp;gt; app: Connected.&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: GATT ATT MTU on connection 0x0 changed to 247.&lt;/p&gt;
&lt;p&gt;26.261: &amp;lt;info&amp;gt; app: BLE_GAP_EVT_LESC_DHKEY_REQUEST&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; nrf_ble_lesc: Calling sd_ble_gap_lesc_dhkey_reply on conn_handle: 0&lt;/p&gt;
&lt;p&gt;27.586: &amp;lt;info&amp;gt; peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Bonding&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: BLE_GAP_EVT_AUTH_STATUS: status=0x0 bond=0x1 lv4: 0 kdist_own:0x3 kdist_peer:0x2&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Bonding data, action: Update&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Local database, action: Update&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Central address resolution, action: Update&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: Batt Lvl = 832 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;31.972: &amp;lt;info&amp;gt; app: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;35.909: &amp;lt;info&amp;gt; app: Batt Lvl = 832 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;39.981: &amp;lt;info&amp;gt; app: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;43.935: &amp;lt;info&amp;gt; app: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;47.973: &amp;lt;info&amp;gt; app: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;51.910: &amp;lt;info&amp;gt; app: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;/p&gt;
&lt;p&gt;55.327: &amp;lt;info&amp;gt; app: Fast advertising.&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: Disconnected, reason 19.&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------------&lt;br /&gt;Simple UART Log Output&lt;br /&gt;--------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;47:16.191: Disconnected, reason 19.&lt;br /&gt;47:44.435: BLE_GAP_EVT_AUTH_STATUS: status=0&lt;br /&gt;Disconnected, reason 22.&lt;/p&gt;
&lt;p&gt;49:32.163: &amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;/p&gt;
&lt;p&gt;Bonds deleted // I do this to keep from filling up and having issues connecting to rfConnect utility&lt;br /&gt;Starting Main Loop // Occurs right before going into Idle mode&lt;/p&gt;
&lt;p&gt;BLE_GAP_EVT_AUTH_STATUS: status=0 // Once connected then transmit Battery Level&lt;/p&gt;
&lt;p&gt;Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;49:56.477: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:00.435: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4 &lt;br /&gt;50:04.503: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4 = 4.068 sec.&lt;br /&gt;50:08.459: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4 = 3.956 sec.&lt;br /&gt;50:12.448: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4 = 3.989 sec.&lt;br /&gt;50:16.427: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4 = 3.979 sec.&lt;br /&gt;50:20.408: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:24.451: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:28.431: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:32.430: Batt Lvl = 827 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:36.440: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:40.496: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:44.433: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:48.483: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:52.476: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;50:56.440: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:00.532: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:04.480: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:08.492: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:12.455: Batt Lvl = 832 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:16.530: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:20.512: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:24.413: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:28.505: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:32.498: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:36.466: Batt Lvl = 828 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:40.438: Batt Lvl = 827 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:44.506: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:48.502: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:52.482: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;51:56.477: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:00.461: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:04.409: Batt Lvl = 827 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:08.481: Batt Lvl = 827 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:12.480: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:16.485: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:20.471: Batt Lvl = 830 =&amp;gt; 81 =&amp;gt; 4&lt;br /&gt;52:24.450: Batt Lvl = 829 =&amp;gt; 81 =&amp;gt; 4 = 3.979 sec.&lt;/p&gt;
&lt;p&gt;Disconnected, reason 19.&lt;/p&gt;
&lt;p&gt;55:24.961: &amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;&amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;58:25.507: Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;&amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;01:01:25.772: Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;&amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;01:04:25.897: Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;&amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;01:07:26.042: Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;&amp;oacute;UART started. // This output occurs when a reset has occurred.&lt;br /&gt;01:10:26.385: Bonds deleted&lt;br /&gt;Starting Main Loop&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;The reason I show the Simple UART Log is because it shows the device restarting every 3 min. like you described before. If I turn on nRF Log this never shows up because of the code:&lt;/p&gt;
&lt;p&gt;//---------------------------------------------------------------------------&lt;br /&gt;/**@brief Function for handling the idle state (main loop).&lt;br /&gt; *&lt;br /&gt; * @details If there is no pending log operation, then sleep until next the next event occurs.&lt;br /&gt; */&lt;br /&gt;//---------------------------------------------------------------------------&lt;br /&gt;static void idle_state_handle(void)&lt;br /&gt;{&lt;br /&gt; ret_code_t err_code;&lt;/p&gt;
&lt;p&gt;err_code = nrf_ble_lesc_request_handler();&lt;/p&gt;
&lt;p&gt;APP_ERROR_CHECK(err_code);&lt;/p&gt;
&lt;p&gt;if (NRF_LOG_PROCESS() == false)&lt;br /&gt; {&lt;br /&gt; #ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;bsp_board_led_on(3);&lt;/p&gt;
&lt;p&gt;#endif&lt;/p&gt;
&lt;p&gt;nrf_pwr_mgmt_run();&lt;/p&gt;
&lt;p&gt;#ifdef dbg_Time_Idle_Dly&lt;/p&gt;
&lt;p&gt;bsp_board_led_off(3);&lt;/p&gt;
&lt;p&gt;#endif&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;--------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;My main loop cycle time is: 200ms active and 1.8 sec idle / sleep.&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;When the unit apparently restarts, there is no difference with the main loop cycle on the O-scope that indicates the restart occurred. Is this something I should be concerned with?&lt;/p&gt;
&lt;p&gt;Since I am not encrypting anything, is there a better way to connect to the device rather than a bond or is that a necessary thing that has to be done? The reason I delete the bonds is because after so many times of changing the firmware a table filled up and I was no longer able to bond through nRFConnect utility. That is why I tell the unit to force delete the bonds on startup. Would it be better to only force delete the bond during debugging rather than all the time?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wake on any Event Low Power Mode Using a timed event</title><link>https://devzone.nordicsemi.com/thread/350830?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 10:58:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b59d137-9618-47e0-9ac5-3f6793acf36c</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user=""]it appears the device somehow just resets itself and continues the process all over again.[/quote]
&lt;p&gt;What observations do you do that supports this scenario? Do you see anything in the log? Does it disconnect from the connected device? What do you connect to? A phone?&lt;/p&gt;
[quote user=""]Is there a good method that I could use to determine if the client app was bonded with the device and not send battery level info but wait until a bond occurs and then send that battery info across so as not to waste much battery power as well?[/quote]
&lt;p&gt;Yes, but this isn&amp;#39;t really saving much power. Bonding is used for encryption. If you wanted to, you could wait until the link is encrypted, but in reality this will save less than one battery message on average. It will not conserve much power.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]If I wanted to keep the system on, full ram retention and wake on any event, which sd function would I need to call so that I could go into Ultra-low power mode[/quote]
&lt;p&gt;If you go to the &amp;quot;ultra low power mode&amp;quot;, it basically means turning off the chip. The only way to wake it up from this state is by a button press. You can&amp;#39;t use any timers in this system-off mode (which is why the comments say that you need a button press to wake up.).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;System off mode, which is the lowest power mode you can use is typically used if you are advertising, but noone tries to connect. When the advertisements time out after 180s (configurable in your application), the device will go to system off mode.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then there is system on mode, which is what we use when you are in a connection, advertising or scanning. If you look in your main() loop, you should see a sd_app_evt_wait(), which basically puts the device to sleep, but wake up on any event (timer, softdevice radio event, peripheral event or whatever you have set up).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So I am not completely sure what you are looking for (perhaps you are not so sure yourself). Do you see a current consumption that is too big for what you can tolerate? If so, what is the current consumption, and what current consumption do you need? Or are you concerned with security? Or are you curious about that the application seemingly resets? Did you try to monitor the log from the nRF? (UART log?) Does it say anything when the device resets?&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></channel></rss>