How to implement OTA update on other ble central device

Hi,

I have a peripheral device that running on nrf5340 and can be updated via  MCUMGR SMP. i tested it via Device Manager application and it is working.

My question is:

How can i implement or use some library in order to run this functionality on my other ble device that is central.

Thanks.

  • Hello,

    I think this guide is the closest we get:

    Add DFU support to your application

    But this is basically what you already have up and running (peripheral that can be updated.

    We don't have anything that can update Bluetooth Low Energy Centrals at this point in time (We never did, but in the old nRF5 SDK then the image was transferred when the bootloader was running, so you could just put the device in DFU mode, and it would act as a peripheral). 

    You need to look into one of the two options, and try to determine which one is the easiest to implement:

    1: Make the device act as a peripheral for DFU purposes. Perhaps you can have one service that tell your application to start advertising with the DFU service, like your peripheral does.

    2: write something that can tranfer the image to your central, and then do what the SMP service does when the image is transferred. 

    Best regards,

    Edvin

  • Hi,
    I have new peripheral device nrf 53 running bootloader with SMP nrf sdk 1.7.0
    I need an option to update him from other ble device(not application).

    My question about process of transferring data from central ble(for example nrf51) to other peripheral  device(nrf53).

    Thanks

  • We don't have any Device Firmware Upgrade (DFU) "Master" application samples for the nRFs. I.e. the device that will transfer the upgrade. We only support that in nRF Connect for iOS/Android, or through the mcumgr. I guess you could look into the mcumgr project on github and see how you could implement a central that does the same for the nRF51. 

    Best regards,

    Edvin

  • 2: write something that can tranfer the image to your central, and then do what the SMP service does when the image is transferred. 

    By central  ble board has an ability to download from web binary image and transfer it via ble to peripheral.
    Do you have a flow of what need to be done? or any documentation? 

  • Oh, I think I misunderstood the original question. Do you want to update the peripheral From a central, and you want to know what application that central needs to run? Is that the case, or do you want to update the central itself?

    Best regards,

    Edvin

Related