QUECTEL BC680Z-EU NB-IoT Module
Product Information
Specifications
- Product: NB-IoT Module Series
- Version: 1.0
- Date: 2025-02-26
- Status: Released
Introduction
- Quectel BC680Z-EU module supports DFOTA (Delta Firmware Over-The-Air) feature, which allows users to upgrade firmware wirelessly.
- A delta firmware package, which contains only the differences between the current and the target upgrade version, is needed before updating firmware in DFOTA. Therefore, DFOTA is time-saving and can reduce unnecessary data transmission.
- This document describes how to upgrade the firmware of Quectel BC680Z-EU module via DFOTA over HTTP.
DFOTA Implementation and User Responsibility
- Quectel follows industry best practices with regard to firmware updates for its modules by enabling users to offer DFOTA updates. Please note that Quectel does not have the ability to unilaterally push updates to users’ devices. Quectel hands full control over the DFOTA process to users. In the process, Quectel solely provides the updated firmware but cannot initiate DFOTA updates on users’ devices.
- Users can determine when to push the update to the Quectel modules using the DFOTA mechanism by configuring corresponding parameters for the update that the users host on their own infrastructures.
DFOTA Procedure
The following chart illustrates the firmware upgrade procedure via DFOTA when the firmware package is stored on an HTTP server.
Figure 1: DFOTA Procedure over HTTP
As shown in the above figure, customers only need to perform the following steps to upgrade the firmware when the firmware package is stored on an HTTP server:
- Step 1: Acquire the delta firmware package from Quectel Technical Support (see Chapter 2.1 for details).
- Step 2: Upload the delta firmware package from the host to your HTTP server (see Chapter 2.2 for details).
- Step 3: Check the status of network (see Chapter 2.3 for details).
- Step 4: Execute AT+QFOTADL=<URL> on the host to trigger automatic firmware upgrade on the module (see Chapter 2.4 for details).
- Step 5: The module automatically downloads the firmware package from your HTTP server via NB-IoT network.
- Step 6: The module internally runs the updating program to automatically upgrade the module firmware.
NOTE
You are responsible for providing and managing the HTTP server for the firmware upgrade. Quectel does not supply the server or assist with its setup.
Acquire Delta Firmware Package
Before firmware upgrading, check the original firmware version with ATI and confirm the target firmware version, and then send the two firmware versions to Quectel Technical Support to get the corresponding delta firmware package.
Upload Delta Package to HTTP Server
- Step 1: Set up an HTTP server before using the DFOTA feature (Quectel does not provide such a server).
- Step 2: Upload the delta firmware package to your server, and save the storage path, which is to be included in AT+QFOTADL=<URL>.
NOTE
Please record the HTTP path (URL) to which the delta firmware package is uploaded for the AT+QFOTADL=<URL> command in Chapter 3.3.1.
Check Network Status
Check whether the module is registered on network or not with the following AT commands after it powers on and before the firmware upgrade.
- AT+CESQ Query signal quality
- AT+CEREG? Query network registration status
- AT+CGPADDR Query allocated IP address
For more details about the above commands, see document [1].
Execute AT Command to Upgrade the Firmware
After the network status is confirmed to be ready, execute AT+QFOTADL=<URL> on the host to initiate the automatic over-the-air download and upgrade of module delta firmware package. For more details about the DFOTA AT commands, please refer to Chapter 3.3.
Description of DFOTA AT Commands
AT Command Introduction
Definitions
- <CR> Carriage return character.
- <LF> Line feed character.
- <…> Parameter name. Angle brackets do not appear on the command line.
- […] Optional parameter of a command or an optional part of TA information response. Square brackets do not appear on the command line. When an optional parameter is not given in a command, the new value equals its previous value or the default settings, unless otherwise specified
- Underline Default setting of a parameter
AT Command Syntax
All command lines must start with AT or at and end with <CR>. Information responses and result codes always start and end with a carriage return character and a line feed character: <CR><LF><response><CR><LF>. In tables presenting commands and responses throughout this document, only the commands and responses are presented, and <CR> and <LF> are deliberately omitted.
Table 1: Types of AT Commands
Declaration of AT Command Examples
The AT command examples in this document are provided to help you learn about the use of the AT commands introduced herein. The examples, however, should not be taken as Quectel’s recommendations or suggestions about how to design a program flow or what status to set the module into. Sometimes multiple examples may be provided for one AT command. However, this does not mean that there is a correlation among these examples, or that they should be executed in a given sequence. The URLs, domain names, IP addresses, usernames/accounts, and passwords (if any) in the AT command examples are provided for illustrative and explanatory purposes only, and they should be modified to reflect your actual usage and specific needs.
DFOTA AT Command
AT+QFOTADL=<URL> DFOTA via HTTP Server
- The Write Command triggers the automatic firmware upgrade by the module via DFOTA.
- After a delta firmware package has been stored on an HTTP server, execute AT+QFOTADL=<URL> to trigger the automatic firmware download and upgrade process of DFOTA. When the firmware upgrade is complete, the module will return result code 0 and reboot automatically, otherwise it will return an error, exit from DFOTA and continue to run on the original firmware.
AT+QFOTADL=<URL> DFOTA via HTTP Server | |
Test Command
AT+QFOTADL=? |
Response
+QFOTADL=<URL> |
OK | |
If there is any error:
|
|
Write Command
AT+QFOTADL=<URL> |
Response
OK |
+QIND: “FOTA”,”HTTPSTART” | |
+QIND: “FOTA”,”DOWNLOADING”,<percent> | |
+QIND: “FOTA”,”DOWNLOADING”,<percent> |
…
If there is any error:
|
|
Maximum Response Time | 5 s |
Characteristics |
|
Parameter
- <URL> String type. The URL that the delta firmware package stored on the HTTP server. The max. length is 255 bytes. It should be started with “HTTP://”. For example: “HTTP://<HTTP_server_URL>:
- <HTTP_port>/<HTTP_file_path>”.
- <HTTP_server_URL> String type. The IP address or domain name of the HTTP server owned and operated by you.
- <HTTP_port> Integer type. The port of the HTTP server. Range: 1–65535. Default value: 80.
- <HTTP_file_path> String type. The file path in HTTP server.
- <download_result> Integer type. The code of download result.
- 0 Downloaded successfully.
- Other values Download failed. See Chapter 6 for more details. <percent> Integer type. The download or upgrade progress in percentage.
- <upgrade_result> Integer type. The code of upgrade result. 0 Upgraded successfully.
- Other values Upgrade failed. See Chapter 6 for more details.
- <err> Error code. See “Table 6: Error Codes in +CME ERROR” of document [1] for details.
+QIND: “FOTA”,”HTTPSTART” Notify the Start of HTTP Download
+QIND: “FOTA”,”HTTPSTART” Notify the Start of HTTP Download | |
+QIND: “FOTA”,”HTTPSTART” | The URC notifies that the download over HTTP starts. |
+ QIND: “FOTA”,”DOWNLOADING” Notify HTTP Download Progress
+QIND: “FOTA”,”DOWNLOADING” Notify HTTP Download Progress | |
+QIND: “FOTA”,”DOWNLOADING”,<percent> | The URC notifies the HTTP download progress. |
Parameter
<percent> Integer type. The download progress in percentage.
+QIND: “FOTA”,”HTTPEND” Notify HTTP Download Result
+QIND: “FOTA”,”HTTPEND” Notify HTTP Download Result | |
+QIND: “FOTA”,”HTTPEND”,<download_result> | The URC notifies the HTTP download result. |
Parameter
- <download_result> Integer type. The code of download result.
- 0 Downloaded successfully.
- Other values Download failed. See Chapter 6 for details.
4.4. +QIND: “FOTA”,”START” Notify the Start of Upgrade
+QIND: “FOTA”,”START” Notify the Start of Upgrade | |
+QIND: “FOTA”,”START “ | The URC notifies the start of upgrade. |
4.5. +QIND: “FOTA”,”END” Notify Upgrade Result
+QIND: “FOTA”,”END” Notify Upgrade Result | |
+QIND: “FOTA”,”END”,<upgrade_result> | The URC notifies the upgrade result. |
Parameter
<upgrade_result>
Integer type. The code of upgrade result.
- 0 Upgraded successfully.
- Other values Failed to Upgrade. See Chapter 6 for details.
Examples
DFOTA via HTTP Server Under NB-IoT Network
- //You can perform the firmware upgrade after storing the delta firmware package on your HTTP server.
- //”http://192.168.0.2:65163/DFOTA/BC680ZEU04AAR01A03_TO_A04.bin” is used as an example URL below (The URL is provided for illustrative purpose only. Please replace it with a valid URL that corresponds to your HTTP server and firmware package).
- AT+CEREG? //Query network registration status. +CEREG:0,1 OK
- //Execute AT+QFOTADL=<URL> to enable automatic firmware upgrade via DFOTA, and then the module will start to download the delta firmware package and upgrade firmware automatically.
- AT+QFOTADL=”http://192.168.0.2:65163/DFOTA/BC680ZEU04AAR01A03_TO_A04.bin” OK
- +QIND: “FOTA”,”HTTPSTART” //Download starts.
- +QIND: “FOTA”,”DOWNLOADING”,7% //Download process.
- +QIND: “FOTA”,”DOWNLOADING”,14%
- +QIND: “FOTA”,”DOWNLOADING”,21%
- +QIND: “FOTA”,”DOWNLOADING”,28% …
- +QIND: “FOTA”,”DOWNLOADING”,86%
- +QIND: “FOTA”,”DOWNLOADING”,93%
- +QIND: “FOTA”,”DOWNLOADING”,100%
- +QIND: “FOTA”,”HTTPEND”,0 //The package from HTTP server is successfully downloaded
- +QIND: “FOTA”,”START” //Upgrade starts.
- REBOOT_CAUSE_SECURITY_FOTA_UPGRADE //Reboot after the upgrade is complete. OK
- +QIND: “FOTA”,”END”,0 //The firmware is successfully upgraded
Summary of Result Codes
This chapter introduces the result codes related to Quectel modules or the network. The details about <download_result> and <upgrade_result> are described in the following tables.
Table 2: Summary of <download_result> Codes
<download_result> Description
- 0 Downloaded successfully
- 1 Unknown error
- 2 DNS parse failed
- 12 Download failed
- 13 Network disabled
- 99 Network unavailable
- 100 Memory write failed
- 101 Insufficient memory
Table 3: Summary of <upgrade_result> Codes
<upgrade_result> Description
- 0 Upgraded successfully
- 255 Invalid delta packet firmware
Appendix References
Table 4: Related Documents
Document Name
[1] Quectel_BC680Z-EU_AT_Commands_Manual
Table 5: Terms and Abbreviations
Abbreviation Description
- DFOTA Delta Firmware Over-The-Air
- DNS Domain Name Server
- HTTP Hyper Text Transport Protocol
- IP Internet Protocol
- NB-IoT Narrowband Internet of Things
- URL Uniform Resource Locator
At Quectel, our aim is to provide timely and comprehensive services to our customers. If you require any assistance, please contact our headquarters:
Quectel Wireless Solutions Co., Ltd.
Building 5, Shanghai Business Park Phase III (Area B), No.1016 Tianlin Road, Minhang District, Shanghai 200233, China
- Tel: +86 21 5108 6236
- Email: info@quectel.com
- Or our local offices. For more information, please visit: http://www.quectel.com/support/sales.htm.
- For technical support, or to report documentation errors, please visit: http://www.quectel.com/support/technical.htm.
- Or email us at: support@quectel.com.
Legal Notices
We offer information as a service to you. The provided information is based on your requirements and we make every effort to ensure its quality. You agree that you are responsible for using independent analysis and evaluation in designing intended products, and we provide reference designs for illustrative purposes only. Before using any hardware, software or service guided by this document, please read this notice carefully. Even though we employ commercially reasonable efforts to provide the best possible experience, you hereby acknowledge and agree that this document and related services hereunder are provided to you on an “as available” basis. We may revise or restate this document from time to time at our sole discretion without any prior notice to you.
Use and Disclosure Restrictions
License Agreements
Documents and information provided by us shall be kept confidential, unless specific permission is granted. They shall not be accessed or used for any purpose except as expressly provided herein.
Copyright
Our and third-party products hereunder may contain copyrighted material. Such copyrighted material shall not be copied, reproduced, distributed, merged, published, translated, or modified without prior written consent. We and the third party have exclusive rights over copyrighted material. No license shall be granted or conveyed under any patents, copyrights, trademarks, or service mark rights. To avoid ambiguities, purchasing in any form cannot be deemed as granting a license other than the normal non-exclusive, royalty-free license to use the material. We reserve the right to take legal action for noncompliance with abovementioned requirements, unauthorized use, or other illegal or malicious use of the material.
Trademarks
Except as otherwise set forth herein, nothing in this document shall be construed as conferring any rights to use any trademark, trade name or name, abbreviation, or counterfeit product thereof owned by Quectel or any third party in advertising, publicity, or other aspects.
Third-Party Rights
- This document may refer to hardware, software and/or documentation owned by one or more third parties (“third-party materials”). Use of such third-party materials shall be governed by all restrictions and obligations applicable thereto.
- We make no warranty or representation, either express or implied, regarding the third-party materials, including but not limited to any implied or statutory, warranties of merchantability or fitness for a particular purpose, quiet enjoyment, system integration, information accuracy, and non-infringement of any third-party intellectual property rights with regard to the licensed technology or use thereof. Nothing herein constitutes a representation or warranty by us to either develop, enhance, modify, distribute, market, sell, offer for sale, or otherwise maintain production of any our products or any other hardware, software, device, tool, information, or product. We moreover disclaim any and all warranties arising from the course of dealing or usage of trade.
Privacy Policy
To implement module functionality, certain device data are uploaded to Quectel’s or third-party’s servers, including carriers, chipset suppliers or customer-designated servers. Quectel, strictly abiding by the relevant laws and regulations, shall retain, use, disclose or otherwise process relevant data for the purpose of performing the service only or as permitted by applicable laws. Before data interaction with third parties, please be informed of their privacy and data security policy.
Disclaimer
- We acknowledge no liability for any injury or damage arising from the reliance upon the information.
- We shall bear no liability resulting from any inaccuracies or omissions, or from the use of the information contained herein.
- While we have made every effort to ensure that the functions and features under development are free from errors, it is possible that they could contain errors, inaccuracies, and omissions. Unless otherwise provided by valid agreement, we make no warranties of any kind, either implied or express, and exclude all liability for any loss or damage suffered in connection with the use of features and functions under development, to the maximum extent permitted by law, regardless of whether such loss or damage may have been foreseeable.
- We are not responsible for the accessibility, safety, accuracy, availability, legality, or completeness of information, advertising, commercial offers, products, services, and materials on third-party websites and third-party resources.
About the Document
Revision History
Version Date Author Description
- – 2025-01-09 Kriss YU Creation of the document
- 1.0 2025-02-26 Kriss YU First official release
FAQ
- Q: Where can I find technical support?
- A: For technical support, please visit the Technical Support page on the Quectel website or email support@quectel.com.
- Q: How can I contact Quectel headquarters?
- A: You can contact Quectel headquarters at the following address: Building 5, Shanghai Business Park Phase III (Area B), No.1016 Tianlin Road, Minhang District, Shanghai 200233, China. Tel: +86 21 5108 6236.
Documents / Resources
![]() |
QUECTEL BC680Z-EU NB-IoT Module [pdf] User Guide BC680Z-EU, BC680Z-EU NB-IoT Module, NB-IoT Module, Module |