<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66013/fuota-firmware-update-over-the-air-of-nordic-controller-nrf52840-using-azure-as-host</link><description>I want to perform FUOTA(Firmware update over the air) for my Nordic controller NRF52840 using Azure as host. 
 Please suggest how to do this .</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Sep 2020 14:22:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66013/fuota-firmware-update-over-the-air-of-nordic-controller-nrf52840-using-azure-as-host" /><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/271373?ContentTypeID=1</link><pubDate>Thu, 24 Sep 2020 14:22:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c4fc563-4bcf-41f7-b56d-1ddfb3eabd34</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Nordic does not provide a ready made example, nor do I have any. There are several threads discussing this before so you could look on this forum, for instance at &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46994/background-dfu-application-source-code/187060#187060"&gt;this post&lt;/a&gt;, which has an unofficial example.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/271303?ContentTypeID=1</link><pubDate>Thu, 24 Sep 2020 11:19:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b77cded6-4900-4885-bca9-2a13b133e70c</guid><dc:creator>Abhishek8585</dc:creator><description>&lt;p&gt;Hi ,&lt;/p&gt;
&lt;p&gt;I went through the links above but they don&amp;#39;t look of much help , can you please give some more details on how to proceed after writing the FW on flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We are using SDK v17 and chip nrf52840 .&lt;/p&gt;
&lt;p&gt;Any help would be nice.&lt;/p&gt;
&lt;p&gt;thanks .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/271074?ContentTypeID=1</link><pubDate>Wed, 23 Sep 2020 11:59:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:739bc3a0-7a9f-4223-9d66-05d750c5026d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I see. There could be another issue. Referring to&amp;nbsp;&lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py"&gt;dfu_transport_serial.py&lt;/a&gt;&amp;nbsp;and this code:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;    def __ensure_bootloader(self):
        lister = DeviceLister()

        device = None
        start = datetime.now()
        while not device and datetime.now() - start &amp;lt; timedelta(seconds=self.timeout):
            time.sleep(0.5)
            device = lister.get_device(com=self.com_port)

        if device:
            device_serial_number = device.serial_number

            if not self.__is_device_in_bootloader_mode(device):
                retry_count = 10
                wait_time_ms = 500

                trigger = DFUTrigger()
                try:
                    trigger.enter_bootloader_mode(device)
                    logger.info(&amp;quot;Serial: DFU bootloader was triggered&amp;quot;)
                except NordicSemiException as err:
                    logger.error(err)


                for checks in range(retry_count):
                    logger.info(&amp;quot;Serial: Waiting {} ms for device to enter bootloader {}/{} time&amp;quot;\
                    .format(500, checks + 1, retry_count))

                    time.sleep(wait_time_ms / 1000.0)

                    device = lister.get_device(serial_number=device_serial_number)
                    if self.__is_device_in_bootloader_mode(device):
                        self.com_port = device.get_first_available_com_port()
                        break

                trigger.clean()
            if not self.__is_device_in_bootloader_mode(device):
                logger.info(&amp;quot;Serial: Device is either not in bootloader mode, or using an unsupported bootloader.&amp;quot;)

    def __is_device_in_bootloader_mode(self, device):
        if not device:
            return False

        #  Return true if nrf bootloader or Jlink interface detected.
        return ((device.vendor_id.lower() == &amp;#39;1915&amp;#39; and device.product_id.lower() == &amp;#39;521f&amp;#39;) # nRF52 SDFU USB
             or (device.vendor_id.lower() == &amp;#39;1366&amp;#39; and device.product_id.lower() == &amp;#39;0105&amp;#39;) # JLink CDC UART Port
             or (device.vendor_id.lower() == &amp;#39;1366&amp;#39; and device.product_id.lower() == &amp;#39;1015&amp;#39;))# JLink CDC UART Port (MSD)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can see that nrfutil looks at the USB vendor ID to check if the device is in DFU mode, and if not it attempts to trigger DFU mode (that only works via the nRF52840&amp;#39;s USB interface though). If you are not using a J-Link debugger as USB-UART bridge nrfutil will assume the device is not in DFU mode. So you either need to use a different debug probe, or (probably more relevant), modify&amp;nbsp;__is_device_in_bootloader_mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270930?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2020 16:49:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c8eba33-1c9e-4179-9b09-e8fac275ac28</guid><dc:creator>rajAsthana</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;gt;&amp;gt;&lt;/b&gt; I am uploading&amp;nbsp;installSDKdirectory\&lt;strong&gt;examples\dfu\secure_bootloader\pca10056_uart&lt;/strong&gt; this code to my nrf52 device, After uploading this code led 4 is continuously&amp;nbsp; on.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt;UART communication is working well in normal condition without bootloader.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt;yes i&amp;nbsp;configured the bootloader UART in the same way as the application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270862?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2020 13:16:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad40d3a6-eaee-415d-b522-7554f989b80b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There may be an issue with nrfutil, as you should not normally get &lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/e940818673ef4765121fa92452987506c769374b/nordicsemi/dfu/dfu_trigger.py#L163"&gt;&amp;quot;No trigger interface found&amp;quot;&lt;/a&gt; for serial DFU, as that is USB specific (where there is a USB DFU&amp;nbsp;trigger mechanism). I do not believe that is the root cause of the problem, though. It looks like there is communication issues, so I wonder if the nRF device is in bootloader/DFU mode?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can you confirm that the nRF is in bootloader mode, for instance using some leds in the bootloader or also using the debug bootloader with RTT logging?&lt;/li&gt;
&lt;li&gt;Can you confirm that the UART communication is working normally, when not in the bootloader, so that we know that the HW&amp;nbsp;configuration and USB-UART bridge etc. is working?&lt;/li&gt;
&lt;li&gt;Have you configured the bootloader UART in the same way as the application where you have (hopefully) verified that the setup works? (specifically the pin assignments and baud rate in sdk_config.h, which should be the same in the bootloader and application).&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270802?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2020 11:04:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51ab432e-9b9b-4cce-b8dc-0f9b3bb84d92</guid><dc:creator>rajAsthana</dc:creator><description>&lt;p&gt;Hi Einar ,&lt;/p&gt;
&lt;p&gt;As suggested in the link I disabled the fc(flowcontrol), But still I am facing the same issue, Below is the command &amp;amp; log I am getting atfer issuing command for serial DFU:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Command issued:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;nrfutil dfu serial -pkg hrs_application_s140.zip -p COM19 -b 9600 -fc 0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-----------------------------LOG_START--------------------------------&lt;/p&gt;
&lt;p&gt;2020-09-22 03:33:13,686 No trigger interface found for device with serial number: 6&amp;amp;2d471516&amp;amp;0&amp;amp;4, Product ID: 0x7523 and Vendor ID: 0x1A86&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\runpy.py&amp;quot;, line 194, in _run_module_as_main&lt;br /&gt; return _run_code(code, main_globals, None,&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\runpy.py&amp;quot;, line 87, in _run_code&lt;br /&gt; exec(code, run_globals)&lt;br /&gt; File &amp;quot;C:\Users\raj\AppData\Local\Programs\Python\Python38-32\Scripts\nrfutil.exe\__main__.py&amp;quot;, line 7, in &amp;lt;module&amp;gt;&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 829, in __call__&lt;br /&gt; return self.main(*args, **kwargs)&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 782, in main&lt;br /&gt; rv = self.invoke(ctx)&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 1259, in invoke&lt;br /&gt; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 1259, in invoke&lt;br /&gt; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 1066, in invoke&lt;br /&gt; return ctx.invoke(self.callback, **ctx.params)&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py&amp;quot;, line 610, in invoke&lt;br /&gt; return callback(*args, **kwargs)&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\__main__.py&amp;quot;, line 1055, in serial&lt;br /&gt; do_serial(package, port, connect_delay, flow_control, packet_receipt_notification, baud_rate, serial_number, True,&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\__main__.py&amp;quot;, line 970, in do_serial&lt;br /&gt; dfu.dfu_send_images()&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu.py&amp;quot;, line 127, in dfu_send_images&lt;br /&gt; self._dfu_send_image(self.manifest.application)&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu.py&amp;quot;, line 88, in _dfu_send_image&lt;br /&gt; self.dfu_transport.open()&lt;br /&gt; File &amp;quot;c:\users\raj\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py&amp;quot;, line 214, in open&lt;br /&gt; raise NordicSemiException(&amp;quot;No ping response after opening COM port&amp;quot;)&lt;br /&gt;pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port&lt;/p&gt;
&lt;p&gt;-------------------------- LOG_END --------------------------------&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For reference I have attached my hardware connections diagram &amp;amp; snapshot of Device Manager&amp;nbsp; on my pc.&lt;img alt="hardware Connections" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/IMG_5F00_20200922_5F00_160102.jpg" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/IMG_5F00_20200922_5F00_160203.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am using USB to TTL convertor to connect my board to my PC &amp;amp; the com generated is COM19,Connection details are listed below&lt;/p&gt;
&lt;p&gt;Board (GND) &amp;lt;---&amp;gt; USB to TTL convertor (GND) Brown wire&lt;/p&gt;
&lt;p&gt;Board(Tx(pin no 6))&amp;nbsp; &amp;lt;---&amp;gt;&amp;nbsp;&lt;span&gt;USB to TTL convertor (RX)&amp;nbsp; Red wire&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Board(Rx(pin no 8))&amp;nbsp; &amp;lt;---&amp;gt;&amp;nbsp;USB to TTL convertor (TX)&amp;nbsp; Blue wire&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270759?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2020 09:00:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60c9f755-0fda-4c03-ab09-df36b3f2bc48</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Raj,&lt;/p&gt;
&lt;p&gt;There is some communication error, though it could be several things. You could try to change the flow control configuration and see if that helps, as suggested &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/64270/how-to-upgrade-my-nrf52810-over-i2c-or-uart-by-using-a-nrf52832-as-a-bridge/265404#265404"&gt;here&lt;/a&gt;. If that does not work, could you try to verify that the device is in DFU mode? One good way to check this (and other DFU problems) is to use a debug bootlaoder build with RTT logging, and observe the RTT log.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270718?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2020 05:46:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4553bed8-5547-407f-8900-b68d0921ebf5</guid><dc:creator>rajAsthana</dc:creator><description>&lt;p&gt;Hi Einar&lt;/p&gt;
&lt;p&gt;I am trying to perform DFU over serial UART of my board NRF52840.&lt;/p&gt;
&lt;p&gt;whenever I am giving the command to perform serial DFU using nrfutil, I got the error given below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2020-09-21 22:39:52,824 No trigger interface found for device with serial number: 6&amp;amp;2d471516&amp;amp;0&amp;amp;4, Product ID: 0x7523 and Vendor ID: 0x1A86&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The command I isuued to for serial DFU is mentioned below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nrfutil dfu serial -pkg hrs_application_s140.zip --port COM19 -b 115200&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Raj&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270307?ContentTypeID=1</link><pubDate>Fri, 18 Sep 2020 11:08:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad1a2773-5c79-4a19-8939-8f8cfb2c7b3d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Abhishek8585"]But can i write a file in flash at a particular address?[/quote]
&lt;p&gt;Yes, as long as you have unused flash space you can write to it as you like.&lt;/p&gt;
[quote user="Abhishek8585"]If possible after that i can instruct DFU module to start FW update using it?[/quote]
&lt;p&gt;Yes. This is what is often &lt;a href="https://devzone.nordicsemi.com/search?q=background%20dfu"&gt;referred to as background DFU in this forum&lt;/a&gt;. There are no official examples for it though, but the IoT documentation in older SDKs (up to SDK 16) describes &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/background_dfu_application.html"&gt;one possible way to do it&lt;/a&gt;, and you can find several threads about it on DevZone.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270137?ContentTypeID=1</link><pubDate>Thu, 17 Sep 2020 14:04:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3751d27-1cf3-4d4d-a13e-55f42c1f2170</guid><dc:creator>Abhishek8585</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;But can i write a file in flash at a particular address?&lt;/p&gt;
&lt;p&gt;If possible after that i can instruct DFU module to start FW update using it?&lt;/p&gt;
&lt;p&gt;ty ..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270120?ContentTypeID=1</link><pubDate>Thu, 17 Sep 2020 13:18:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55a14a15-8e45-43a9-a22b-499074be3e38</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Nordic does&amp;nbsp;not provide anything like that, unfortunately. I suggest you refer to what is there in the SDK and accompanying tools and see how that can be implemented for your needs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270118?ContentTypeID=1</link><pubDate>Thu, 17 Sep 2020 13:15:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe499593-979b-4190-a577-451e74857697</guid><dc:creator>Abhishek8585</dc:creator><description>&lt;p&gt;Hi Einar ,&lt;/p&gt;
&lt;p&gt;If i have some REST API through which i can download the firmware file on nordic52840 , can i perform update after that ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FUOTA(Firmware update over the air) of Nordic controller NRF52840 using Azure as host.</title><link>https://devzone.nordicsemi.com/thread/270094?ContentTypeID=1</link><pubDate>Thu, 17 Sep 2020 12:43:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2bf7667-9fb1-455e-a000-25d83f08fa7a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Nordic provides DFU solutions for the nRF52 devices, but not all the way up to the cloud. If you are using the nRF5 SDK, then you should look at the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/ble_sdk_app_dfu_bootloader.html"&gt;bootloader example&lt;/a&gt; and related DFU documentation. This and accompanying tools handles the upgrade on the nRF side, as well as image generation and upgrades from mobile phones or PC. But it is up to you to integrate this in your own system. Typically by having a mobile app which acts as DFU master (based on Nordic DFU libraries) and which is also integrated with your cloud service.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>