Custom Board with LFCLK SYNTH Falls Back to Non-Connectable Extended Advertising – NCS v2.9

Hi Nordic Team,

I'm currently working on a BLE project using NCS v2.9 and targeting a custom board based on the nRF54L15. My goal is to use the SYNTH LFCLK source (instead of RC or XTAL) to improve timing accuracy, even if it results in higher power consumption.

To achieve this, I configured the following in prj.conf:

CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNT=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n

However, I’ve observed that on the custom board (which does not have a 32.768 kHz LF crystal), the device only advertises non-connectable extended advertising (ADV_EXT_IND).
When I flash the exact same HEX to the DK (PCA10156), it works perfectly and performs legacy connectable advertising (ADV_IND), as expected.

I’ve tried explicitly setting the advertising flags (e.g., BT_LE_ADV_OPT_CONNECTABLE) and adding a device name in the advertising payload, but that had no effect — the custom board still falls back to extended, non-connectable advertising.

This leads me to suspect there may be additional configurations required in the Devicetree, overlay, or Kconfig that are necessary for proper BLE operation when using SYNTH as the LFCLK source on a board with no LF XTAL.

To be fully transparent, I'm not very experienced with Zephyr yet, and I’m still learning how to properly configure BLE and clocks through the Zephyr environment. So far, I’ve found that most BLE examples run fine on the DK but show inconsistent behavior on my custom hardware.

Any guidance on how to ensure legacy connectable advertising works properly using SYNTH LFCLK on a custom board would be highly appreciated.

Thank you for your support!

Best regards,
Karim

Related