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

Choosing Nrf51 vs Nrf52 for buttonless secure DFU and handling multiple connection

We have these Dev Kit Nrf52 and also Nrf51 Bluetooth Smart Beacon Kit. For our application and for the simplest user experience we would like to benefit from update via OTA. And for a design and Security point of view we wonder about the interest or not to have a switch to trigger the DFU mode in order to update the application and possibly the associated SoftDevice.

From what I see in the SDK_12.2.0 there are examples of DFU / BOOTLOADER_SECURE and EXPERIMENTAL_BLE_APP_BUTTONLESS_DFU. But knowing that from a component availability point and short term interest we maybe would like to leave on nRF51822 IC revision 3.

Questions:

By taking into consideration these constraints of secure updating of our device and the fact that we may need a buttonless, there would be aspects that would favor the Nrf52 compared to Nrf51? And why BLE_APP_BUTTONLESS_DFU is considered as EXPERIMENTAL?

And the same question in the context of further uses: with Advertising to other devices (i.e.: phones or computer) also when in connection with one ; and able for handling ANCS/sending HID from multiple connected clients device with whitelisted connections?

Thank you for your support

  • Hi trdop,

    As long as you go for a nRF51822 variant that have 256kB Flash and 32kB RAM you should not have any issues running the Secure bootloader. You then have 127KB left for the application after flashing the SoftDevice and the bootloader. This is enough to perform a Bootloader+SoftDevice update, dual bank update of application up to 63kB and single bank up to 127kB.

    Q1:Whether you should go for the nRF51 or nRF52 is dependent on your application, e.g. do you plan on suppoting BLE 5 in the future, do you need an NFC interface, do you need the extra processing of the M4 with the Floating point unit the additional Flash and RAM of the nRF52 ...etc. If you already know that your application is going to be larger than 63 kB and dual bank updated of your application is critical then you have to go for the nRF52. It all boils down to your specifications.

    Q2:The ble_app_buttonless example is labeled as experimental because we do not have full test coverage on this example. Consequently, there are a couple of known issues with this example in SDK v12.2.0, see this post which summarizes all the known issues with SDK v12.x.x.

    Q3: How many concurrent connections do you need? If is less than eight, then I think both should be able to do it.

  • Hi Bjørn,

    Thanks for the reply with different point of views, of course dual bank will be important to do it in all serenity.

    In relation to question 1: Not necessarily need the BT5 but feeling that NFC interface will be kind of interesting for pairing.

    Understand for question 2, in my case, without the dual bank, for the moment I had no problem, with a lot of updates OTA (SDK v12.2.0)

    For the question 3: Indeed it would be possible that there would be more than 15 concurrent connections.

    Thank you for your return

  • Q1: If NFC is interesting then you should go for the nRF52.

    Q2: Happy to hear, that you're not seeing any issues with OTA DFU in SDK v12.2.0. The issues I referred to only concern the buttonless feature, not the actual DFU library. The buttonless issues have all been solved in SDK v13.0.0.

    Q3: The latests SoftDevice for the nRF52, S132 v4.0.2 supports up to 20 concurrent connections, read more about the features here. Another reason for using the nRF52.

Related