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

OTA DFU speed

Hi,

We are using OTA update in production and currently it takes about 40 seconds to update 70KB image. Is there a way to improve the speed?

Thanks!

Parents
  • Assuming master control panel version 3.10.0 you can do the following changes to the DFU script to increase overall throughput:

    Step 1. Reduce connection interval:

    Open "\Master Control Panel\3.10.0.14\lib\dfu\master_emulator.py", go to line ~237 and replace the following code snippet:

            conn_params.ConnectionIntervalMs = 15
            if self.master.Connect(self.myPeerDevice.DeviceAddress):
    

    with

            conn_params.ConnectionIntervalMs = 11.25
            if self.master.Connect(self.myPeerDevice.DeviceAddress,conn_params):
    

    Step 2. Disable packet receipt notification:

    Open "\Master Control Panel\3.10.0.14\lib\nordicsemi\dfu\dfu_transport_ble.py", go to line ~109 and change the packet number from '10' to '0'.

    If I remember correctly this should take about 10-15 seconds to upload the image with the above changes.

  • Tested the above changes and realized that the suggested connection interval will be too short when packet receipt notification is disabled (scheduling of flash store fails). It needs to be at least 20 ms on 51. However, by disabling the packet receipt notification I was able to upload s110 v.8.0.0 (87KB) in ~15 seconds.

    Are you using MCP v.3.10? Also, did you try to restart MCP after you did the change?

Reply
  • Tested the above changes and realized that the suggested connection interval will be too short when packet receipt notification is disabled (scheduling of flash store fails). It needs to be at least 20 ms on 51. However, by disabling the packet receipt notification I was able to upload s110 v.8.0.0 (87KB) in ~15 seconds.

    Are you using MCP v.3.10? Also, did you try to restart MCP after you did the change?

Children
No Data
Related