Unable to Program Custom nRF52840 Board Using SWD with nRF52840 DK v2.0.1

I have designed and built a custom nRF52840 board and I’m experiencing difficulties programming it via SWD using an nRF52840 DK (version 2.0.1). When I connect my custom board to the DK, the programming tools (nrfjprog and nRF Connect for Desktop) only detect the DK’s own MCU, not the external target (my custom board).

Connections Made:

  • VDD : I have connected the DK’s VDD to the custom board’s VDD.

  • VTG: I have connected the DK’s VTG pin to the DK's VDD.

  • SWDIO: Connected DK’s SWDIO to the custom board’s SWDIO pin.

  • SWCLK: Connected DK’s SWCLK to the custom board’s SWCLK pin.

  • GND: Connected DK’s GND to the custom board’s GND.

  • GND Detect: Connected the DK’s GND_DETECT pin to GND on the custom board.

I was able to check with with nrf dongle that SWD/debugger works on nrf52840 DK, but I wasn't able to detect my custom board using vs code nrf extension. I also haven’t connected the RESET line on the custom board.

Could anyone provide further guidance on additional connections, jumper settings, or troubleshooting steps to get my custom board recognized as the external target for programming via SWD? Any help to resolve this issue would be greatly appreciated. Thanks in advance. Here are SWD connections shown as schematic and in layout:
 

Parents
  • Hi,

     

    • VDD : I have connected the DK’s VDD to the custom board’s VDD.

    • VTG: I have connected the DK’s VTG pin to the DK's VDD.

    • SWDIO: Connected DK’s SWDIO to the custom board’s SWDIO pin.

    • SWCLK: Connected DK’s SWCLK to the custom board’s SWCLK pin.

    • GND: Connected DK’s GND to the custom board’s GND.

    • GND Detect: Connected the DK’s GND_DETECT pin to GND on the custom board.

    When VTG on the DK is shorted to NRF_VDD, the on-board-debugger (ODB) will switch to the header in question for programming.

    Ie. if you only connect VTG -> VDD, the communication should fail.

     

    This will then be a test to see that the interface has been switched.

     

    Could you share any logs or similar when using nrfjprog? This can be done by appending --log to the operation.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    • VDD : I have connected the DK’s VDD to the custom board’s VDD.

    • VTG: I have connected the DK’s VTG pin to the DK's VDD.

    • SWDIO: Connected DK’s SWDIO to the custom board’s SWDIO pin.

    • SWCLK: Connected DK’s SWCLK to the custom board’s SWCLK pin.

    • GND: Connected DK’s GND to the custom board’s GND.

    • GND Detect: Connected the DK’s GND_DETECT pin to GND on the custom board.

    When VTG on the DK is shorted to NRF_VDD, the on-board-debugger (ODB) will switch to the header in question for programming.

    Ie. if you only connect VTG -> VDD, the communication should fail.

     

    This will then be a test to see that the interface has been switched.

     

    Could you share any logs or similar when using nrfjprog? This can be done by appending --log to the operation.

     

    Kind regards,

    Håkon

Children
Related