<?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>I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/104716/i-need-advice-on-software-configuration-of-bmd-300-on-custom-pcb-to-boot-on-power-up-and-advertise-in-uart-mode</link><description>Hi DevZone friends, 
 I have compiled and downloaded the /examples/ble_peripheral/ble_app_uart project to a ubloxBMD-300 series evaluation board and everything works OK, I can send and receive data without any problem. I designed a simple custom pcb to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Oct 2023 02:44:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/104716/i-need-advice-on-software-configuration-of-bmd-300-on-custom-pcb-to-boot-on-power-up-and-advertise-in-uart-mode" /><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450708?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 02:44:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9ba7797b-c2b1-4bb6-b138-efec2f951f34</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Good news! Most welcome&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450707?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 02:25:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90ed1e0f-da12-49b4-8aaf-e4956f4b779d</guid><dc:creator>Ruscon</dc:creator><description>&lt;p&gt;Hi HMolesworth,&lt;/p&gt;
&lt;p&gt;success !&lt;/p&gt;
&lt;p&gt;I used SES to &amp;quot;erase all&amp;quot;, recompiled and downloaded the file and now my custom PCB is advertising ;-)&lt;/p&gt;
&lt;p&gt;thanks so much for your help !&lt;/p&gt;
&lt;p&gt;regards,&lt;/p&gt;
&lt;p&gt;Russell&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450703?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 02:04:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:570c3ffc-4406-49dd-8bf1-8c9b9acd84a2</guid><dc:creator>Ruscon</dc:creator><description>&lt;p&gt;Just an update to confirm correct functioning of the custom pcb&amp;#39;s. I built a third custom PCB and plugged this into my host system (not the eval dk) and could find the device advertising as &amp;quot;RigCom&amp;quot;. So it shows the BMD-300 module running OK and advertising prior to programming. So it appears I have a configuration problem in the software that is preventing the device from either launching code or from advertising.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450698?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 01:29:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe8b1af3-a6e5-440b-b0ce-0b20e483f1d2</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;The BMD-300 series usually is shipped with a Bootloader installed; before anything like these Apps will work that needs to be erased with the EraseAll command. That can be done via Segger IDE or nRFJprog. If a recent BMD-300 v3 silicon then Approtect needs releasing before even an erase can be performed, ie do a Recover.&lt;/p&gt;
&lt;p&gt;If using nRFJprog try something like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt; set path=%path%;C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin
 nrfjprog --version
  nrfjprog version: 10.9.0
  JLinkARM.dll version: 7.66a
Detect what board/chip is detected:
 nrfjprog --deviceversion
  NRF52832_xxAA_REV1
 nrfjprog --recover
 nrfjprog -f NRF52 --eraseall
 nrfjprog --program s132_nrf52_5.1.0_softdevice.hex --sectorerase --log --verify
 nrfjprog --verify s132_nrf52_5.1.0_softdevice.hex
  Parsing hex file.
  Verifying programming.
  Verified OK.
nrfjprog --program some_example.hex --verify&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Edit: Note the Softdevice should be programmed before the App if using command-line tools&lt;/p&gt;
&lt;p&gt;&amp;#39;nother Edit: These are defined pins, depends on boards.h setting so might have to handle pushbuttons if enabled, best just to make a specific boards file which either has no buttons or set them to known state:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;main.c
 Directory of .\nRF5_SDK_17.1.0\examples\ble_peripheral\ble_app_uart
        .rx_pin_no    = RX_PIN_NUMBER,
        .tx_pin_no    = TX_PIN_NUMBER,
        .rts_pin_no   = RTS_PIN_NUMBER,
        .cts_pin_no   = CTS_PIN_NUMBER,

 Directory of .\nRF5_SDK_17.1.0\components\boards
