This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 Dongle Reset Issue

Hello,

I am having an issue where the nRF52840 dongle does not properly reset. I'd appreciate it anyone can help.

I was evaluating the DFU options, and erased the IC in the process. I am now trying to get it back to the default state. I used the J-Link debugger to flash the factory MBR, Bootloader (and changed the UICR to get 3.3v VDD out). I have two nRF52840 Dongles, one of the two does works fine (after going through the refresh process), and the other seems not. The one that is not working, actually does "work" when the J-Link debugger is attached.

When I attach the J-Link debugger, it does reset properly:

  • I am able to reset via the nrfjprog.
  • I am able to reset via the reset button.
  • The dongle gets listed in nRF Connect Desktop App.
  • Slow blinking red led is on.

When I do not attach the debugger:

  • reset button does not seem to put the device in reset
  • The dongle does not get listed in nRF Connect Desktop App.
  • fast blinking red led is on.

Thanks,

Mak

  • Hi

    What code/example do you have on the Dongle when fast blinking red LED is on?

    I assume you have seen this Dongle Programming Tutorial, where the reset procedure is thoroughly explained. I urge you to try deleting the UICR and go through the reset process once more on the one not working to see if anything changes.

    Another possible fix is resetting the MCU firmware following these steps:

    1. Download MCU firmware from the link above (Should be a .bin file).

    2. Plug in your dongle in bootloader mode (Holding the reset button while putting it into the USB port).

    3. Copy the .bin file onto the device your device manager recognise as the Dongle.

    4. The Dongle should start blinking faster when this is done, pull it out, then put it back in normally.

    It should now pulsate again and work as normal.

    Best regards,

    Simon

  • Hi,

    Thank you for the response.

    I didn't have any user code flashed on the Dongle, just the MBR and Bootloader. 

    I tried the UICR erasing, then no LED comes on (and still not recognized by the nRF Connect Desktop app.

    I then tried flashing the MBR+Bootloader hex file from the Dongle Programming Tutorial, but it still shows the same fast blinking red LED (and not in DFU mode) as soon as I remove the J-Link Plus debugger. I appears to work (goes into DFU mode) when the debugger is attached. When debug probe is attached, nRF Connect Desktop app recognizes the dongle.

    I tried the Open Bootloader Example, and it appears to be in DFU mode (when debugger attached), but it would not work once I remove the J-Link Plus debugger.

    The other possible solution you've mentioned links to the interface MCU firmware. I don't think the nRF52840 Dongle has an interface MCU.

    I doubt the J-Link Plus debugger's firmware is the culprit here, as if that is the case the other dongle would fail too...

    I will also note that I can flash user code (using nRF Connect Desktop), such as the ble_app_blinky and it will run - as long as the debug probe is connected.

    It seems like a hardware issue...? 

    Thanks,

    Mak

  • Hi

    The interface MCU solution I was wrong about, sorry for the confusion (It works on the 51 Dongle). This could seem like a hardware issue indeed. They both worked initially before the UICR erase am I right? It seems to me like the one not working was damaged somehow during the soldering process of resetting it. Have you checked that any of the solder bridges haven't been damaged or some components haven't been shorted by soldering paste?

    Best regards,

    Simon

  • Hi,

    They both worked initially before the UICR erase am I right?

    Yes. Initially they both worked. Only the one that I re-flashed to test different DFU mode (was testing secure DFU OTA actually) is no longer working. 

    Have you checked that any of the solder bridges haven't been damaged or some components haven't been shorted by soldering paste?

    I have not made any modification physically to the dongle. To a naked eye it looks the same as the working one.

    If I have the debugger connected, I can run the ble_app_blinky and debug (step it through) it after erasing the bootloader. If I flash the debug or release build on the dongle, it will work properly only if I have the debugger attached. It stops running when the debugger is removed.

    Below is a summary of what I have tried with no boot loader, ble_app_blinky on the dongle.

    • If the dongle is connected to the computer and debugger is connected, it will function properly.
    • If the dongle is connected to the computer and debugger is not connected, it will not work.
    • If the dongle is not connected to the computer, and debugger connected, it will not work (it is not receiving power from the debugger).
    • If the dongle is connected to a USB power-only connection, and debugger connected, it will not work.  

    Maybe there is some issues with D+ and/or D- lines or its related circuitry. Would that matter in normal application execution (if it does not require UART type serial data)? 

    Thanks,

    Mak

  • Hi

    Can you walk me through how you tested for secure DFU OTA, so I can try to recreate the problem on my side? Please also refer to what firmware you used to flash it.

    Best regards,

    Simon

Related