NRF52840dk to custom board debugging

  • I’ve designed and fabricated two custom boards around the nRF52840 SoC.

  • I use an nRF52840 DK as an SWD debugger to communicate with each board.

  • Using nrfjprog, I can read from and write to on-chip registers—including REG0 for VTG—via commands like:

    nrfjprog --memwr 0x10001304 --val 0x01 # set REG0 = 1.8 V
    nrfjprog --memwr 0x10001304 --val 0x05 # set REG0 = 5.0 V

  • Before flashing any firmware, a memory read at 0x10001304 returns all 1s (0xFFFFFFFF), showing the erased default state.

  • After flashing my Blinky example, the same address returns values like 0x034F or 0x0874, confirming the code image was written.

  • In nRF Connect for Desktop’s Programmer app, I see the “Program” operation complete successfully and can verify the flash contents.

  • I’ve assigned ten different GPIO pins in my Blinky code and wired LEDs (with series resistors and correct orientation) to each, but none of them blink.

  • I’ve meticulously checked every hardware detail—power rails, decoupling caps, pin-mapping, LED wiring, ground returns—and everything is correct.

  • Despite successful flashing and verified hardware, the firmware never drives the LEDs.

  • I suspect there may be an issue in my pin configuration, initialization sequence in code, or a subtle board-layout/design oversight.

  • I’m looking for insights on what I might be missing so that my GPIO outputs will toggle and the LEDs will blink as intended

Parents
  • Hi,

    If you are able to flash and do memread using a debugger then I would suggest you to run the debugger and step through your code to see if you are actually setting the GPIOs for those LEDs to the state you want. It would also help you would probe those pins using Logic analyzer or oscilloscope to see if the pins have any activity or not. At this point, with the given information, it is not clear if your application boots or if the GPIOs are configured right.

Reply
  • Hi,

    If you are able to flash and do memread using a debugger then I would suggest you to run the debugger and step through your code to see if you are actually setting the GPIOs for those LEDs to the state you want. It would also help you would probe those pins using Logic analyzer or oscilloscope to see if the pins have any activity or not. At this point, with the given information, it is not clear if your application boots or if the GPIOs are configured right.

Children
Related