Central SMP Client and DFU upgrade from other MCU

Hi,

I am using Nordic nRF52833 as a peripheral which uses mcuboot and DFU over BLE. I can easily upgrade firmware on that device by connecting to it with nRF Connect mobile app via SMP service. 

On the other hand due to some legacy reasons I have another device with STM32F and PAN1026 BLE module which role is central. Now I would like to implement handling of SMP protocol and send firmware upgrades to peripheral device with nRF52833. So I would like to implement something similar that is already on Nordic's Android app on my device with STM32F. I am already able to connect with PAN1026 and do some basic stuff. As I understand I will have to handle upgrade files and send data chunks over BLE SMP service to nRF52833 peripheral. 

Where should I start? Is there any existing example to enable upgrades not only from mobile app but from any other platform? 

Thank you in advance!

  • Hello,

    Please take a look at the central_smp client sample. It demonstrates how to update a device that runs SMP_server. The way you implement this on your non-Nordic device depends on its operating system and specific setup. This sample is not official but can serve as a starting point. It shows how DFU (Device Firmware Update) can be implemented between two Nordic devices using SMP_client and SMP_server.

    Best regards,

    Abhijith

  • Hi, 

    Thanks for your reply.

    I checked out that too and it explicitly says: "This sample does not provide the means to program a device using DFU. It demonstrates the communication between SMP Client and SMP Server." Basically it's "blank" project.

    I agree it could be a good starting point but as you said it's between two Nordics. I am looking for a way to have implementation on other MCU and I guess that I will need to port some part of the code etc. Is there information about the  API available for (I am guessing) commands like eg. Init, Update, End?  I am not familiar with nRF Connect sources for Andorid but would there be any useful information for easier porting to other MCU?

    Thank you and have a nice day.

  • Hello,

    I apologize, but we don't have any references or official samples demonstrating OTA DFU from another MCU. Personally, I haven't worked with STM and PAN modules, so I can't provide insights on the implementation side. I regret not being able to offer more assistance on this matter. I would also suggest reaching out to the STM community, as they might have valuable insights or leads regarding this topic.

    Kind regards,

    Abhijith

Related