This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Custom nRF52833 board only succeeds to BLE advertise when it is maintaining a J-Link connection

SW setup:

  • Windows 10
  • nRF Connect v3.5.0
  • SDK v1.3.1

HW setup

  • N52833 QIAAA0
  • External 32MHz Clock capacitors: 12pF

Has anyone ran into this problem?

My companies project was built on top of 'peripheral_uart' in the SDK (v1.3.1/nrf/samples/bluetooth/peripheral_uart). Because of this, the stock example is one that can be used to try and recreate this problem if anyone has a custom board with this particular IC. We do have DK boards here that were used for development purposes. These do not have any issue with BLE advertising without a directly connected host attached via J-Link.

We actually have a couple of custom designs using Nordic's parts. A few of our boards have the nRF52833 and one has the nRF52840. All of which were laid out and designed from a single engineer that tried to model the DK boards as closely as possible. The strange thing is, that we are having no issues with the nRF840 BLE advertising without a J-Link connection. Only the boards with the 833 behave this way.

A probe has been connected to the HFCLK output of the crystal on both processors. Both crystals have shown appropriate outputs when BLE advertising (correct 32MHz frequency in 100ms period pulses).

Things we have tried that have been unsuccessful on the nRF52833:

  • Enabled/Disabled RTT
  • Manually setting/resetting NRF_CLOCK registers for HFCLK
  • Using Zephyr Bluetooth samples to see if it was an RF stack issue

Has anyone ran into this problem and come up with a solution? Is there a kconfig option that might be causing this? We've been focused on the HFCLK, however, it proves to work successfully on the 833 when the J-Link is connected, so should we be looking elsewhere?

Please help!

Parents
  • Hi

    Is there an LF clock in your custom design? If not, the reason could be that you've not configured the project to run on the internal RC oscillator instead of the external crystal oscillator. Please try setting the RC oscillator as the 32kHz clock source in your NCS project. In SES you can do so by configuring the nRF Connect SDK Project, or alternatively change the CLOCK_CONTROL_NRF_SOURCE directly.

    Best regards,

    Simon

  • Simon,

    There is a LF clock on the board. We made a little headway with this exact fix yesterday by setting the clock source to the external 32kHz oscillator. Now, instead of only advertising in a debug session and/or when the j-link is connected, the device can advertise with just a 'build and run' in SES.

    The problem still remains in another form however. The advertising doesn't last a power cycle on the unit. We've been running through and testing all the different configurations for the 32kHz clock accuracy options to see if one allows the unit to survive a PC, but so far now luck.

    Any ideas on this??

    I went ahead and included the schematic of our board just in case it might be useful. ASY-191002-5103-A-WASP-Environmental-Sense.pdf

    Thanks,

    Josh

Reply
  • Simon,

    There is a LF clock on the board. We made a little headway with this exact fix yesterday by setting the clock source to the external 32kHz oscillator. Now, instead of only advertising in a debug session and/or when the j-link is connected, the device can advertise with just a 'build and run' in SES.

    The problem still remains in another form however. The advertising doesn't last a power cycle on the unit. We've been running through and testing all the different configurations for the 32kHz clock accuracy options to see if one allows the unit to survive a PC, but so far now luck.

    Any ideas on this??

    I went ahead and included the schematic of our board just in case it might be useful. ASY-191002-5103-A-WASP-Environmental-Sense.pdf

    Thanks,

    Josh

Children
No Data
Related