nRF BLE DFU OTA on Android - Success!

I’ve been scratching my head quite a lot over the BLE updates.

As per the current information, it just doesnt work:

As it is practical impossibility to do wired updates to devices on a high pole and such, I’ve been trying many things to get the BLE update working.

After much experimentation I can confirm that the update indeed works and is very reliable, albeit slow, with the LATEST nRF DFU or nRF Connect apps in android, no need to use old versions.

There are many parameters to tinker on but currently I got success with the following settings.

nRF DFU (v2.4.0):

  • Enable: PRN with 10 packets
  • Disable: “Request high MTU”
  • Enable: “Keep bond”

nRF Connect (v4.28.1):

  • Number of packets: 7

I think the nRF52 OTA page could be updated to reflect all this.

Please test if you can get it to work as well. Also, the old nRF Connect apk will also work if you decrease the packet count.

Some images from the process:



5 Likes

Can confirm

Android 14

nRF DFU 2.4.0

  • 10 packets
  • Request high MTU disabled & enabled
  • Keep bond
  • All other Parameters: Default.

Took about 10 mimutes.

3 Likes

nice to read that is it working with the newer app in your case…

i have been successfully doing around 10 to 15 OTA updates lately, using the
RF Connect App version 4.24.3
exactly as described in

leaving all settings on default
depending on BLE connection quality it takes sometimes 5 minutes, sometimes up to 60 minutes (poor BLE connection due to distance ).

important to check, that the exact app verion is used, and not updatedautomatically by android before using it …

1 Like

Thanks for input. With the default settings, it just doesnt work, dropping PRN to 5 helps with the old software.

Maybe its dependant on android version, bluetooth stack or some such.

Running nRF connect v4.28.0 on Android, completely stock default settings and I’ve never had a problem upgrading OTA. Worked fine for me every time unless I’m just too far away from the node. Transfer speed really takes a nose dive with any kind of distance so keep 'em close :slight_smile:

2 Likes

I’ve done some testing as well and also experience this if I’m on the older 0.4.2 bootloader, whereas with 0.4.3 I need to change settings or it will fail. I think they improved the DFU app/library and that’s why it now works on 0.4.2 but RAK had updated the bootloader to allow a workaround that I think now makes 0.4.3 have issue

Thank you for taking the trouble to report this and show the steps. I was amazed how short range Bluetooth was though. I guess there will be people putting their phones onto poles (drones?) to update nodes high up in trees and what-not.