Hardware
- Custom flex PCB (smart-ring form factor), SoC: nRF52840-CKAA-R7 (WLCSP package)
- Supply: nPM1100 buck (VOUTB) at 1.8 V, normal voltage mode
- HFXO: 32 MHz crystal (X2) with 12 pF load capacitors on XC1/XC2 — exact crystal model and full schematic attached
- Soldering and connectivity have been verified by X-ray inspection — the crystal and MCU balls show no opens, bridges, or head-in-pillow defects. This is not an assembly issue.
- The identical firmware on our nRF52840-QFAA (QFN48) test board works normally — HFXO starts and BLE advertises.
Software
- nRF Connect SDK v3.4.0 (Zephyr 4.4.0), SoftDevice Controller + MPSL, sysbuild
CONFIG_MPSL_HFCLK_LATENCY=1400(default),CONFIG_BT=y,CONFIG_BT_PERIPHERAL=y- Tools: nrfjprog 10.24.2, J-Link V8.18
Symptom
The 32 MHz crystal oscillator never starts on this board.
-
Register-level test (BLE disabled, direct register access from
main()): clearEVENTS_HFCLKSTARTED, triggerTASKS_HFCLKSTART, poll —EVENTS_HFCLKSTARTEDnever fires (we wait 500 ms; normal startup on the QFAA board is well under 1 ms).HFCLKSTATkeeps reportingSRC=RC. The CPU runs fine on HFINT the whole time; everything else on the chip works (GPIO, SAADC, TWIM, SWD/RTT). -
Consequently, with
CONFIG_BT=ythe boot crashes ~190 ms in, during MPSL init:
<err> mpsl_init: MPSL ASSERT: 5, 1013
[00:00:00.192,169] <err> os: ***** HARD FAULT *****
[00:00:00.192,199] <err> os: ARCH_EXCEPT with reason 3
[00:00:00.192,413] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:00.192,443] <err> os: Fault during interrupt handling
[00:00:00.192,474] <err> os: Current thread: 0x20007f18 (idle)
The LFXO (32.768 kHz, X1) is working fine.
Attachments
HFXO manufacturer part no: X201632MKB4SI
Schematic
