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

NRF52840 Dongle USB Power only works with debugger connected

Hi, I have a holyiot NRF52840 dongle (schematic below). I am able to program it via the swd interface and have BLE examples running (as long as power is attached to VDD), but as soon as I try a USB example, the dongle is only detected as a USB device under the following circumstances after programming:

  1. Dongle is plugged into USB port
  2. Programmer is plugged into USB port with at least the SWCLK pin connected to the nrf52840 dongle. (I have tested with GND, and SWDIO also connected and it has the same effect)
  3. Try to start debugger (obviously it won't connect as only the clock line is attached)
  4. Dongle will now be detected by the OS.
  5. Debugger can be removed and dongle will work until being removed.

It seems that a  signal on the clock line is all that is needed to bring the dongle to life.

I can also get the dongle to detect if I attach 3.3V to VDD and GND first, and then plug the dongle in. After this, the external power can be removed and everything works fine.

I've done some probing of the pins. At step 1, when the dongle is plugged in, the VDD voltage is 0.47 V. After completing all of the steps, the VDD voltage is is 1.8 V and everything works as expected. With the GND, SWDIO and SWCLK pins of the debugger connected to the dongle in this state, I can probe the registers and see that it is in high voltage mode.

I should note that when I bought the dongle, it was preloaded with the USB CDC ACM example and it worked perfectly as it should. If this is a hardware fault caused by me (seems that way), I've uploaded the schematic below in the hopes that there might be a way to patch it.

I know that this dongle is technically not supported, but any help on getting it to work via USB power without the process above would be greatly appreciated.

HOLYIOT-17120-NRF52840 (0.8mm)-SCH.pdf

Parents
  • Saw the exact same thing today. New PCA10059 (Version 1.2.0)

    Occurred after I successfully flashed in an application (which happened to blow away the existing USB DFU Bootloader). Application ran fine.

    The issue where VUSB was healthy, but VDD remained stuck at 0.45V seemed to occur after attempting a new JTAG flash attempt.

    Stroke VDD_OUT momentarily with a 3V3 voltage, and voila it them remains at presumably its REGOUT programmed value of 3.0V.

    Remove from USB port, and problem occurs again. Stroke VDD_OUT with 3V3, and it comes alive. So weird.

    Gives me a feeling there is some power up sequence that is not happening properly.

    On the faulty unit, I also noticed that DECUSB/C20 is measuring 0V ... on normal unit, this is 3.3V. So gives a sense that something is preventing nRF52840 USB from enabling it's internal 3V3 USB supply.

  • Seems like something may have damaged the PCA10059 ... just not sure what.

    From my 2nd new PC10059, I dumped complete flash contents, including UICR register

    (nrfjprog --readuicr --readcode xxx).hex

    Then I reprogrammed that into the PCA10059 where VDD_OUT is not working. Did a readback to verify code/UICR are presumably identical.

    With both running same code/UICR it did not address the problem with the one PCA10059. :{

Reply
  • Seems like something may have damaged the PCA10059 ... just not sure what.

    From my 2nd new PC10059, I dumped complete flash contents, including UICR register

    (nrfjprog --readuicr --readcode xxx).hex

    Then I reprogrammed that into the PCA10059 where VDD_OUT is not working. Did a readback to verify code/UICR are presumably identical.

    With both running same code/UICR it did not address the problem with the one PCA10059. :{

Children
No Data
Related