<?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>How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>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</link><description>Hello, 
 In our product we have the following hardware configuration that implies two MCUs : 
 - a nrF52832 with BLE capability and running as an I2C master 
 - a nrf52810 runing as an I2C slave (without any BLE connection possibility) 
 
 I can upgrade</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 24 Aug 2020 07:57:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" 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" /><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265894?ContentTypeID=1</link><pubDate>Mon, 24 Aug 2020 07:57:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c3fc756-6235-4669-9ef3-36bf704df3ee</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Aurel"]It seems that the CRC is wrong.[/quote]
&lt;p&gt;I see. But it is not clear why this is. Can you upload a log from the bootloader to see more of what has happened there? And perhaps also the full log from nRF Connect as text (see screenshot below)?&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-8a47d763978141128cf187e873b3d964/open_5F00_log.PNG" /&gt;&lt;/p&gt;
[quote user="Aurel"]Why&amp;nbsp;do i receive&amp;nbsp;141 bytes as size for the write ? It is not word align ?[/quote]
&lt;p&gt;I do not believe that is the problem. The 141 (0x8D) is the size of the object, not a start address.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265696?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2020 08:32:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:314f4bee-de07-4595-8fdd-11bc45154bf8</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Here is what i get from nrfconnect on my desktop :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1597998584204v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;It seems that the CRC is wrong.&lt;/p&gt;
&lt;p&gt;Why&amp;nbsp;do i receive&amp;nbsp;141 bytes as size for the write ? It is not word align ? Moreover i was thinking about slip&amp;nbsp;encode/decode but i don&amp;#39;t it is slip&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1597999293925v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265689?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2020 08:17:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcf6a02e-3ad3-46b3-8034-a7e04ff9a090</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I do not see any indication of what actually went wrong. Can you upload a detailed log from the DFU master (Phone or nRFConnect for desktop)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265617?ContentTypeID=1</link><pubDate>Thu, 20 Aug 2020 17:28:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ec656c5-26c7-4d83-9d78-f7de0d7fc6fd</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Hi Einar&lt;/p&gt;
&lt;p&gt;I succeeded to start the transfer from my BLE device through the nrf52832 until the nrf52810 but i&amp;#39;m stuck with the first write function.&lt;/p&gt;
&lt;p&gt;Here is my logs :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; nrf_dfu_settings: Backing up settings page to address 0x7E000.
&amp;lt;info&amp;gt; app: No firmware to activate.
&amp;lt;info&amp;gt; app: Boot validation failed. No valid app to boot.
&amp;lt;info&amp;gt; nrf_bootloader_wdt: WDT is not enabled
&amp;lt;info&amp;gt; app: Entering DFU mode.
&amp;lt;info&amp;gt; nrf_dfu_req_handler: ==&amp;gt; nrf_dfu_req_handler_req_process
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OBJ_TYPE_COMMAND
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OP_OBJECT_SELECT
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: RX_DONE 60
&amp;lt;info&amp;gt; app: RX_DONE 06
&amp;lt;info&amp;gt; app: RX_DONE 01
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 02
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 8D
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 82
&amp;lt;info&amp;gt; app: RX_DONE 9A
&amp;lt;info&amp;gt; app: RX_DONE 88
&amp;lt;info&amp;gt; app: RX_DONE 18
&amp;lt;info&amp;gt; app: RX_DONE C0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;info&amp;gt; nrf_dfu_req_handler: ==&amp;gt; nrf_dfu_req_handler_req_process
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: RX_DONE 60
&amp;lt;info&amp;gt; app: RX_DONE 02
&amp;lt;info&amp;gt; app: RX_DONE 01
&amp;lt;info&amp;gt; app: RX_DONE C0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;info&amp;gt; nrf_dfu_req_handler: ==&amp;gt; nrf_dfu_req_handler_req_process
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OBJ_TYPE_COMMAND
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OP_OBJECT_CREATE 8D
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: RX_DONE 60
&amp;lt;info&amp;gt; app: RX_DONE 01
&amp;lt;info&amp;gt; app: RX_DONE 01
&amp;lt;info&amp;gt; app: RX_DONE C0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;info&amp;gt; nrf_dfu_req_handler: ==&amp;gt; nrf_dfu_req_handler_req_process
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OBJ_TYPE_COMMAND
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OP_OBJECT_WRITE 141
&amp;lt;info&amp;gt; app: Data : 79 536936188 62
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: Data : 17 536936188 62
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: Data : 0 536936188 62
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;info&amp;gt; nrf_dfu_req_handler: ==&amp;gt; nrf_dfu_req_handler_req_process
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OBJ_TYPE_COMMAND
&amp;lt;info&amp;gt; nrf_dfu_req_handler: NRF_DFU_OP_CRC_GET
&amp;lt;info&amp;gt; app: TX_DONE
&amp;lt;info&amp;gt; app: RX_DONE 60
&amp;lt;info&amp;gt; app: RX_DONE 03
&amp;lt;info&amp;gt; app: RX_DONE 01
&amp;lt;info&amp;gt; app: RX_DONE 8D
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 00
&amp;lt;info&amp;gt; app: RX_DONE 82
&amp;lt;info&amp;gt; app: RX_DONE 9A
&amp;lt;info&amp;gt; app: RX_DONE 88
&amp;lt;info&amp;gt; app: RX_DONE 18
&amp;lt;info&amp;gt; app: RX_DONE C0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Indeed,&amp;nbsp;there is a get from the phone that is transfered to nrf52810. In the response, the offset seems to be OK but the phone stops the transfer and says : DFU INVALID RESPONSE !&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The error code : 0x01 indicates a success&lt;/p&gt;
&lt;p&gt;The offset : 0x8D is exactly the size of the write.&lt;/p&gt;
&lt;p&gt;Here is the hook function in nrf_dfu_req_handler :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;        case NRF_DFU_OP_OBJECT_CREATE:
        {
            NRF_LOG_INFO(&amp;quot;NRF_DFU_OP_OBJECT_CREATE %x&amp;quot;,p_req-&amp;gt;create.object_size);
#ifndef MAIN_DFU
            on_cmd_obj_create_request(p_req, p_res);
#else
            uart_send_object_create_packet(p_req-&amp;gt;create.object_type,p_req-&amp;gt;create.object_size,(uint8_t*)p_res);
#endif
        } break;

        case NRF_DFU_OP_CRC_GET:
        {
            NRF_LOG_INFO(&amp;quot;NRF_DFU_OP_CRC_GET&amp;quot;);
#ifndef MAIN_DFU
            on_cmd_obj_crc_request(p_req, p_res);
#else
            uart_send_crc_get_packet((uint8_t*)p_res);
#endif
        } break;

        case NRF_DFU_OP_OBJECT_WRITE:
        {
            NRF_LOG_INFO(&amp;quot;NRF_DFU_OP_OBJECT_WRITE %d&amp;quot;,p_req-&amp;gt;write.len);
#ifndef MAIN_DFU
            on_cmd_obj_write_request(p_req, p_res);
#else
            uart_send_object_write_packet((uint8_t*)p_req-&amp;gt;write.p_data,p_req-&amp;gt;write.len,(uint8_t*)p_res);
#endif
        } break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do you have an idea of the issue ?&lt;br /&gt;Regards,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265551?ContentTypeID=1</link><pubDate>Thu, 20 Aug 2020 12:15:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91ac1b9f-782a-4cb5-b043-fed15298e962</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Sounds good! Thank you for sharing&amp;nbsp;the good news &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265466?ContentTypeID=1</link><pubDate>Thu, 20 Aug 2020 07:53:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ede690c8-9502-4f39-b576-19ec26633217</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Finally, i just needed to add the fc option (-fc 0) to disable the flow control on laptop side and the upgrade is working now with an external serial port ! ;)&lt;/p&gt;
