<?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>Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile</link><description>Hi , I would want to establish a GATT Server application as well as integrate Bond Management Service from glucose example (ble_app_gls) in examples folder of SDK15.3.0_59ac345 into my GATT Server Application. How to integrate this service into GATT Server</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Sep 2019 10:53:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile" /><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/210072?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2019 10:53:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7104116b-0717-4cfd-99ce-c5f0b8c8eae7</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Ah, that makes sense. I forgot that you also need to change the key distribution configuration to disable it, since that only makes sense when bonding. So you should look for this part in&amp;nbsp;peer_manager_init():&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    sec_param.kdist_own.enc  = 1;
    sec_param.kdist_own.id   = 1;
    sec_param.kdist_peer.enc = 1;
    sec_param.kdist_peer.id  = 1;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and replace it with this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    sec_param.kdist_own.enc  = 0;
    sec_param.kdist_own.id   = 0;
    sec_param.kdist_peer.enc = 0;
    sec_param.kdist_peer.id  = 0;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;With this change, the nRF will still support pairing, but not bonding. If you don&amp;#39;t want pairing support either, you should remove the peer manager. If that is your desire in tead,&amp;nbsp;you can test by just comment out the call to&amp;nbsp;peer_manager_init()&amp;nbsp;in main() and&amp;nbsp;pm_handler_secure_on_connection() in&amp;nbsp;ble_evt_handler(), both in your main.c file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/210054?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2019 09:43:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:257d54af-6105-43a5-a055-2b7eb9daa12e</guid><dc:creator>Jaydev Borkar</dc:creator><description>&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1568713192526v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It is&amp;nbsp;&amp;nbsp;err_code = pm_sec_params_set(&amp;amp;sec_param); function is showing the error . This error is reflected only if I change&amp;nbsp;#define SEC_PARAM_BOND from 1 to 0.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/210020?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2019 08:18:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a8555de-ef53-4012-bea1-c6976f732961</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;[quote user="Jaydev Borkar"][/quote]&lt;/p&gt;
