I am designing a wearable device that uses BLE and UART. During the development stage, I worked with the nRF52 Development Kit and started with the ble_app_uart example from nRF5_SDK 17.1.0_ddde560. Everything worked properly at that stage.
Next, I designed my own PCB. As a reference, I used a Chinese module (XL52832.D01). This module also worked correctly. However, when I assembled the components on my custom PCB, some issues appeared.
Most of the BLE peripheral examples, such as ble_app_blinky and other peripheral demos, run without problems on my PCB. But ble_app_uart does not work. I tried changing many parameters and tested both the 32 MHz and 32.768 kHz oscillators. I could not find any hardware fault, yet ble_app_uart still fails to run.
I then checked the ERRATA documentation for possible causes. Eventually, I noticed something related to IC revisions. To investigate further, I ordered different revisions (E0, E1, and G0). None of them worked. Surprisingly, only revision B0 — the one used in the XL52832 module — works properly on my PCB.
Could you please help me understand why revision B0 works on my PCB while the others do not? And more importantly, how can I resolve this issue so that my design is compatible with all revisions?
Best regards,
