Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

OTA/DFU of Custom nRF9160, nRF5340, nRF52833 hardware

Hello, 

We are designing a multiprocessor single-board solution that uses the above Nordic parts. I am working on an OTA solution to update all of the above MCUs. In our design, the nRF9160 is used to publish data to AWS and perform GNSS location reporting. It is also responsible for retrieving firmware updates from AWS. I was able to successfully perform the AWS FOTA for the nRF9160. The challenge is how to update the firmware for the other two MCUs (nRF5340 and nRF52833). The hardware architecture is the following:


nRF9160 -- UART -- nRF5340 -- UART -- nRF52833 (Each of these MCUs have external SPI flash memory interfaced to it) 

The nRF9160 and nRF5340 firmware projects are developed using the Nordic Connect SDK v2.4.0 while the nRF52833 firmware is a legacy product developed using the nRF52 SDK v17.1. 

I can likely use the Download Client library on the nRF9160 to receive the nRF5340 and nRF52833 DFU packages from AWS. From that point onwards, I'm not sure how to update the nRF5340 and nRF52833. Many thanks for any suggestions. 

Parents
  • Hello,

    We don't have any ready made here, but you may find the last answer here useful:
    https://devzone.nordicsemi.com/f/nordic-q-a/101208/doing-an-fota-via-ble-using-a-nordic-development-kit/434342 

    Personally I would look into the possibility to route the UART directly from the nRF9160->nRF52833 for DFU, maybe you have some spare gpio that you can use to inform which of the nRF5340 or nRF52833 should have recepetion of the UART. That said, it should be possible to just have the nRF5340 to forward all traffic between the two UARTs.

    Kenneth

  • Hi Kenneth, many thanks for the suggestions and feedback. Unfortunately, the board design has been finalized so the re-routing of the UART is not an option at this time. However, could I get your opinion on this configuration?

    Updating nRF9160

    AWS -> nRF9160 using FOTA

    Updating nRF5340

    AWS -> nRF9160 (using Download Client) -- UART --> nRF5340 (using SMP Server/MCU Mgr over UART)

    Updating nRF52833

    As I was mentioning, the nRF52833 is a legacy product and can be updated using Nordic's DFU mobile application. At this point in time, there is no urgency in getting the nRF9160 to update the device as we have the phone app as a backup plan. However, is there a DFU Controller application source code available for the nRF5340? As was mentioned, the nRF52833 firmware was developed using the nRF52 SDK (ie non-Zephyr). This is what I was thinking:

    AWS -> nRF9160 (using Download Client) -- UART --> nRF5340 (using SMP Server/MCU Mgr over UART) -- BLE --> nRF52833 (using BLE DFU Controller on the nRF5340)

    Many thanks!

Reply
  • Hi Kenneth, many thanks for the suggestions and feedback. Unfortunately, the board design has been finalized so the re-routing of the UART is not an option at this time. However, could I get your opinion on this configuration?

    Updating nRF9160

    AWS -> nRF9160 using FOTA

    Updating nRF5340

    AWS -> nRF9160 (using Download Client) -- UART --> nRF5340 (using SMP Server/MCU Mgr over UART)

    Updating nRF52833

    As I was mentioning, the nRF52833 is a legacy product and can be updated using Nordic's DFU mobile application. At this point in time, there is no urgency in getting the nRF9160 to update the device as we have the phone app as a backup plan. However, is there a DFU Controller application source code available for the nRF5340? As was mentioned, the nRF52833 firmware was developed using the nRF52 SDK (ie non-Zephyr). This is what I was thinking:

    AWS -> nRF9160 (using Download Client) -- UART --> nRF5340 (using SMP Server/MCU Mgr over UART) -- BLE --> nRF52833 (using BLE DFU Controller on the nRF5340)

    Many thanks!

Children
Related