DFU OTA from Raspberry Pi 3 Model B to NRF52

We are presently using Raspberry Pi 3 Model B to observe BLE packets coming from sensors that have NRF52.

We are also able to do DFU OTA using the Nordic NRF52840 USB dongle working in conjunction with the NRF Connect app in a Mac OSX environment.  

We are very interested in being able to do DFU OTA from the Raspberry Pi to the NRF52 sensors.

In this direction, we came across this python codebase, found in Github: https://github.com/chiararuggeri/nrf52-OTA-BLE-Linux.

I'm also using the Android NRF Connect app to sniff the packets from the sensor and in this case I have the following capture:

So, now I have assigned "FE59" to CCCD in this code (gui.py in particular line# 86),

as well as assigning the above shown Buttonless DFU UUID 128-bit value to the DFU_Control_Point (gui.py in particular line# 87).

I also assigned to DFU_Packet the value "8ec90002-f315-4f60-9fb8-838830daea50" (per Infocenter docs) and DFU_Version = "" (as this is empty and not mentioned in Infocenter docs).

So, upon launching and clinking "Scan" the sensor is found as shown below:

But the next one, when I click on the sensor MAC address, the DFU Service is found after connecting but there's an error, shown by the console printouts below:

Could you please point where in the Infocenter specifically are the expected responses for the DFU Init and the proceeding sequences?


Has anyone tried to port the above python Github codebase to target the newer NRF52840 and or newer NRF52 chips?

Thanks in advance for your help.