pca10040.h
#define BUTTON_PULL    NRF_GPIO_PIN_PULLUP
#define RX_PIN_NUMBER  8
#define TX_PIN_NUMBER  6
#define CTS_PIN_NUMBER 7
#define RTS_PIN_NUMBER 5
#define SPIS_MISO_PIN   28  // SPI MISO signal.
#define SPIS_CSN_PIN    12  // SPI CSN signal.
#define SPIS_MOSI_PIN   25  // SPI MOSI signal.
#define SPIS_SCK_PIN    29  // SPI SCK signal.
#define SPIM0_SCK_PIN   29  // SPI clock GPIO pin number.
#define SPIM0_MOSI_PIN  25  // SPI Master Out Slave In GPIO pin number.
#define SPIM0_MISO_PIN  28  // SPI Master In Slave Out GPIO pin number.
#define SPIM0_SS_PIN    12  // SPI Slave Select GPIO pin number.
#define SPIM1_SCK_PIN   2   // SPI clock GPIO pin number.
#define SPIM1_MOSI_PIN  3   // SPI Master Out Slave In GPIO pin number.
#define SPIM1_MISO_PIN  4   // SPI Master In Slave Out GPIO pin number.
#define SPIM1_SS_PIN    5   // SPI Slave Select GPIO pin number.
#define SPIM2_SCK_PIN   12  // SPI clock GPIO pin number.
#define SPIM2_MOSI_PIN  13  // SPI Master Out Slave In GPIO pin number.
#define SPIM2_MISO_PIN  14  // SPI Master In Slave Out GPIO pin number.
#define SPIM2_SS_PIN    15  // SPI Slave Select GPIO pin number.
#define SER_APP_RX_PIN              23    // UART RX pin number.
#define SER_APP_TX_PIN              24    // UART TX pin number.
#define SER_APP_CTS_PIN             2     // UART Clear To Send pin number.
#define SER_APP_RTS_PIN             25    // UART Request To Send pin number.
#define SER_APP_SPIM0_SCK_PIN       27     // SPI clock GPIO pin number.
#define SER_APP_SPIM0_MOSI_PIN      2      // SPI Master Out Slave In GPIO pin number
#define SER_APP_SPIM0_MISO_PIN      26     // SPI Master In Slave Out GPIO pin number
#define SER_APP_SPIM0_SS_PIN        23     // SPI Slave Select GPIO pin number
#define SER_APP_SPIM0_RDY_PIN       25     // SPI READY GPIO pin number
#define SER_APP_SPIM0_REQ_PIN       24     // SPI REQUEST GPIO pin number
#define SER_CON_RX_PIN              24    // UART RX pin number.
#define SER_CON_TX_PIN              23    // UART TX pin number.
#define SER_CON_CTS_PIN             25    // UART Clear To Send pin number. Not used if HWFC is set to false.
#define SER_CON_RTS_PIN             2     // UART Request To Send pin number. Not used if HWFC is set to false.
#define SER_CON_SPIS_SCK_PIN        27    // SPI SCK signal.
#define SER_CON_SPIS_MOSI_PIN       2     // SPI MOSI signal.
#define SER_CON_SPIS_MISO_PIN       26    // SPI MISO signal.
#define SER_CON_SPIS_CSN_PIN        23    // SPI CSN signal.
#define SER_CON_SPIS_RDY_PIN        25    // SPI READY GPIO pin number.
#define SER_CON_SPIS_REQ_PIN        24    // SPI REQUEST GPIO pin number.
#define SER_CONN_CHIP_RESET_PIN     11    // Pin used to reset connectivity chip
// Arduino board mappings
#define ARDUINO_SCL_PIN             27    // SCL signal pin
#define ARDUINO_SDA_PIN             26    // SDA signal pin
#define ARDUINO_AREF_PIN            2     // Aref pin
#define ARDUINO_13_PIN              25    // Digital pin 13
#define ARDUINO_12_PIN              24    // Digital pin 12
#define ARDUINO_11_PIN              23    // Digital pin 11
#define ARDUINO_10_PIN              22    // Digital pin 10
#define ARDUINO_9_PIN               20    // Digital pin 9
#define ARDUINO_8_PIN               19    // Digital pin 8
#define ARDUINO_7_PIN               18    // Digital pin 7
#define ARDUINO_6_PIN               17    // Digital pin 6
#define ARDUINO_5_PIN               16    // Digital pin 5
#define ARDUINO_4_PIN               15    // Digital pin 4
#define ARDUINO_3_PIN               14    // Digital pin 3
#define ARDUINO_2_PIN               13    // Digital pin 2
#define ARDUINO_1_PIN               12    // Digital pin 1
#define ARDUINO_0_PIN               11    // Digital pin 0
#define ARDUINO_A0_PIN              3     // Analog channel 0
#define ARDUINO_A1_PIN              4     // Analog channel 1
#define ARDUINO_A2_PIN              28    // Analog channel 2
#define ARDUINO_A3_PIN              29    // Analog channel 3
#define ARDUINO_A4_PIN              30    // Analog channel 4
#define ARDUINO_A5_PIN              31    // Analog channel 5&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450695?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 01:20:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2dbced4c-0218-41ed-abbc-ef949defd64e</guid><dc:creator>Ruscon</dc:creator><description>&lt;p&gt;Hi HMolesworth,&lt;/p&gt;
&lt;p&gt;Thanks for that suggestion, it does simplify changing the config file. I incorporated the define statements at the start of the sdk_config.h file and re-compiled, downloaded and verified the executable. To double check, I made the changes to the blinky_pca1040_s112 project since I have two of the same GPIO pins driving LED&amp;#39;s on my custom pcb. I verified the sdk_config.h file was in the parent example config directory and noted the application ran without problems on the development kit. As with the previous attempts, whilst the program verifies OK on the custom pcb, the application does not run, LED&amp;#39;s were not driven (active LOW), no activity was noted. I manually triggered a short to gnd on the RESET pin without any change in activity. As I mentioned before, both prototype custom boards gave the same results.&lt;/p&gt;
&lt;p&gt;Since I have a bare-bones custom pcb, one possibility is that the application may be expecting certain inputs present on the eval kit pcb but not present on the custom pcb. The app could then be sitting in an endless loop waiting for input. Is that a possibility ?&lt;/p&gt;
&lt;p&gt;In any case, I intend to create the simplest app possible and see if that will run.&lt;/p&gt;
&lt;p&gt;Thanks again for your help, I really appreciate it.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450694?ContentTypeID=1</link><pubDate>Tue, 17 Oct 2023 00:20:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f141b9c-b2f6-410d-83d5-949224f87a2f</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Rather than changing parts of &lt;em&gt;sdk_config.h&lt;/em&gt; just eclipse later definitions by adding these lines to the very start of &lt;em&gt;sdk_config.h&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// No 32kHz crystal
#define NRFX_CLOCK_CONFIG_LF_SRC         0
#define CLOCK_CONFIG_LF_SRC              0
#define NRF_SDH_CLOCK_LF_SRC             0
#define NRF_SDH_CLOCK_LF_RC_CTIV        16
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV    2
#define NRF_SDH_CLOCK_LF_ACCURACY        1 // &amp;lt;1=&amp;gt; NRF_CLOCK_LF_ACCURACY_500_PPM&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Make sure it is the correct .h file; some projects have &lt;em&gt;sdk_config.h&lt;/em&gt;&amp;nbsp;in the same directory as&amp;nbsp;&lt;em&gt;main.c&lt;/em&gt; and others in the &lt;em&gt;config&lt;/em&gt; directory for the specific IDE used to build the project&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450690?ContentTypeID=1</link><pubDate>Mon, 16 Oct 2023 22:44:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95c50140-4bdc-4851-b331-64ffc018e7e1</guid><dc:creator>Ruscon</dc:creator><description>&lt;p&gt;Hi Jorgen,&lt;/p&gt;
&lt;p&gt;thanks for your prompt reply ;-)&lt;/p&gt;
&lt;p&gt;I updated the sdk_config.h file as per the instructions detailed in Case ID: 129248 and observed that the application still executed without problems on the evaluation kit. I programmed my custom board and verified the download was correct however still no joy when powering the custom board separately; the devices do not advertise and fail to appear in the Nordic UART mobile app. I have two prototype custom boards and both behave the same, I need to dig further into this before getting back to you.&lt;/p&gt;
&lt;p&gt;Jorgen your help is much appreciated,&lt;/p&gt;
&lt;p&gt;regards,&lt;/p&gt;
&lt;p&gt;Russell&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450632?ContentTypeID=1</link><pubDate>Mon, 16 Oct 2023 14:46:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aba8b39a-0424-4c34-b0f8-afcb55686590</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If you do not have the optional 32.768 kHz crystal on your custom board, you need to configure the application to use the internal RC oscillator.&lt;/p&gt;
&lt;p&gt;If you are using nRF5 SDK, this can be configured as described in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/29260/sd_softdevice_enable-not-return/116388"&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note that prj.conf are only relevant for &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.2/nrf/index.html"&gt;nRF Connect SDK&lt;/a&gt; samples. The older nRF5 SDK uses the sdk_config.h file for configuration.&lt;/p&gt;
&lt;p&gt;If you are starting a new project and want access to new features/active development, you should use the nRF Connect SDK.nRF5 SDK is only supported in &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-connect-sdk-and-nrf5-sdk-statement"&gt;maintenance mode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I need advice on software configuration of BMD-300 on custom pcb to boot on power-up and advertise in UART mode</title><link>https://devzone.nordicsemi.com/thread/450452?ContentTypeID=1</link><pubDate>Mon, 16 Oct 2023 07:41:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12999ac3-c33f-49e2-abd9-ca3ecf60c48c</guid><dc:creator>Ruscon</dc:creator><description>&lt;p&gt;I found information from a 10 year old post (Case ID: 100699) advising the custom PCB hosting the BMD-300 requires an external 32 kHz crystal for Bluetooth operation. My custom PC simply hosts the nRF52832 device, power on boot up circuitry and a few GPIO pins to drive LEDs. Is this the root cause of my problem, the lack of an external crystal ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>