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

DFU Peripheral to Central?

Hi all

Is possible have DFU in the peripheral side to update a Central app program? Is there example doing it?

I have a Peripheral (custom board nRF52 dongle) connected to a PC, and I want to update the application program in the Central side (remote battery powered) using DFU.

Is possible to do a DFU Periphera-to-Central role instead of Central-to-Peripheral?

Thanks

  • I would need to have a little more information about your peripheral. How many peripheral do you have ? How often do you need to connect and exchange data between the peers ?

    Staying in RX mode for one second consume way more data than advertising in one second, even with shortest advertising interval.

    Note that when advertising, the peripheral doesn't send data all the time, the minimum normal advertising interval is 20ms and the device only stay up about 4ms to send data before it sleeps the rest of the time (16ms). As in the power calculator tool, you can easily find the average current consumption is only about 400uA compare to 7-8mA when staying in RX mode constantly.

  • Hi Hung,

    I have only one peripheral advertising all the time (it is attached to a PC), and I have a variable number the remote central devices monitoring the temperature and self-battery state. Every 10 mins each central wake up from system_off starts to scan for 1 sec for a connectable peripheral and sent the temperature and seft battery level over BLE.

    Setup:

    Advertising interval 20ms

    Peripheral power 4dBm

    payload 10bytes

    battery 3v

    DCDC enabled on the Central side(remote)

    Connection every 10mins and scanning window for 1 second

    Connection event: send the payload and close the connection as quicky as possible.

    The central scan for 1 sec, in a testing scenario the time is lower around 50-100ms to detect the peripheral and send the payload and it goes to system off.

    My concern is if in this setup the battery can actually have a longer life. If it is otherwise I could switch the central and peripheral roles

    Thanks

  • It could consume more power with your setup. Also as for now we only support peripheral to connect to one central at a time, so if there are a central scanning when your peripheral already connect to another central then it won't be able to connect. The central, on the other hand, can connect to several (8) peripherals at a time.

    I would suggest you to switch the central and peripheral role. This way you can also keep the role when you do DFU.

  • Hi Hung,

    Thanks for the suggestion I am going to switch the roles for testing the current consumption :)

    Cheers

Related