Firmware Update using Uno Platform for mobile app development - nRF52840

Hello, 

Our company has developed hardware using the nRF52840.  We are using nRF Connect SDK 3.2.1. We have a developer that has been working on creating a mobile app using the Uno Platform to create an Android and iOS app. https://platform.uno/ios-and-android/

The application can interact with our hardware.  

Our nRF52840 hardware application has mcuboot enabled and I can perform firmware updates using Nordic’s NRF Connect Device Manager App for mobile (Android and iOS).  
I have also been to use the AuTerm PC application to perform firmware updates.

We need to implement firmware updating (over BLE) in our mobile app.  If anyone has experience with implementing firmware updating in a Uno platform app, I would welcome any suggestions or guidance. 

Thanks. 

  • The Nordic AI responded with the following:

     

    Your use case — BLE FOTA on nRF52840 with MCUboot using the nRF Connect SDK — is well-supported. The underlying protocol is SMP (Simple Management Protocol) over BLE, which is what the nRF Connect Device Manager app uses. [nRF Connect Device Manager]

    For integrating this into a custom mobile app, Nordic's recommended approach is to use the open-source libraries that power the nRF Connect Device Manager app:

     

        Android: Android-nRF-Connect-Device-Manager — the source code is publicly available on GitHub. [nRF Connect Device Manager]

        iOS: IOS-nRF-Connect-Device-Manager — similarly open-source. [nRF Connect Device Manager]

     

    These libraries implement the SMP protocol for firmware transfer and are what Nordic officially points developers to when building custom apps that need DFU over BLE. [DFU OTA over BLE]

    Regarding Uno Platform specifically: The knowledge sources I have access to do not contain any information about integrating Nordic's DFU libraries with the Uno Platform. I cannot provide guidance on that specific combination.

    However, since Uno Platform targets Android and iOS natively, you may be able to:

     

        Use native library bindings (Uno supports calling native Android/iOS libraries) to wrap the Nordic Android and iOS SMP libraries mentioned above.

        Alternatively, implement the SMP protocol directly over BLE using Uno's BLE APIs, referencing the open-source Nordic libraries as a protocol reference.

     

    For Uno Platform-specific integration questions, I'd recommend reaching out to the Uno Platform community or Nordic's DevZone where community members may have relevant experience.

    The DFU package your device generates (dfu_application.zip) is the file that needs to be transferred via the SMP protocol to the device. [A/B with MCUboot]

  • Hi Josh, 

    That's correct. 

    I hope the following libraries for the nRF Connect Device Manager app can help. 

    https://github.com/nordicsemi/Android-nRF-Connect-Device-Manager 

    https://github.com/nordicsemi/IOS-nRF-Connect-Device-Manager 

    For Uno Platform-specific integration issues, please contact https://platform.uno/support/ for help. 

    Regards,
    Amanda H.

Related