Doing an FOTA via ble using a Nordic Development kit

Hi,

I have a Nordic Development Kit (NDK) that is connected to a Raspberry Pi via USB.The NDK uses Nordic UART Service Central (NUS_C) to connect to a nearby Nordic Device (Test Unit) and Send Data. The Test Unit has NUS Peripheral and DFU service. Using NRF connect for Andriod, I have successfully done a FOTA over ble on the Test Unit .

My question is: is there any service I can add to the NDK that will allow me to do the FOTA using the NDK itself?

the NDK is NRF52832 module (PCA10040)
the Test Unit is also a NRF52832.

Note : I Know that I can use a Nordic USB Dongle and NRF Connect for PC for the Task, But I want to add the FOTA Feature on The NDK.
The NDK is successfully able to Connect and Transmit Data using NUS. The connection Filters are set to Mac-address.

Parents Reply Children
  • Hi,

    We are currently using a seperate PCA10059 Dongle with ble_connectivity.hex that can do an FOTA on our Test Unit. Is it possible to get the Source code of the file so that we can integrate the FOTA service on our NDK.

    Regards,
    Sigurd Hellesvik

  • Sigurd Hellesvik said:
    You want to send the firmware update from one DK (DFU client) to another DK (DFU server), right?

    Can you answer this?

    Eucaristo said:
    We are currently using a seperate PCA10059 Dongle with ble_connectivity.hex

    ble_connectivity.hex is just a front-end for Bluetooth Low Energy, and does not have any built-in FOTA functionality.
    The FOTA is handeled in pc-ble-driver, which is written in python.
    So the easiest way to do what I think you want would be to implement your own solution, as described

    Sigurd Hellesvik said:

    Regards,
    Sigurd Hellesvik

  • Hi,

    Apologies for the Confusion.

    You want to send the firmware update from one DK (DFU client) to another DK (DFU server), right?

    No. The Firmware to be sent  is stored in Raspberry Pi. The Raspberry Pi is connected to the NDK via SPI (or USB). The Raspberry Pi will control all operations of the NDK, including the Initiating the FOTA process(which is currently on a separate DK Dongle) .

    ble_connectivity.hex is just a front-end for Bluetooth Low Energy, and does not have any built-in FOTA functionality.
    The FOTA is handeled in pc-ble-driver, which is written in python.

    We want to add the front-end for Bluetooth Low Energy functionality in the NDK, which the Raspberry pi can initiate.

    Whatever the pc-ble-driver plus the ble_connectivity.hex  does we want that connectivity hex part to be integrated on our NDK side. Please Suggest how to proceed with this integration.


    Regards,
    Eucaristo Mendes

  • Eucaristo said:
    Whatever the pc-ble-driver plus the ble_connectivity.hex  does we want that connectivity hex part to be integrated on our NDK side. Please Suggest how to proceed with this integration.

    For this you would need to manually implement sending FOTA images in the nRF5 SDK, as explained below.
    Then you must decide how you want to transfer the file from the Raspberry Pi to the dongle.

    This will be a lot of work.
    As long as you do not have memory limitations on the raspberry pi, I suggest that you use the raspberry pi to host pc-ble-driver, and then just run ble_connectivity.hex on the dongle. As far as I can see, this will do the exact same thing as what you are trying to do.
    See Connection 3B+ ARMv8 and NRF 52840 Dongle  for how to use the pc-ble-driver with a raspberry pi.

    Regards;
    Sigurd Hellesvik

  • Hi,

    As long as you do not have memory limitations on the raspberry pi, I suggest that you use the raspberry pi to host pc-ble-driver, and then just run ble_connectivity.hex on the dongle.

    I am already running my custom firmware that i use to connect and communicate to the Test Device. So wouldn't I have to flash the NDK every time i want a FOTA and then flash my own firmware?

    I have multiple Devices that i will be using as test Device so it would be impractical for me to flash the NDK every time.

    Regards,
    Eucaristo Mendes

Related