<?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>Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code</link><description>I&amp;#39;ve been trying to build the BLE Audio Broadcast source to run on my nRF5340 Audio DKs using the line in as the audio source. I&amp;#39;ve been developing on nRF52 for a while using SDK 17.1, but VS Code / Zephyr is new to me. 
 Nordic&amp;#39;s training material uses</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 19 Feb 2025 12:27:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code" /><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/523691?ContentTypeID=1</link><pubDate>Wed, 19 Feb 2025 12:27:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:79f0cc2a-fadd-4dff-8e88-f91098338c0d</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;No worries! Thank you for the clarifications, and please let me know if I can help with anything. &lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/523680?ContentTypeID=1</link><pubDate>Wed, 19 Feb 2025 11:54:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7bd4eac-0bb4-4a0d-892a-0fd3760997c6</guid><dc:creator>Nick_RA</dc:creator><description>&lt;p&gt;Ah, my bad, sorry. I currently have 2pcs of the *audio* DK.&lt;/p&gt;
&lt;p&gt;The porting of my nRF52832 app is something for the future, nothing to do with this ticket, I just mentioned it as one of the reasons I wanted to know the mechanisms behind the dual core programming.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Nick&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/523677?ContentTypeID=1</link><pubDate>Wed, 19 Feb 2025 11:40:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2360f50-7a5d-47d9-8d16-a63c06215bb1</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Nick, &lt;/p&gt;
[quote user="Nick_RA"]Multi-faceted. Firstly I need to get a working example of BLE broadcast source [done, from Python build example]. Next, I need to add some basic features e.g. UART CLI to start/stop, change name. Maybe add a custom GATT service. Yes, I purchased a couple of nRF5340DK for the eval/demo. If we decide to develop further then I will move to a custom PCB.[/quote]
&lt;p&gt;From this description it looks like starting with the broadcast source version of the Audio application is feasible. Note that the Audio application uses UART for logging by default. If you want to keep logging when using UART for shell, remember to make these changes in the configuration, either in a prj.conf or as CMake options when creating a build configuration. &lt;/p&gt;
&lt;p&gt;Please clarify if you currently only have nRF5340DKs or if you have nRF5340 Audio DKs as well. &lt;/p&gt;
[quote user="Nick_RA"]Finally, I have another application that sometime I would like to port from nRF52832 to a multi-core MCU. This runs a custom BLE service but at the same time amongst other things it also uses a GPIO &amp;amp; timer to perform some real-time Manchester serial decoding. It works well enough for the intended application but some packets get missed because the softdevice always has higher IRQ priority. If I can offload that to a dedicated core it should work much better.[/quote]
&lt;p&gt;Is this in the same project as your LE audio project? If not, please create a new ticket if you have issues with porting the application. &lt;/p&gt;
[quote user="Nick_RA"]Would you mind clarifying that? Or are you just describing what I&amp;#39;ve already discovered?[/quote]
&lt;p&gt;I don&amp;#39;t mind at all. The nRF5340 Audio application fully supports the nRF5340 &lt;strong&gt;Audio&lt;/strong&gt; DK, not the nRF5340DK.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/523669?ContentTypeID=1</link><pubDate>Wed, 19 Feb 2025 10:29:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffcc5acc-bbbb-4243-a248-3633ab5146d0</guid><dc:creator>Nick_RA</dc:creator><description>&lt;p&gt;Hi Maria, thanks for your reply.&amp;nbsp;&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code/523487"]It is not documented, but building with the VS Code extension is actually possible.[/quote]
&lt;p&gt;OK, good, I will pursue that. Before I was working within the parameters of what I have read both from docs and previous (not very good advice) from a previous support ticket&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code/523487"]In regards of what is best, it depends on what your goal is:[/quote]
&lt;p&gt;Multi-faceted. Firstly I need to get a working example of BLE broadcast source [done, from Python build example]. Next, I need to add some basic features e.g. UART CLI to start/stop, change name. Maybe add a custom GATT service. Yes, I purchased a couple of nRF5340DK for the eval/demo. If we decide to develop further then I will move to a custom PCB.&lt;/p&gt;
&lt;p&gt;Also, my goal is to learn the nRF Connect / VS code ecosystem. I have already followed the Acadamy videos to some extent, certainly as far as covering device tree and building some examples.&lt;/p&gt;
&lt;p&gt;Finally, I have another application that sometime I would like to port from nRF52832 to a multi-core MCU. This runs a custom BLE service but at the same time amongst other things it also uses a GPIO &amp;amp; timer to perform some real-time Manchester serial decoding. It works well enough for the intended application but some packets get missed because the softdevice always has higher IRQ priority. If I can offload that to a dedicated core it should work much better.&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code/523487"]he Audio application is not supported for the nRF5340DK out of the box[/quote]
&lt;p&gt;Would you mind clarifying that? Or are you just describing what I&amp;#39;ve already discovered?&lt;/p&gt;
&lt;p&gt;(considering the whole purpose of the nRF5340DK&amp;#39;s existence is to evaluate audio applications, it seems crazy not to have ready software support)&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Nick&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/523487?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2025 12:29:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cff8e1ee-3ba2-4fe4-8df2-750dda20aeb4</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user="Nick_RA"]The \nrf\applications\ project does support I2S, but isn&amp;#39;t supported using vs code according to the docs, only a Python or Command Line build.[/quote]
&lt;p&gt;It is not documented, but building with the VS Code extension is actually possible. So you can follow the application creation flow you are used to and use the nRF5340 Audio application as a starting point. Refer to the instructions for building with command line to see which CMake arguments you should add if you don&amp;#39;t want to edit the prj.conf before making a build configuration. &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/nrf5340_audio/doc/building.html#building_the_application"&gt;Building the application&lt;/a&gt; and &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/nrf5340_audio/broadcast_source/README.html#building_and_running"&gt;Building and running&lt;/a&gt; for the Broadcast source are good places to look.&lt;/p&gt;
&lt;p&gt;If you find any issues when trying to use nRF Connect for VS Code to build the Audio application, please share them with us.&lt;/p&gt;
[quote user="Nick_RA"]So I have 2 choices: Either try to import the nrf application into vscode, or add I2S code/config/etc into the zephr sample. Which is best (for somebody unfamiliar with the structure of nRF Connect &amp;amp; Zephr)?[/quote]
&lt;p&gt;In regards of what is best, it depends on what your goal is: An application which is functional from the start or a more minimal project. The Audio application is quite large, so if you don&amp;#39;t need many of the features in it, it could be too large for your project. &lt;/p&gt;
&lt;p&gt;If you do want a more minimal project, I recommend that you go through our DevAcademy course(s) which are created to get familiar with nRF Connect SDK. The &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/"&gt;nRF Connect SDK Fundamentals&lt;/a&gt; course is my recommended start, and you can expand with &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate"&gt;nRF Connect SDK Intermediate&lt;/a&gt; and &lt;a href="https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/"&gt;Bluetooth Low Energy Fundamentals&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;In terms of I2S samples, there are three in nRF Connect SDK (Zephyr): I2S &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/drivers/i2s/i2s_codec/README.html#i2s_codec"&gt;codec&lt;/a&gt;, &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/drivers/i2s/echo/README.html#i2s-echo"&gt;echo&lt;/a&gt; and &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/drivers/i2s/output/README.html#i2s-output"&gt;output&lt;/a&gt;. &lt;/p&gt;
[quote user="Nick_RA"]But how does that relate to generating a build? Using nRF5340DK in vscode I have the choice of cpuapp or cpunet. Obviously my user application goes to cpuapp but the flashing process erases the device so the cpunet needs programming. [/quote]
&lt;p&gt;The Audio application is not supported for the nRF5340DK out of the box. You mention in your original ticket that you have the nRF5340 Audio DK, so I will assume that you are using that for your LE Audio project.&lt;/p&gt;
&lt;p&gt;About the programming, when using the app core of the nRF5340 SoC as the build target for applications wich enables Bluetooth, the build system will build an image for the network core as well. For the Audio application this image is the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/ipc_radio/README.html"&gt;IPC radio firmware&lt;/a&gt;. When using the nRF Connect for VS Code extension, both cores will be programmed if the main build directory is selected.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/522403?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 10:50:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f20e756-42b8-4077-9bb0-0fa603e3b8b9</guid><dc:creator>Nick_RA</dc:creator><description>[quote userid="8164" url="~/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code/522393"]&lt;p&gt;There are samples both under the zephyr\samples folder and under the nrf\samples folders in the SDK. The former is part of Zephyr, and the latter is specific to nRF Connect SDK. Still, the Zephyr samples support nRF SoCs and boards. The approach of &amp;quot;copy a sample&amp;quot; is still valid, and as with any such approach you may need functionality from other samples (both zephyr and nrf).&lt;/p&gt;
&lt;p&gt;For Bluetooth LE Audio, nRF Connect SDK specific samples are filed not under samples, but under applications. Applications typically include fully integrated software stacks that are better suited for starting point than what samples are. See&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/nrf5340_audio/index.html"&gt;nRF5340 Audio applications&lt;/a&gt; for full documentation on Bluetooth LE Audio application samples in nRF Connect SDK.&lt;/p&gt;[/quote]
&lt;p&gt;I already found that out :( Specifically I am only looking at the project bap_broadcast_source. I tried building the sample in vscode after going through the LED Blinky rite of passage but quickly found out it doesn&amp;#39;t include support for I2S which is essential to my application.&lt;/p&gt;
&lt;p&gt;The \nrf\applications\ project does support I2S, but isn&amp;#39;t supported using vs code according to the docs, only a Python or Command Line build.&lt;/p&gt;
&lt;p&gt;So I have 2 choices: Either try to import the nrf application into vscode, or add I2S code/config/etc into the zephr sample. Which is best (for somebody unfamiliar with the structure of nRF Connect &amp;amp; Zephr)?&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/118810/building-audio-broadcast-sdk-example-in-vs-code/522393"]in nRF Connect SDK, the Bluetooth stack is delivered in two parts: Host subsystem (Zephyr, provided as source code), and the SoftDevice Controller subsystem (based on the lower layers of the SoftDevice, provided as binary, specifically in nRF Connect SDK).[/quote]
&lt;p&gt;OK that&amp;#39;s clear enough thanks. But how does that relate to generating a build? Using nRF5340DK in vscode I have the choice of cpuapp or cpunet. Obviously my user application goes to cpuapp but the flashing process erases the device so the cpunet needs programming. (this is where I am at right now trying to get the nrf app running in vscode)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Building Audio Broadcast SDK example in VS Code</title><link>https://devzone.nordicsemi.com/thread/522393?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2025 10:14:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4149471-b6a7-43cb-a0c9-6e53d5779221</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I will try to clear up some of the confusion.&lt;/p&gt;
&lt;p&gt;In nRF5 SDK, we had a separate Bluetooth stack, named &amp;quot;SoftDevice&amp;quot;, which was delivered as a separate binary.&lt;/p&gt;
&lt;p&gt;in nRF Connect SDK, the Bluetooth stack is delivered in two parts: Host subsystem (Zephyr, provided as source code), and the SoftDevice Controller subsystem (based on the lower layers of the SoftDevice, provided as binary, specifically in nRF Connect SDK).&lt;/p&gt;
[quote user=""]Nordic&amp;#39;s training material uses VS Code &amp;quot;copy a sample&amp;quot;. But as I found out the hard way, these samples are from Zephyr and not quite the same as the Nordic examples bundled with the SDK, specifically the VS sample project doesn&amp;#39;t include I2S. Also, VS Code UI has changed since the training videos which doesn&amp;#39;t help.[/quote]
&lt;p&gt;There are samples both under the zephyr\samples folder and under the nrf\samples folders in the SDK. The former is part of Zephyr, and the latter is specific to nRF Connect SDK. Still, the Zephyr samples support nRF SoCs and boards. The approach of &amp;quot;copy a sample&amp;quot; is still valid, and as with any such approach you may need functionality from other samples (both zephyr and nrf).&lt;/p&gt;
&lt;p&gt;For Bluetooth LE Audio, nRF Connect SDK specific samples are filed not under samples, but under applications. Applications typically include fully integrated software stacks that are better suited for starting point than what samples are. See&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/applications/nrf5340_audio/index.html"&gt;nRF5340 Audio applications&lt;/a&gt; for full documentation on Bluetooth LE Audio application samples in nRF Connect SDK.&lt;/p&gt;
&lt;p&gt;Regarding training, we have updated course material on &lt;a href="https://academy.nordicsemi.com/"&gt;https://academy.nordicsemi.com/&lt;/a&gt; covering both &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/"&gt;nRF Connect SDK Fundamentals&lt;/a&gt; and more &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate"&gt;intermediate nRF Connect SDK concepts&lt;/a&gt;, as well as other topics.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>