DFU of nRF52832 operating as a central

I am using an nRF52832 device as a central gatt server, and I am trying to perform an OTA DFU on it. However when I use the nrf connect app as a peripheral, I can't seem to use it as a gatt client. Is there some way of me performing this DFU with existing nordic tools?

Thanks

  • Hi Aman, 

    Could you give us more information about the SDK you are using ? 

    Most of our solution requires the DFU target to have the DFU service on the target. This mean you may need to implement the GATT server to receive the image on the central. This way you don't need to re-write the DFU master library on the phone. 

  • Hi Hung,

    I am using the nRF5 SDK v16.0.0. I already have a GATT server implemented on the central with the DFU service, but need a tool capable of connecting with it and sending the DFU.

    Thanks,

    Aman

  • Hi Aman, 

    Could you explain a little bit more about the GATT server on the central ? What did you implement there ? Did you also implement all the feature of the bootloader ? For example receiving image, replacing image ? 
    Or it's the DFU buttonless service you implemented ? 

    If it's the case then the central application will need to reboot and switch to bootloader mode when receive the DFU command. After that the bootloader will start acting as a peripheral and the phone will have to switch role to become central and send the image like a normal DFU session. In this scenario, the only thing you need to implement is to add the DFU command code to the app on the phone to tell the central application to switch to DFU mode. It's basically 2 commands, first is to enable indication, and second is to write 0x01 to the DFU buttonless service. 

Related