&lt;p&gt;Now, i come back&amp;nbsp;on the nrf52832 side in order to finalysed the upgrade !&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265404?ContentTypeID=1</link><pubDate>Wed, 19 Aug 2020 17:00:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45bcb961-6577-4a9f-90d7-d7893d587c2a</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Actually, firstly i tried to update my nrf52810 directly by using a FTDI from my labtop, just to&amp;nbsp;validate this part. Then i will switch on nrf52832 to implement the full part, nrf52810 + nrf52832&lt;/p&gt;
&lt;p&gt;But on the nrf52810, i&amp;#39;m facing an issue :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; nrf_dfu_serial_uart: Allocated buffer 20000AF0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;info&amp;gt; nrf_dfu_serial_uart: Allocated buffer 20000AF0
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_MTU_GET
&amp;lt;info&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1
&amp;lt;error&amp;gt; nrf_dfu_serial: Failed to send data over serial interface!
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;on the laptop i&amp;#39;m seeing this when i try to upgrade by using nrfutil&amp;nbsp;:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;gt; nrfutil dfu usb-serial -pkg consumer_aux_app_1_0_0.zip -p /dev/ttyUSB0 -b 9600
2020-08-19 18:55:15,059 No trigger interface found for device with serial number: A50285BI, Product ID: 0x6001 and Vendor ID: 0x403


