cannot enter bootloader mode on nrf52840 dongle anymore

Dear all,

I could happily flash my firmware to my nrf52840 upon pressing reset button. When pressing the reset button the diode on the board started to beat red and via command:

nrfutil dfu usb-serial -pkg blinky.zip -p /dev/ttyACM0

I could easily write a new firmware.

Today I found a pair of scissors accidentally touching my board on GPIO pins, I immediately removed the scissors knowing it could potentially damage the board via short circuit. I removed the board from USB port and plugged it back. The application written on the flash is working correctly, it is a bluetooth flash button service, which can be controlled via Android app NRF Blinky. The diode can be controller correctly, it flashes upon command and also the button sends notification to my Android phone. So far it seems allright.

BUT, after I long press the reset button to enter bootloader mode, the diode does not glow read like heartbeat anymore, it tries to glow red and starts flashing red randomly like a current it flowing throught the diode randomly. Therefore I cannot write any new firmware to my board.

Moreover, I used to recover my dongle when accidentally locking my nrf52840 via OpenOCD, but right now, it cannot even connect to the device yielding:

Error: Error connecting DP : cannot read IDR

Does anyone know how to resolve this issue?

I suspect I damaged partially my board shortcutting it but I still wonder wheter there is a sort of a utility I can verify what is wrong exactly with my board. Just the bootloader might be corrupted but it is very suspicious that OpenOCD cannot communicate with the MCU via OpenOCD anymore.

Thank you very much

Parents
  • I forgot o mention that I am connecting the dongle via two wire SWD connection (swdio and swd clock),connected to gpio pins 6 and 12 on Raspberry Pi Zero and on Pi Zero,OpenOCD is running.

    It seems like I cannot access the chip via SWD and I does not seems like the AP is locked as it used to connect even though the AP was locked but now it cannot read anything via SWD.I will also recheck SWD wiring.

  • Hi Ivo, 

    You may want to send a picture of your setup so we can see if there is anything wrong. 

    I also suspect that there could be some issue with the hardware. But it's strange the your application still running fine. 

    Please make sure you have connected a common ground between the RPI and the dongle. 

  • I also experience this strange behaviour. When connecting to OpenOCD, I connect the device to Raspberry via USB HUB. But many times I see the output of OpenOCD:

    Error: Error connecting DP: cannot read IDR

    This means the board is not connected but obviously it is plugged in USB port.

    Many times the board is connected to OpenOCD, I can read the status, but I cannot erase the memory and I cannot flash the memory, it looks like it is connected but it is doing weird things. The only way how can I overcome these issues it that I hold the board tightly in USB port but this is strange, it used to work without any pressing the board firmly, it was just plugged in the USB port and I could happily flash it over OpenOCD.

    Could it be that the internal voltage regulator is doing some nasty things?

    But the fact that my program runs very find whenever I plug the dongle to USB does not support this hypothesis.

    Just now I remembed that experienced this fast random RED light flashing when there was something wrong with the powering of the board, it looked like to board detected malformed input voltage and it started to flash RED fast.

    Do you happen to know if there is any piece of information what the regular fast RED light flashing means? The fast red light looked random to me, but now I see that it might be pretty regular, just much faster than when entering DFU mode, it seems like when trying to enter DFU mode, it might check the voltage regulator or some voltage level and if it is wrong then it refuses to enter DFU just to protect from flashing the memory inconsistently and signals the error via fast red light flashing.

    Could there be something wrong with the internal voltage regulator? Isn't there any log I can trace what is happening exactly?

  • Actually, funny thing happened to me this weekend. After desoldering everything what was attached to the dongle. I plugged it is to laptop USB, it slowed down the pace of RED blinking but still not like DFU mode, but after manual RESET, it started to glow exactly like DFU mode, I mean the heartbeat red glow. I managed to repeat it once more, but not anymore from that time on, now still blinking red fast unable to enter DFU again.

    I checked the board with magnifying glass but I don't see any crack on any part moreover I checked for short circuit current draw, but the board draws approximately 8mA  after pressing the reset button, the working dongle draws approximately 6.7mA in DFU mode.

    The voltage level of VBUS is 5V and OUT is 2.99V.

    Have no idea where to start and what to check on the board.

  • Hi Ivo, 
    Could you check your Jlink driver ? Here I found a similar report: 

     RE: Can't burn nrf52840 Dongle in Linux with nrfConnect v3.9.1 with Programmer v2.0.1 

    But it still strange that you can do DFU with the OK one. 

    I don't have an idea on what could be wrong here. I dont think the code or the hardware can detect any issue with the voltage or hardware to give you the LED indication. You can find the code of the bootloader in \examples\dfu\open_bootloader\pca10059_usb in nRF5 SDK. 

    I suspect that it was not enough current/voltage to run the bootloader and it keep reset randomly and causing the LED to turn off and on. 

    Please try testing the board in different USB port or on different PC. You also can simply test it with any USB charger or USB power bank , it should switch to DFU mode (growing LED) if it the hardware is still OK. 

  • I already tried different 5V power supplies with no luck.

    Actually, I did not have any driver. I installed this: JLink_Linux_V770e_x86_64.deb, but the result is the

    same.

    Like I said, I managed to start the board twice with the LED glowing like in DFU mode, but I cannot repeat it, it was out of the blue, just a random success, so I guess there is something wrong with the current draw.

    When pressing the button the diode starts the glow once but immediate turns to the random fast red blinking, like you wrote, it could be related to current draw when resetting all the time.

  • I think it has some hardware issue. But I'm not sure if it worth it to go to the bottom of the problem especially when we have limited way of debugging this.

    We may need to look deeper if the issue reproduced. But for now I would assume it got some damage either on the PCB or on the chip. 

    If you want to debug this further I would suggest to solder the 10pin header on the P1 port and use a DK/programmer to debug it just like on a DK. 

Reply
  • I think it has some hardware issue. But I'm not sure if it worth it to go to the bottom of the problem especially when we have limited way of debugging this.

    We may need to look deeper if the issue reproduced. But for now I would assume it got some damage either on the PCB or on the chip. 

    If you want to debug this further I would suggest to solder the 10pin header on the P1 port and use a DK/programmer to debug it just like on a DK. 

Children
No Data
Related