<?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 do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/102447/how-to-do-ota-firmware-update-through-ble</link><description>Hi, 
 1- I want to know want the OTA firmware update, as I know with DFU we can only update firmware of BLE chip that is NRF 52480. But in my case, I want to update the firmware of my sensor microcontroller that is connected with BLE chip NRF 52480 through</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 17 Aug 2023 23:22:09 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/102447/how-to-do-ota-firmware-update-through-ble" /><item><title>RE: How to do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/thread/441972?ContentTypeID=1</link><pubDate>Thu, 17 Aug 2023 23:22:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d61edae-b1ec-4530-9246-7b6cfb79253b</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Ayu7,&lt;/p&gt;
[quote user="Ayu7"]1- For ble dk firmware update, through OTA, we generally upload a DFU.zip file. So, for updating the microcontroller firmware(OTA) through the BLE nrf device, do we need any other dfu file and if not, then how to do it?[/quote]
&lt;p&gt;I have explained this in my first reply:&lt;/p&gt;
[quote user="vthieu"]&lt;p&gt;I assume that you would like to use the nRF chip as an interface to download the data and then forward them to your sensor microcontroller. Is that correct?&lt;/p&gt;
&lt;p&gt;If so,&amp;nbsp;this likely depends on how your sensor microcontroller can be updated. If you have the documentation of its DFU solution, you can implement a compatible DFU client on the nRF Application, that sends the necessary data over UART.&lt;/p&gt;[/quote]
&lt;p&gt;The method is completely up to you. Nordic does not have an existing solution for this in the nRF5 SDK.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Ayu7"]2- If we don&amp;#39;t want DFU, then can we upload&amp;nbsp;firmware on the BLE device and then through UART, transfer those files to a microcontroller?&amp;nbsp;[/quote]
&lt;p&gt;DFU stands for Device Firmware Update, which is a generic concept, not specific to Nordic products.&lt;/p&gt;
&lt;p&gt;I assume that by &amp;quot;if we don&amp;#39;t want DFU,&amp;quot; you mean &amp;quot;if you don&amp;#39;t want to use the DFU solution in the nRF5 SDK.&amp;quot; This solution does not work to update your other controller through the nRF chip. It is only for updating the firmware of the nRF chip.&lt;/p&gt;
&lt;p&gt;It is a fine approach to upload the firmware to the BLE device, and then transfer the firmware to another controller.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Ayu7"]Edit: So I got to know that I can also create Firmware update characteristics and in that I can send data. But how much does it generally take to send firmware data that can be 100kb or more? Or is there any other better way.[/quote]
&lt;p&gt;Do you mean how much time? For that, I see there are some testimonies for the nRF5 SDK v15.x in the link below. The nRF5 SDK v17.1.0 should do equally&amp;nbsp;well, if not better.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/40465/can-the-sdk15-ble-dfu-speed-improvements-be-backported-to-an-sdk14-bootloader"&gt;Can the SDK15 BLE DFU speed improvements be backported to an SDK14 bootloader?&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/thread/441493?ContentTypeID=1</link><pubDate>Wed, 16 Aug 2023 04:46:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa547716-9d95-49d6-b775-89a04be066c8</guid><dc:creator>Ayu7</dc:creator><description>&lt;p&gt;Hi Hieu,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1- For ble dk firmware update, through OTA, we generally upload a DFU.zip file. So, for updating the microcontroller firmware(OTA) through the BLE nrf device, do we need any other dfu file and if not, then how to do it?&lt;/p&gt;
&lt;p&gt;2- If we don&amp;#39;t want DFU, then can we upload&amp;nbsp;firmware on the BLE device and then through UART, transfer those files to a microcontroller?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So which one is the correct way of doing the firmware update of the microcontroller(OTA) bridge with ble nrf and how to do that?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Edit: So I got to know that I can also create Firmware update characteristics and in that I can send data. But how much does it generally take to send firmware data that can be 100kb or more? Or is there any other better way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/thread/441074?ContentTypeID=1</link><pubDate>Mon, 14 Aug 2023 07:17:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:670882b2-a774-40c8-a8d9-5b168358a5e6</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;I am afraid I don&amp;#39;t fully your question. Could you please rephrase it?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/thread/440902?ContentTypeID=1</link><pubDate>Fri, 11 Aug 2023 08:57:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fe9a73c-c6eb-4c0d-9f21-d1596ae01f5c</guid><dc:creator>Ayu7</dc:creator><description>&lt;p&gt;Thankyou for your response. So how for ble OTA DFU.zip file is needed in the same manner I need to upload zip file for microcontroller firmware dfu file by following these steps:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/pdf/nrfutil_v6.1.0.pdf"&gt;https://infocenter.nordicsemi.com/pdf/nrfutil_v6.1.0.pdf?&lt;/a&gt;&amp;nbsp; Kindly confirm.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do OTA firmware update through BLE?</title><link>https://devzone.nordicsemi.com/thread/439445?ContentTypeID=1</link><pubDate>Wed, 02 Aug 2023 09:09:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df5341f1-df40-451f-b5ed-1065f6bb4b3d</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Ayu7,&lt;/p&gt;
&lt;p&gt;First of all, if you are starting a new project, then please know that we recommend the nRF Connect SDK. &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-connect-sdk-and-nrf5-sdk-statement"&gt;The nRF5 SDK is in maintenance mode and will not receive new feature updates&lt;/a&gt;.&lt;/p&gt;
[quote user=""]1- I want to know want the OTA firmware update, as I know with DFU we can only update firmware of&amp;nbsp;BLE chip that is&amp;nbsp;NRF 52480. But in my case, I want to update the firmware of my sensor microcontroller that is connected with BLE chip&amp;nbsp;NRF&lt;span&gt;&amp;nbsp;52480 through UART. How to do that?&lt;/span&gt;[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I assume that you would like to use the nRF chip as an interface to download the data and then forward them to your sensor microcontroller. Is that correct?&lt;/p&gt;
&lt;p&gt;If so,&amp;nbsp;this likely depends on how your sensor microcontroller can be updated. If you have the documentation of its DFU solution, you can implement a compatible DFU client on the nRF Application, that sends the necessary data over UART.&lt;/p&gt;
[quote user=""]2- How to use BLOB, is there&amp;nbsp;any example?[/quote]
&lt;p&gt;Could you please clarify what the &amp;quot;BLOB&amp;quot; that you have been referring to is? I don&amp;#39;t think you are referring to blob simply as a chunk of data. Do you mean&amp;nbsp;&lt;a href="https://en.wikipedia.org/wiki/Binary_large_object"&gt;Binary large object&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;If you are talking about that, then we don&amp;#39;t have any specific example for that. Most applications just divide the data into smaller chunks the size of a BLE GATT packet, and send it over one at a time.&lt;/p&gt;
&lt;p&gt;There are two examples that you might want to look at in any cases.&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;&lt;a title="UART/Serial Port Emulation over BLE" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/ble_sdk_app_nus_eval.html?cp=9_1_4_2_2_25"&gt;UART/Serial Port Emulation over BLE&lt;/a&gt;&amp;nbsp;example demonstrates how to send arbitrary chunk of data and then route it to UART.&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;&lt;a title="Experimental: ATT_MTU Throughput Example" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/ble_sdk_app_att_mtu.html?cp=9_1_4_2_1_0"&gt;Experimental: ATT_MTU Throughput Example&lt;/a&gt;&amp;nbsp;demonstrates how a large chunk of data is sent and received over multiple smaller chunks.&lt;/p&gt;
[quote user=""]&lt;span&gt;3- In DFU, we need BLOB (correct me if I am wrong) but when I see DFU example&amp;nbsp;ble_app_buttonless_dfu, their is no mentioning of blob. Please clear this confusion and answer my&amp;nbsp;&lt;/span&gt;questions.[/quote]
&lt;p&gt;The DFU solution in the nRF5 SDK v17.1.0 and relevant BLE protocol is documented here:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/lib_dfu_transport.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/lib_dfu_transport.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From the documentation, you will learn that the data is not actually transferred to the ble_app_buttonless_dfu application, but to the bootloader application instead.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>