This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can PCA10028 can be DFU Controller?

I'm wondering if it can be work as an DFU Controller (where sends zip Distribution Packet) not as an DFU Target.

I'm trying to make Each of the NRF51 Cores to be updated and make update each other.
For example, there are Node A, B, C, And The NRF Connect App (Initial DFU Controller.).

  1. NRF Connect APP (DFU Controller) -> DFU-OTA -> Upgrades Node A's (DFU Target) App.
  2. Node A's app (DFU Controller) -> DFU-OTA -> Upgrades Node B's (DFU Target) App.
  3. Node B's app (DFU Controller) -> DFU-OTA -> Upgrades Node C's (DFU Target) App.

In this point of view I'm really curious about "can PCA10028 can be DFU Controller?".
+ It can be, How can I do like this?

Do I have to get an External Flash memory (as an peripheral) to contain ZIP File? (in No.2,3 Step)
(Real Problem is, If i would like to DFU, I need to prepare an Zip Distro Packet. Does pca10028 or Softdevice 130 has an FileSystem?)

I'm really having problem with this thought right now. I guess it can be done, but I don't know how.

  • Hi Daniel,

    Yes, it should be possible to update an initial node A, and then have node A update another node B, which in turn updated node C etc. However, we do not have an example showing how to implement a DFU controller on a peripheral node as this is usually done by a central device like a smartphone. You will have to modify the bootloader to connect to another node after it has received its firmware and re-send the firmware to the other node. I suggest that you look into the Bootloader library documentation, found here.

    You should not need to have external flash to hold the firmware, unless the application you want to update is very large.

    You can generate distribution packets using our nRF Utility Tool, nrfutil, which can be found here our GitHub page.

    Best regards

    Bjørn

Related