<?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>Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/115610/interact-with-nrf9151-using-external-third-party-mcu</link><description>Hello, guys 
 
 We want to evaluate nRF9151 SiP the following way: 
 
 To set it to operate in serial mode in which it is ready to receive AT commands (it comes pre-flashed in that mode on nRF9151-DK, to the best of my understanding) 
 To send AT commands</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 13 Nov 2024 11:50:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/115610/interact-with-nrf9151-using-external-third-party-mcu" /><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/510271?ContentTypeID=1</link><pubDate>Wed, 13 Nov 2024 11:50:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec1f17eb-3249-49a6-8bcd-9994051e7a7f</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;From the description of the cellular_modem sample, I think you may actually need to use PPP:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p dir="auto"&gt;This sample uses the devicetree alias &lt;code&gt;modem&lt;/code&gt; to identify the modem instance to use. The sample also presumes that the modem driver creates the only PPP network interface.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir="auto"&gt;Best regards,&lt;/p&gt;
&lt;p dir="auto"&gt;Michal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/509983?ContentTypeID=1</link><pubDate>Mon, 11 Nov 2024 19:26:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd279232-a8ef-4bab-be92-da7168e72812</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Unfortunately in the end I had to be away for the rest of the week as well.&lt;/p&gt;
&lt;p&gt;I will test it in the following days.&lt;/p&gt;
&lt;p&gt;I have been looking at the sample and while the cellular_modem sample is from zephyr and not NCS, there have been commits for nRF91 support, so there shouldn&amp;#39;t be any big incompatibilities.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/508998?ContentTypeID=1</link><pubDate>Mon, 04 Nov 2024 16:28:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5de36fc6-de3a-4298-ada3-f9662c05e8e0</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;No problem, &lt;a href="https://devzone.nordicsemi.com/members/michal_5f00_r"&gt;Michal&lt;/a&gt;. Thanks for the info.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/508996?ContentTypeID=1</link><pubDate>Mon, 04 Nov 2024 16:06:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c9207b48-ba99-4028-bfec-daf868c179ad</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Sorry for the delay, I was sick and out of office.&lt;/p&gt;
&lt;p&gt;I will try it myself possibly tomorrow.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/508424?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 17:36:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4936a8a0-ff17-46fd-9d99-9cf0e6499270</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;For the SLM app, it was compiled with the latest NCS (v2.7.0). Concerning the external MCU, it is a third party MCU that is running cellular_modem Zephyr sample.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/508419?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2024 17:09:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:861bbc18-1abe-4651-a289-ba8700138408</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Which NCS version are you using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507873?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 08:28:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9033eae5-baf2-4ebd-aa35-94622b0c8edd</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/michal_5f00_r"&gt;Michal&lt;/a&gt;, I found what&amp;#39;s wrong with the GPIO of my external MCU that&amp;#39;s connected to&amp;nbsp;&lt;em&gt;&lt;strong&gt;CONFIG_SLM_POWER_PIN&lt;/strong&gt;&lt;/em&gt;. After fixing it, I was able to detect a proper 100ms wake up pulse on that GPIO.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now, when I flash the version of SLM app with&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_SLM_START_SLEEP=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;(modem sleeping on start up), cellular_modem sample running on my external MCU can&amp;#39;t properly sync-up with SLM app. As you can see from below debug traces, here is what happens in infinite loop:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Wake-up pulse is applied&lt;/li&gt;
&lt;li&gt;cellular_modem sample sends AT command&lt;/li&gt;
&lt;li&gt;SLM responds with `Ready`. cellular_modem sample treat this as unknown command&lt;/li&gt;
&lt;li&gt;cellular_modem goes to step 1 and sends Wake-up pulse again:&lt;/li&gt;
&lt;/ol&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/pastedimage1729844577492v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Any help here?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507848?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2024 06:33:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:163d7fc5-0532-4778-817f-49430753f697</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;I see the &lt;span style="background-color:#ccffcc;"&gt;&lt;em&gt;&lt;strong&gt;overlay-ppp-without-mux.conf/overlay&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt; files in SLM sample app, and I&amp;#39;m wondering what&amp;#39;s the difference between PPP with and without CMUX.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Anyway, I was able to connect my external third party MCU to the customized SLM sample app and make it communicate with&amp;nbsp;&lt;span&gt;&lt;strong&gt;&lt;span style="background-color:#ccffff;"&gt;&lt;em&gt;test-endpoint.com&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt; server. What I notice is that it&amp;#39;s kind of a difficult/impossible for my external MCU to wake up the nRF9151 SiP running SLM app. That&amp;#39;s why I used&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_SLM_START_SLEEP=n&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;flag to have the modem awake on start-up. What is actually needed on&amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;strong&gt;CONFIG_SLM_POWER_PIN&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;in order to properly wake up the SLM modem? Toggling, pulse,&amp;nbsp;something more...How do we need to configure the MCU&amp;#39;s GPIO that will be used for waking up the SLM?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507830?ContentTypeID=1</link><pubDate>Thu, 24 Oct 2024 22:03:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a08f2f9-84f1-43ce-a513-56487c11ca69</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Those files have to be manually chosen to be used, so you shouldn&amp;#39;t need to exclude them specifically.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507544?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2024 10:07:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61dc68c4-4999-4180-a301-e7bf94b9814a</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;... and if we don&amp;#39;t want &lt;span style="background-color:#ff99cc;"&gt;&lt;strong&gt;CMUX&lt;/strong&gt;&lt;/span&gt; and &lt;span style="background-color:#ff99cc;"&gt;&lt;strong&gt;PPP&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;features to be implemented in SLM but to have SLM sample behaving as a simple modem that expects AT commands over UART, we would need to re-compile the SLM sample and exclude &lt;span style="background-color:#ccffcc;"&gt;&lt;em&gt;&lt;strong&gt;overlay-cmux.conf&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt; and &lt;em&gt;&lt;strong&gt;&lt;span style="background-color:#ccffcc;"&gt;overlay-ppp.conf&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;files from compilation.&lt;/p&gt;
&lt;p&gt;Correct?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507426?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 16:23:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee230bd6-44bf-4d23-819d-eaa3c0f79a82</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;It is not mandatory, but recommended.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507297?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 09:36:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bdecf6c4-33f5-48a9-b8fb-78db8b0df9e4</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;One more question... is it mandatory to use UART HW control pints (&lt;span style="background-color:#ccffcc;"&gt;&lt;strong&gt;RTS&lt;/strong&gt;&lt;/span&gt;, &lt;span style="background-color:#ccffcc;"&gt;&lt;strong&gt;CTS&lt;/strong&gt;&lt;/span&gt;)?&lt;/p&gt;
&lt;p&gt;When I was playing with pre-flashed SLM sample that is tailored for PC-based control of the modem, I connected an external USB-to-UART converter on nRF9151-dk UART_0 Rx/Tx lines (P0.26, P0.27) and was able to send AT commands using only Rx/Tx lines.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/507235?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 04:48:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71908d44-228e-49ca-a084-541bf5e6c670</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;That sounds correct, yes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/506983?ContentTypeID=1</link><pubDate>Fri, 18 Oct 2024 17:09:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e93c53bd-ef5b-451e-8a38-abb10afd416b</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;Thanks for sharing useful info with me,&lt;a href="https://devzone.nordicsemi.com/members/michal_5f00_r"&gt;Michal&lt;/a&gt;&amp;nbsp;!&lt;/p&gt;
&lt;p&gt;I am aware of the QuickStart app and the possibility to flash pre-built Serial LTE Modem app + modem FW (currently v2.0.1) from there.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1729269493235v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Concerning the UARTs, by analysing the SLM sample in your repository, I came across the &lt;em&gt;&lt;span style="background-color:#ccffcc;"&gt;&lt;strong&gt;nrf9151dk_nrf9151.conf&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt; file (&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/main/applications/serial_lte_modem/boards/nrf9151dk_nrf9151_ns.conf#L18"&gt;link&lt;/a&gt;) where it says that UART_2 peripheral of nRF9151 SiP should be used when working with external MCU. This means that,&amp;nbsp;if I want to evaluate nRF9151 SiP in combination with external MCU, I would need to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Modify &lt;em&gt;&lt;span style="background-color:#ccffcc;"&gt;&lt;strong&gt;nrf9151dk_nrf9151.conf&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt;&amp;nbsp;file (comment out UART_0 and uncomment UART_2 Kconfig items, same thing for SLM_POWER_PIN and SLM_INDICATE_PIN)&lt;/li&gt;
&lt;li&gt;Recompile the SLM sample (using &lt;span style="background-color:#ccffff;"&gt;&lt;strong&gt;&lt;em&gt;overlay-external-mcu.overlay&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt; file that will disable UART_0 and enable UART_2 peripheral)&lt;/li&gt;
&lt;li&gt;...and flash it to nRF9151-DK .&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Is my understanding correct?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/506943?ContentTypeID=1</link><pubDate>Fri, 18 Oct 2024 13:23:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33503600-0c54-471b-970e-afbaa96d4f26</guid><dc:creator>Michal</dc:creator><description>&lt;p&gt;Hello Bojan,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll try to reply to you questions one by one.&lt;/p&gt;
[quote user=""]To set it to operate in serial mode in which it is ready to receive AT commands (it comes pre-flashed in that mode on nRF9151-DK, to the best of my understanding)[/quote]
&lt;p&gt;I would recommend at least getting the &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop"&gt;nRF Connect for Desktop&lt;/a&gt; and running the Quick Start app. Also you may want to update the Modem FW and Serial LTE Modem application (you can do that with the Cellular Monitor app in nRF Connect for Desktop).&lt;/p&gt;
&lt;p&gt;If you want to for example switch the pins used for things, then you&amp;#39;d need to compile SLM by yourself.&lt;/p&gt;
[quote user=""]Is it possible to achieve what we want?[/quote]
&lt;p&gt;Yes.&lt;/p&gt;
[quote user=""]Which UART interface should we use for sending AT commands - UART1 or UART2?[/quote]
&lt;p&gt;I should probably explain one thing first: those are just the default pins for UARTx. On the nRF91 family you can freely choose which GPIO pins do you want to connect to for example UART.&lt;/p&gt;
&lt;p&gt;Markings &amp;quot;UART1&amp;quot; and &amp;quot;UART2&amp;quot; on the DK are just showing 2 default UART pinouts on the DK, while actually being connected to the UART0 and UART1 &lt;strong&gt;peripheral instances&lt;/strong&gt; on the nRF9151 SiP.&lt;/p&gt;
&lt;p&gt;By default SLM will be using the pins marked as UART1 on the DK schematics (UART0 peripheral on nRF9151).&lt;/p&gt;
&lt;p&gt;Pins marked as UART2 are by default connected to the UART1 peripheral, which is used for &lt;strong&gt;modem traces&lt;/strong&gt; by default and can be useful to have routed to some test points/connector even in your end product.&lt;/p&gt;
[quote user=""]In addition to UART Rx/Tx, do we need some other GPIO to control the modem (e.g. Reset, some other GPIO that plays a role in modem control...)?[/quote]
&lt;p&gt;Other than the aforementioned reset, if you look at &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/applications/serial_lte_modem/doc/slm_description.html#configuration_options"&gt;configuration options&lt;/a&gt; there are two more pins that you can/should use, set by &lt;code&gt;CONFIG_SLM_POWER_PIN&lt;/code&gt; and &lt;code&gt;CONFIG_SLM_INDICATE_PIN&lt;/code&gt;:&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/pastedimage1729252797772v1.png" alt=" " /&gt;&lt;/p&gt;
[quote user=""]We would like to test NB-IoT modem by default and switch to LTE-M if needed. How to achieve this, is there any special AT command for switching between available modes (NB-IoT/LTE-M)?[/quote]
&lt;p&gt;Please take a look at our DevAcademy course page explaining some of the basic AT commands:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://academy.nordicsemi.com/courses/cellular-iot-fundamentals/lessons/lesson-2-cellular-fundamentals/topic/lesson-2-at-commands/"&gt;https://academy.nordicsemi.com/courses/cellular-iot-fundamentals/lessons/lesson-2-cellular-fundamentals/topic/lesson-2-at-commands/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As shown there you can use the &lt;a href="https://docs.nordicsemi.com/bundle/ref_at_commands/page/REF/at_commands/mob_termination_ctrl_status/xsystemmode_set.html"&gt;AT%XSYSTEMMODE&lt;/a&gt; command.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michal&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interact with nRF9151 using external third party MCU</title><link>https://devzone.nordicsemi.com/thread/506777?ContentTypeID=1</link><pubDate>Thu, 17 Oct 2024 16:45:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cb2525b-8cf0-48a4-9199-ce25835fe907</guid><dc:creator>bojan</dc:creator><description>&lt;p&gt;Okay, I figured out that &lt;span style="background-color:#ccffcc;"&gt;UART1&lt;/span&gt; can be used to control the modem by the external MCU through the pins &lt;strong&gt;&lt;span style="background-color:#ccffff;"&gt;P0.26 (Modem RX, MCU TX)&lt;/span&gt;&lt;/strong&gt; and &lt;span style="background-color:#ff99cc;"&gt;&lt;strong&gt;P0.27 (Modem TX, MCU RX)&lt;/strong&gt;&lt;/span&gt;. It also seems that pressing the RESET button on nRF9151-DK resets the modem.&lt;/p&gt;
&lt;p&gt;Is there any other pin of the modem that needs to be controlled by an external MCU in order to reboot/reset the modem if it gets stuck or to put it so sleep if we want?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>