RAK5010 Arduino Bluetooth DFU

Issue: Updating user application using Bluetooth DFU and the nRF Connect application not working.

Setup: Updated firmware of the RAK5010 to the Adafruit Feather firmware. Created custom code for our application. I’ve used various Feather Express firmware but I’m not having luck using the update function.

Details: I have a Feather Express that is running the latest firmware from here:

https://github.com/adafruit/Adafruit_nR … r/releases

feather_nrf52840_express_bootloader-0.5.0_s140_6.1.1.hex

I’m trying to use nRF Connect either from my PC or my Android Phone to upgrade the application running on the device. I’m just using the sample “Bluefruit52 Blinky Example” and have an application that is built with Arduino 1.8.13 (just a “hello world” application).

I want to use Bluetooth DFU to update the application on my device but it’s timing out.

Steps:

  1. Power up and run Blinky.
  2. Watch the console for messages from Blinky. (“Bluefruit52 Blinky Example”)
  3. Run nRF Connect on my phone, find “Bluefruit52” and connect to it.
  4. Click on the DFU button
  5. Select “Distribution packet (ZIP)” and click OK.
  6. Find the .ZIP file that was built from Arduino 1.8.13
  7. Starting DFU displays, then 1% of upload, then “disconnecting”

After I close the Bluefruit52 tab in nRF connect, the Scanner no longer sees “Bluefruit52”

I unplug USB and plug it back in thinking Blinky may still run, but it is not there. I have to reload it from Arduino 1.8.13.

My goal is to be able to update the user application on my device using Bluetooth as it is enclosed in a box that doesn’t have access to any of the ports.

I found this comment in the forum:

Do I need to change a Pin assignment to make this work?

I know that the RUI Bluetooth update works through Secure DFU so I suspect I can get this to work, but don’t know what I’m missing.