Traceback (most recent call last):
  File &amp;quot;/usr/local/bin/nrfutil&amp;quot;, line 33, in &amp;lt;module&amp;gt;
    sys.exit(load_entry_point(&amp;#39;nrfutil==6.1.0&amp;#39;, &amp;#39;console_scripts&amp;#39;, &amp;#39;nrfutil&amp;#39;)())
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 764, in __call__
    return self.main(*args, **kwargs)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 717, in main
    rv = self.invoke(ctx)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/click/core.py&amp;quot;, line 555, in invoke
    return callback(*args, **kwargs)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/__main__.py&amp;quot;, line 1015, in usb_serial
    timeout)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/__main__.py&amp;quot;, line 970, in do_serial
    dfu.dfu_send_images()
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 88, in _dfu_send_image
    self.dfu_transport.open()
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 217, in open
    self.__get_mtu()
  File &amp;quot;/home/aurelien/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 366, in __get_mtu
    self.mtu = struct.unpack(&amp;#39;&amp;lt;H&amp;#39;, bytearray(response))[0]
TypeError: &amp;#39;NoneType&amp;#39; object is not iterable
^C
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;i&amp;#39;m working at 9600 baud without flow control (at least deactivated on the nrf52810 for sure and i think it is deactivated on nrfutil too)&lt;/p&gt;
&lt;p&gt;Do you have any idea why the upgrade is failing ?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Aur&amp;eacute;lien&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/265163?ContentTypeID=1</link><pubDate>Tue, 18 Aug 2020 15:03:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:233b6d1c-58a5-409a-a8d7-226e1a9971d8</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I ll try this and let you know if i&amp;#39;m facing issues &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Aur&amp;eacute;lie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/264875?ContentTypeID=1</link><pubDate>Mon, 17 Aug 2020 12:52:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8c87dae-2911-48c5-9f24-416dc2c733fd</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Aurélien,&lt;/p&gt;
[quote user="Aurel"]At first, i was thinking to just hook &amp;quot;upgrade&amp;quot; function on the 832 and then, directly transfer data on the serial port.[/quote]
&lt;p&gt;Ah, I see. I did not think of that, but I suppose it should be possible to make that work.&lt;/p&gt;
[quote user="Aurel"]but the upgrade protocole, whether is be uart or BLE, is the same, right ?[/quote]
&lt;p&gt;Yes, that is correct. The DFU protocol itself is the same regardless of which transport layer you use.&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/264562?ContentTypeID=1</link><pubDate>Fri, 14 Aug 2020 07:59:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58ee90a5-95b4-4963-897b-939bed4e2e61</guid><dc:creator>Aurele</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Thank you very much for the answer and i&amp;#39;m sorry for the late reply.&lt;br /&gt;Indeed, what you propose&amp;nbsp;is a kind of what i want excepted i wasn&amp;#39;t thinking about storing the&amp;nbsp;810 binary onto the flash of the 832 but actually it is not a big deal. At first, i was thinking to just hook &amp;quot;upgrade&amp;quot; function on the 832 and then, directly transfer data on the serial port. Tell me if i&amp;#39;m wrong, but the upgrade protocole, whether is be uart or BLE, is the same, right ?&lt;br /&gt;I will take a look at the link you attached since i really need to find a solution to upgrade my 810 since we are deploying&amp;nbsp;a batch of&amp;nbsp;200 devices for testing purpose in the coming month.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Aur&amp;eacute;lien&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade my nrf52810 over I2C (or UART) by using a nrf52832 as a bridge</title><link>https://devzone.nordicsemi.com/thread/262377?ContentTypeID=1</link><pubDate>Thu, 30 Jul 2020 11:20:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa008f7a-1aa5-4273-808e-5731786ec531</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Nordic does not provide anything that will give you this out of the box, so you would have to write something yourself, probably utilizing parts of the existing DFU solution.&lt;/p&gt;
&lt;p&gt;One possible way of doing it could be like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;nRF52810 runs a serial bootloader form the SDK (we provide a UART transport layer which could be used, alternatively you would have to make a TWI transport)&lt;/li&gt;
&lt;li&gt;The nRF52832 has a DFU master implementation. This is not something we provide for the nRF, so you would have to implement that yourself.&lt;/li&gt;
&lt;li&gt;DFU master (phone) does a normal DFU upgrade via BLE of the&amp;nbsp;nRF52832.
&lt;ul&gt;
&lt;li&gt;This firmware includes the firmware destined for the nRF52810. (If flash space on the 832 is a limiting factor, this could be a temporary firmware that has reduced functionality in order to hold the upgrade image of the 810 and DFU master implementation.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The nRF52832 upgrades the nRF52810 via serial interface (UART or TWI) by acting as a DFU master.&lt;/li&gt;
&lt;li&gt;(If a temporary firmware was used on the nRF52832, then it is updated again with the firmware it should normally have when not updating the 810).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Update: You can find some unofficial serial DFU master implementations &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader#h108sjziaxo3m81rkgr1has5r1d72qtu"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>