<?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>BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/119509/ble-hci-ipc-vs-ble-rpc-interface</link><description>Hi, 
 
 Can anyone tell me the difference between BLE IPC and BLE RPC implementation? I&amp;#39;m little confused. 
 
 Refer to these kconfig symbol, 
 
 
 
 SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC 
 
 
 SB_CONFIG_NETCORE_IPC_RADIO_BT_RPC 
 
 
 
 I&amp;#39;m trying to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Mar 2025 12:09:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/119509/ble-hci-ipc-vs-ble-rpc-interface" /><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/526156?ContentTypeID=1</link><pubDate>Thu, 06 Mar 2025 12:09:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:349f4948-2256-4806-9917-b5be9c839ecf</guid><dc:creator>narangmayank</dc:creator><description>&lt;p&gt;Okay, Thanks&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/526127?ContentTypeID=1</link><pubDate>Thu, 06 Mar 2025 11:22:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1f32c66-96c6-4c53-ba5d-e7d39484adf2</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="narangmayank"]I&amp;#39;m familiar with NUS service, This requires a physical transport between the cores. Is there any alternate similar to what IPC does?[/quote]
&lt;p&gt;Specifically, this sample has support for:&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/pastedimage1741260130631v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/525907?ContentTypeID=1</link><pubDate>Wed, 05 Mar 2025 09:31:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c022817-25a3-44ab-a078-6eb997b69827</guid><dc:creator>narangmayank</dc:creator><description>&lt;p&gt;I&amp;#39;m familiar with NUS service, This requires a physical transport between the cores. Is there any alternate similar to what IPC does?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/525747?ContentTypeID=1</link><pubDate>Tue, 04 Mar 2025 14:07:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3465a1f-1d13-43dd-9959-4d11e9cba5cb</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="narangmayank"]So If I choose to have full BLE stack running on the network core, how to pass on the BLE information back to the app core? Is there any official example in nRF Connect SDK which I can refer?[/quote]
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/peripheral_uart/README.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/peripheral_uart/README.html&lt;/a&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/525741?ContentTypeID=1</link><pubDate>Tue, 04 Mar 2025 13:50:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8535569f-317f-4b49-9deb-4fd7b108faba</guid><dc:creator>narangmayank</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have gone through the RPC docs and found that it is also a type of IPC and&amp;nbsp;the&amp;nbsp;communication happens via shared&amp;nbsp;memory&amp;nbsp;probably SRAM if I&amp;#39;m not wrong. So can you also tell me the overhead on App core in both of the scenario&amp;#39;s?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Mayank&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/525720?ContentTypeID=1</link><pubDate>Tue, 04 Mar 2025 13:10:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8626402-f4fc-4bf5-902d-686089fd3c97</guid><dc:creator>narangmayank</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for the info, If I got it correctly you are saying that enabling SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC in sysbuild will run the host on the app core and controller on the net core while the other option (RPC) will run both host and controller in the net core and in this case app core will use RPC services for the communication.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So If I choose to have full BLE stack running on the network core, how to pass on the BLE information back to the app core? Is there any official example in nRF Connect SDK which I can refer?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Mayank&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE HCI IPC vs BLE RPC Interface</title><link>https://devzone.nordicsemi.com/thread/525707?ContentTypeID=1</link><pubDate>Tue, 04 Mar 2025 12:33:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e85b5e23-6c22-479e-921b-a978b2f2fb6c</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;HCI IPC is the Bluetooth Low Energy on the nRF5340. This is having the BLE Controller on the network core and the BLE Host on the Application core. See &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_stack_arch.html"&gt;Bluetooth Stack Architecture&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;RPC is to run both the BLE Controller and the BLE Host on the network core.&lt;/p&gt;
[quote user=""]&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;&lt;span&gt;SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;&lt;span&gt;SB_CONFIG_NETCORE_IPC_RADIO_BT_RPC&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;[/quote]
&lt;p&gt;See &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/config_and_build/sysbuild/sysbuild_images.html"&gt;Sysbuild images&lt;/a&gt; docs, pointing to &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/ipc_radio/README.html#ipc-radio"&gt;&lt;span&gt;IPC radio firmware&lt;/span&gt;&lt;/a&gt;. &lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;RPC uses the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/nrf_rpc/README.html#nrf-rpc"&gt;RPC library&lt;/a&gt;, so you can read those docs if you want to know more.&lt;/p&gt;
[quote user=""]Which one to choose for my application?[/quote]
&lt;p&gt;HCI_IPC unless you specifically need RPC. See Kconfig.sysbuild in our samples, most of them use this. See also &lt;a href="https://academy.nordicsemi.com/"&gt;https://academy.nordicsemi.com/&lt;/a&gt; if you want a more comprehensive course.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>