Custom PCB using nRF52840 (BC840) successfully connects and programs but does not output anything (RTT or BLE)

Howdy!

We have designed a custom PCB using the BC840 from Fanstel. We have been able to connect to and program both the BC840 evaluation board (EV-BC840-V0) and the custom PCB using an nRF52840DK; however, we do not observe the associated functionality from our PCB that we see from the evaluation board even for simple programs using just RTT and BLE. We believe the PCB is connecting and programming correctly because it appears and flashes in nRF Connect SDK for VSCode in the same manner as the evaluation board.

Just the DK in nRF Connect SDK for VSCode

Evaluation Board + DK in nRF Connect SDK for VSCode

PCB + DK in nRF Connect SDK for VSCode

Flashing to Evaluation Board

Flashing to PCB

In addition, we confirmed that the PCB is being programmed correctly using the Programmer in the nRF Connect for Desktop application by erasing the boards fully and then comparing the contents of the device memory of the evaluation board and the PCB after flashing the same RTT program to them. They appeared identical.

Evaluation Board

PCB

Comparison of Device Memory .hex Files

Thus, it appears that we are effectively programming our custom PCB. However, when checking for the output of our program over RTT, only the evaluation board appears to be providing any data.

RTT Output from Evaluation Board

RTT Output from PCB

In order to make programming our devices easier, we have connected solder bridge 47 (SB47) to allow us to supply power to the device from the DK board itself. Thus, between the evaluation board/PCB and the DK, the only connection is the 10 pin Tag Connect Cable.

Connection to Evaluation Board

Connection to PCB

The connections should be the same. This leads to our confusion about why are we able to successfully connect and program our PCB, but not able to receive output from it in the same way as our evaluation board?

We also tried loading a basic BLE script onto both the evaluation board and the PCB using the nRF Connect for Desktop application. Once again, both boards were programmed successfully, but only the evaluation board seemed to actually be doing anything. In addition, there did appear to be a small difference in the devices' memories

BLE Evaluation Board

BLE PCB

Difference Between Evaluation Board and PCB .hex Files

We have also tried multiple different PCBs and DK boards, and the problems seem consistent across the boards. Overall, we are not sure exactly where to continue debugging, and why the PCB seems to be able to be programmed but not actually run anything?

Operating System

Microsoft Windows 11 Enterprise (10.0.26100 Build 26100)

Hardware

nRF52840DK - PCA10056 (3.0.2 - 2024.33)

Evaluation Board - Fanstel EV-BC840-V0

PCB - Fanstel BC840

Software Specifications

nRF Connect for Desktop v5.2.0

nRF Connect for VS Code Extension Pack 2025.4.4

nRF Connect SDK v3.0.1

nRF Connect SDK Toolchain v3.0.1

Code for RTT:

#include <zephyr/kernel.h>
#include <zephyr/sys/printk.h>

int main(void)
{
        int i = 0;
        while (1) {
                printk("Iteration: %d\n", i);
                k_msleep(1000);
                i++;
	}
        return 0;
}

8080.prj.conf

Parents Reply
  • To be honest, I'm not sure which pins would need to be configured to get the RTT example working. The Serial Wire Debug pins should be the same between our PCB and the evaluation board. We tried to follow its design as much as possible.

    SWDIO - B1
    SWCLK - C1
    SWO - D0 (not used)
    NRST - B4 / P0.18
    Our BC840 Schematic
    Evaluation BC840 Schematic
Children
Related