Firmware transfer over BLE for another MCU

Hi,

For our application, we need to transfer binary (.bin) file from Phone and nRF5340 over BLE and store it into the SD card. Later, another MCU will read the file and update its firmware.

I went through two other queries query_1 and query_2, but those are for transferring data over UART. However, I want to store the file first on an external SD card connected to the SoC, rather than directly transmitting over UART.

I cannot find any example for the same in nRF Connect SDK V2.0.0. Please let me know if I can use any example or a can follow a procedure.

Thanks

Parents
  • Hi Shubham

    Sigurd asked me if I could take a look at this, and what I think might be happening is that your custom mobile app doesn't check or report back when an MTU/connection parameter update is completed, and thus the nRF52 might think the MTU update is already ongoing and makes it fail. I think you need to see how the MTU update request is handled in your mobile app exactly.

    In nRF Connect for Android there is not a specific "mode" to send large amounts of data, but you could try using either the GATT throughput service or the Bluetooth standard object transfer service.

    Best regards,

    Simon

  • Hi Simon,

    Thanks for the update.

    I think you need to see how the MTU update request is handled in your mobile app exactly.

    I will check with our app developer for the same and will update here in case need some help in that regard.


    what I think might be happening is that your custom mobile app doesn't check or report back when an MTU/connection parameter update is completed, and thus the nRF52 might think the MTU update is already ongoing and makes it fail.

    However, I have a doubt here for our usecase with nRF5340, if you see the below logs appearing while using nRF connect Android app, MTU exchange is happening along with LE data length update.

    So, will only adding MTU update support to our app (if it is not happening) like using the method gatt.requestMtu(498); as mentioned here enough to for MTU and data length extension (DLE) updates?

    Or there's any other added method need to be used on mobile app side which is present in nRF connect mobile app and not in our custom app?

    Thanks,

    Shubham

Reply
  • Hi Simon,

    Thanks for the update.

    I think you need to see how the MTU update request is handled in your mobile app exactly.

    I will check with our app developer for the same and will update here in case need some help in that regard.


    what I think might be happening is that your custom mobile app doesn't check or report back when an MTU/connection parameter update is completed, and thus the nRF52 might think the MTU update is already ongoing and makes it fail.

    However, I have a doubt here for our usecase with nRF5340, if you see the below logs appearing while using nRF connect Android app, MTU exchange is happening along with LE data length update.

    So, will only adding MTU update support to our app (if it is not happening) like using the method gatt.requestMtu(498); as mentioned here enough to for MTU and data length extension (DLE) updates?

    Or there's any other added method need to be used on mobile app side which is present in nRF connect mobile app and not in our custom app?

    Thanks,

    Shubham

Children
No Data
Related