RAK4631 bricked?

I had a RAK4631 on a RAK19007 board, but unfortunately I killed the RAK19007 by attaching a battery with reversed polarisation. I transferred the RAK4631 to a new RAK19007, but I can no longer update the firmware. On macOS, the serial connection drops the moment I transfer any firmware to the RAK4631 (although it does enter DFU mode and appears on the desktop).

My first guess was that the bootloader might have been damaged, so I tried updating it unsuccessfully with nRF52_nrfutil. This is what I get:

kurtbernbacher@Schreibmaschine-2 Adafruit_nRF52_nrfutil % adafruit-nrfutil --verbose dfu serial --package wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.zip -p /dev/cu.usbmodem1101 -b 115200 --singlebank
Upgrading target on /dev/cu.usbmodem1101 with DFU package /Users/kurtbernbacher/Adafruit_nRF52_nrfutil/wiscore_rak4631_board_bootloader-0.4.3_s140_6.1.1.zip. Flow control is disabled, Single bank, Touch disabled
Opened serial port /dev/cu.usbmodem1101
Starting DFU upgrade of type 3, SoftDevice size: 151016, bootloader size: 39000, application size: 0
Sending DFU start packet
Sending DFU init packet
Sending firmware file

Failed to upgrade target. Error is: read failed: [Errno 6] Device not configured
Traceback (most recent call last):

  • File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/serial/serialposix.py”, line 575, in read*
  • buf = os.read(self.fd, size - len(read))*
  •      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
    

OSError: [Errno 6] Device not configured

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/main.py”, line 296, in serial*
  • dfu.dfu_send_images()*
  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu.py”, line 226, in dfu_send_images*
  • self._dfu_send_image(HexType.SD_BL, self.manifest.softdevice_bootloader)*
  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu.py”, line 206, in _dfu_send_image*
  • self.dfu_transport.send_firmware(firmware)*
  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 213, in send_firmware*
  • self.send_packet(pkt)*
  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 243, in send_packet*
  • ack = self.get_ack_nr()*
  •      ^^^^^^^^^^^^^^^^^*
    
  • File “/Users/kurtbernbacher/Library/Python/3.12/lib/python/site-packages/nordicsemi/dfu/dfu_transport_serial.py”, line 264, in get_ack_nr*
  • temp = [x for x in self.serial_port.read(6)]*
  •                   ^^^^^^^^^^^^^^^^^^^^^^^^*
    
  • File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/serial/serialposix.py”, line 581, in read*
  • raise SerialException(‘read failed: {}’.format(e))*
    serial.serialutil.SerialException: read failed: [Errno 6] Device not configured

Possible causes:
- Selected Bootloader version does not match the one on Bluefruit device.

  • Please upgrade the Bootloader or select correct version in Tools->Bootloader.*
    - Baud rate must be 115200, Flow control must be off.
    - Target is not in DFU mode. Ground DFU pin and RESET and release both to enter DFU mode.

Question: Have I killed the RAK4631, or could it be something else?

Welcome to RAK forum @Mesh ,

It is hard to definitely say if RAK4631 was damaged when you reverse the polarity of the battery. If it works on a new baseboard without issue, then it is still ok (assuming there is no unknown damaged done to it that is still unnoticed). If you have issues like what you encounter, it could be that it was damaged. You cannot update the bootloader using adafruit-nrfutil, you need to use external tool like jlink, rakdap1, etc.

If the use case is critical, I suggest to have a new core. Even if it works, we have no idea if there are minor damage already which makes the core possibly unreliable later on.

Thanks for your support! You’re right; I’d better get a new core and see if I can borrow a J-Link mini to try and get the possibly damaged one going again for “non-critical” use.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.