&lt;p&gt;I enabled logging using PUTTY . I get error 7.&amp;nbsp;NRF_ERROR_INVALID_PARAM. I have put in many log details in each of the functions .. Please check the below screenshot .&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I see. The error code is typically returned from a function call and then detected by an&amp;nbsp;APP_ERROR_CHECK(), which is on line 735 in your modified BMS example. Which function returns this error code? When you know the function and the error code you can start to check what would cause that function to return the specific error code. Often it will be quite obvious, but sometimes it requires a bit more digging.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209999?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2019 07:29:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fb6169f-6175-46b8-b39a-c0715a95973f</guid><dc:creator>Jaydev Borkar</dc:creator><description>[quote userid="7377" url="~/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile/209787"]I can see that an error has been detected, but not what error. Please build the debug target (Select &amp;quot;Debug&amp;quot; in the dropdown menue in the upper left part of the screen when not in debug mode). If you also enable logging, you will get a log printed when there is an error. If not, inspect p_info etc. to see what error you got where. It will tell you which file, at which line you got which error code.[/quote]
&lt;p&gt;I enabled logging using PUTTY . I get error 7.&amp;nbsp;NRF_ERROR_INVALID_PARAM. I have put in many log details in each of the functions .. Please check the below screenshot .&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1568704140598v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="7377" url="~/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile/209787"]I don&amp;#39;t understand. Why do you want BMS when you are not using bonding? The whole purpose of BMS is to manage bonds, but there will not be any if you don&amp;#39;t support bonding.[/quote]
&lt;p&gt;BMS was used in our previous implementation just to have read and write characteristic access. We could have used any other service . But we ended up taking BMS .&amp;nbsp; So I wanted to replicate the same in new project .&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209787?ContentTypeID=1</link><pubDate>Mon, 16 Sep 2019 10:13:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4fdc8bd-c3ae-44ba-95b3-852fcc5eca72</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Jaydev Borkar"]Is there any other parameter that I need to change ?[/quote]
&lt;p&gt;I can see that an error has been detected, but not what error. Please build the debug target (Select &amp;quot;Debug&amp;quot; in the dropdown menue in the upper left part of the screen when not in debug mode). If you also enable logging, you will get a log printed when there is an error. If not, inspect p_info etc. to see what error you got where. It will tell you which file, at which line you got which error code.&lt;/p&gt;
[quote user="Jaydev Borkar"]I want bond management service just to have read/write characteristic access.&amp;nbsp;[/quote]
&lt;p&gt;I don&amp;#39;t understand. Why do you want BMS when you are not using bonding? The whole purpose of BMS is to manage bonds, but there will not be any if you don&amp;#39;t support bonding.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209751?ContentTypeID=1</link><pubDate>Mon, 16 Sep 2019 06:57:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8d652e6-dbee-4f17-ab2e-a0e2e013297c</guid><dc:creator>Jaydev Borkar</dc:creator><description>[quote userid="7377" url="~/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile/209640"]You can set&amp;nbsp;SEC_PARAM_BOND to 0 in the main.c of the BMS example&amp;nbsp;(in that case there will still be pairing, but no bonding)[/quote]
&lt;p&gt;I am getting an error after doing this ! The code gets redirected to&amp;nbsp;NRF_BREAKPOINT_COND .&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1568616231361v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there any other parameter that I need to change ?&lt;/p&gt;
&lt;p&gt;I want bond management service just to have read/write characteristic access.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209640?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2019 13:15:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd6fed01-a8a8-4893-91dc-6ea4da74349f</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can set&amp;nbsp;SEC_PARAM_BOND to 0 in the main.c of the BMS example&amp;nbsp;(in that case there will still be pairing, but no bonding).&amp;nbsp;However, it is a bit strange... How can it make sense to include the BMS if you don&amp;#39;t want to use bonding?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; it just came to me that you did not intend to use BMS, I just forget every time I read the title of this case &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&amp;nbsp; Obviously in that case you should start with the GLS example (if you are sure GLS is what you need?) instead of the BMS example. This also includes DIS, so the earlier posts are still valid. And you can disable bonding here by setting&amp;nbsp;SEC_PARAM_BOND to 0, as mentionned before.&lt;/p&gt;
&lt;p&gt;Note that the GLS characteristics require security, so it will not work without being paired. Do you intend to remove pairing as well? If so, you can do that (stript out all peer manager related code), but you also have to update the security modes for the characteristics. In practice, replace all instances of&amp;nbsp;SEC_JUST_WORKS with&amp;nbsp;SEC_OPEN in the main.c of the example.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209634?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2019 13:06:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5436e03-1e9d-4fc5-8774-77003d450137</guid><dc:creator>Jaydev Borkar</dc:creator><description>[quote userid="7377" url="~/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile/209623"]The first error is because of nrf_power_clock.c no longer exist in SDK 15.3, and the example was made for an earlier SDK version. It has been split in two files, nrfx_clock.c and nrfx_power.c. But you can still refer to the example since you should anyway modify the BMS example and not the other way around (that has most of what you need), so there is no reason to use the segger project form the custom service example.[/quote]
&lt;p&gt;Thank you ! When I try to get connected to BMS service, the device gets connected for only few seconds. Then it asks for Bonding request as a pairing pop up, if I click on PAIR &amp;amp; CONNECT , it says pairing rejected by NORDIC_BMS . Then the connection gets disconnected . I actually dont need BONDING setup . NOT BONDED is the one which I am looking out for . Please advise .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209623?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2019 12:42:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7a5c102-d087-4d4b-9289-be7f59474e4d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The first error is because of nrf_power_clock.c no longer exist in SDK 15.3, and the example was made for an earlier SDK version. It has been split in two files, nrfx_clock.c and nrfx_power.c. But you can still refer to the example since you should anyway modify the BMS example and not the other way around (that has most of what you need), so there is no reason to use the segger project form the custom service example.&lt;/p&gt;
&lt;p&gt;Regarding the second error in SDK 15.0.0 I don&amp;#39;t immediately understand why you get that. GPIO_COUNT is defined in&amp;nbsp;nrf52832_peripherals.h, which is included in nrf_peripherals.h as long as&amp;nbsp;NRF52832_XXAA or&amp;nbsp;NRF52832_XXAB is defined in the project, and it is for the example project. This, in turn, is included in nrfx_common.h, which is included in the nrfx files that need it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209614?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2019 12:22:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:84ee3af3-b8fb-4053-8a20-799f147d1bd6</guid><dc:creator>Jaydev Borkar</dc:creator><description>&lt;p&gt;Thanks a lot .&amp;nbsp; Can you help me with adding custom service ? I tried using the following github code .&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/bjornspockeli/custom_ble_service_example"&gt;https://github.com/bjornspockeli/custom_ble_service_example&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am getting following error with respect to SDK15.3.0. Error Attached herewith&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1568377085517v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am getting errors using SDK15.0.0 too ..&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1568377220233v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Can you help me out with this ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209529?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2019 07:05:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39bc8dbe-3e24-47f9-9ed6-5d00ad69c679</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I see. So you need device information service and bond management service, as well as a custom service. Then I suggest you take the &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/ble_sdk_app_bms.html?cp=5_1_4_2_2_5"&gt;Bond Management Application example&lt;/a&gt;&amp;nbsp;as a starting point since that already has both BMS and DIS and add your custom service there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209453?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 13:45:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb832fd2-ba89-4ab1-82dc-110efb9c1d8b</guid><dc:creator>Jaydev Borkar</dc:creator><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Profiles.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Profile-3.png" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Profile-2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have attached the services I need including the standard services . I just have to integrate BMS into my GATT Server Profile.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209413?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 12:00:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e785b57-7acd-409d-9765-fcda14bdafd6</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I see. But what &lt;em&gt;service(s)&lt;/em&gt; do you want? Just your own custom service, or also/just some standard services? If you would like a service that is in the SDK, then starting with an example for that service makes sense.&lt;/p&gt;
&lt;p&gt;Looking at the SDK BLE peripheral examples (&amp;lt;SDK&amp;gt;/examples/ble_peripheral), you will see that all the examples that do not reside in a folder ending with _c is a servicer (the _c suffix is&amp;nbsp;used or GATT clients). But that may not be that relevant.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209360?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 09:22:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c95ea60-b4e6-45ae-ac64-32260525bace</guid><dc:creator>Jaydev Borkar</dc:creator><description>[quote userid="7377" url="~/f/nordic-q-a/52014/integration-of-bond-management-service-in-gatt-server-profile/209343"]Most BLE peripheral examples in the SDK include a GATT server, so it makes&amp;nbsp;most sense to pick an example that thas some or most of the services and other features you need as a starting point (for instance support for bonding or not, etc.).[/quote]
&lt;p&gt;Thank you for your input .I want a GATT server with Not Bonded configuration . Which one do I go for ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209343?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 08:45:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:344e31e6-c7e7-4748-a66e-214d4549491b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Jaydev Borkar"]That was a typo from my side . There is device information service in ble_app_gls . I want to merge that into my application.[/quote]
&lt;p&gt;I see. DIS is a simple service, so essentially you just need to copy dis related code from for instance the GLS example into your application and make sure you the copied code where it is needed. This is easily seen where you copy it form. You also need to set BLE_DIS_ENABLED to 1 in your projects sdk_config.h file. This is the same process as explained &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/merging-two-ble-examples-together"&gt;here&lt;/a&gt;, even though it is a different service.&lt;/p&gt;
[quote user="Jaydev Borkar"]Can you tell me which is the correct example for GATT Server Application ? I have been using&amp;nbsp;ble_app_gatts_c . Is it right ?[/quote]
&lt;p&gt;Most BLE peripheral examples in the SDK include a GATT server, so it makes&amp;nbsp;most sense to pick an example that thas some or most of the services and other features you need as a starting point (for instance support for bonding or not, etc.).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209321?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 07:46:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a70e06ff-6454-46bf-bc23-75c61ae6899b</guid><dc:creator>Jaydev Borkar</dc:creator><description>&lt;p&gt;Einar ,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That was a typo from my side . There is device information service in ble_app_gls . I want to merge that into my application. Can you tell me which is the correct example for GATT Server Application ? I have been using&amp;nbsp;ble_app_gatts_c . Is it right ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Integration of Bond Management Service in GATT Server Profile</title><link>https://devzone.nordicsemi.com/thread/209308?ContentTypeID=1</link><pubDate>Thu, 12 Sep 2019 07:04:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2ffb1bf-b535-4313-8e9a-1686b64a1124</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can refer to &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/merging-two-ble-examples-together"&gt;Merging two BLE examples together&lt;/a&gt;&amp;nbsp;for information on how to merge BLE examples/services. This does not handle BMS specifically, but that should be OK. I suggest you&amp;nbsp;take the &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/ble_sdk_app_bms.html?cp=5_1_4_2_2_5"&gt;BMS Example&lt;/a&gt; and merge that into your application (I don&amp;#39;t know why you mentionned ble_app_gls, as this does not include the BMS service).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>