How to set up Hardware & Software, Build & Compile Firmware, Validate DFU, and Wifi SCAN using Raytac’s Nordic nRF7002+nRF5340 WiFi+BLE Devkit-AN7002Q-DB-5340-M

Raytac has advanced the dev kit version of bundle offer – WIFI+BLE: AN7002Q-DB-
5340-M with an on-board flash memory(MX25R64) to create easy evaluation
for Wi-Fi project developments.

Table of Content———————————————————————————————————

  1. Hardware Set Up
    A. Project WITHOUT External Flash MX25R64 needed
    B. Project WITH External Flash MX25R64 needed
  2. Software Resources & Preparations
  3. Firmware Build & Compile
    A. Project WITHOUT External Flash MX25R64 needed
    B. Project WITH External Flash MX25R64 needed
  4. Validate DFU Process & WIFI SCAN

—————————————————————————————————————————-


1. Hardware Set Up

Hardware Kit on hand:

Note: Pease make sure to have both “Nordic nRF5340-DK” and “AN7002Q-DB-5340-M” connected and running during the WIFI+BLE (nRF7002+nRF5340) project development.

Hardware Network:
IDC Ribbon Wire(J-Link Cable): Connect nRF5340-DK to AN7002Q-DB-5340-M
USB Wire –Type C USB: Power supply to AN7002Q-DB-5340-M through USB TYPE-C
USB Wire-Micro USB: Power supply to nRF5340-DK through Micro USB

A. Project WITHOUT External Flash MX25R64 needed
– Allocate QSPI for communication between MDBT53 (BLE) and AN7002Q (WIFI)
– External flash MX25R64 flash memory is not activated
NO additional resistor swapping needed, keep it as it is on board now. The Resistors on board align with the Nordic board definition (same as nRF7002-DK).
– Please closely follow the definition chart printed on back side of board AN7002Q-DB-5340-M.
“Component Options Table” > “AN7002Q active with QSPI (Typ)”


– Photo showing the resistor allocation:


– Schematic of the AN7002Q-DB-5340-M(Click on the image to zoom in):


B. Project WITH External Flash MX25R64 needed
– Allocate SPI for communication between MDBT53 (BLE) and AN7002Q (WIFI)
– Allocate QSPI for XIP: External flash MX25R64 is activated
– It is REQUIRED to reallocate resistors to swap the QSPI and SPI on the AN7002Q-DB-5340-M in order to activate the circuit for MX25R64.
Do necessary resistors swapping manually (closely follow the definition chart printed on back side of board AN7002Q-DB-5340-M.)
Component Options Table” >  “External flash and AN7002Q active with SPI enable


– Photo showing the resistor allocation:
Detach the resistor -R27
Component Options Table” >  “External flash and AN7002Q active with SPI enable
<<< Necessary resistors swapping manually needed ↓ >>>


– Schematic of the AN7002Q-DB-5340-M(Click on the image to zoom in):
Modify the above resistors swapped and necessary component based on the chart:
“Component Options Table” >  “External flash and AN7002Q active with SPI enable”


!! Important Note:!!
The circuit of SW1(p1.08)/SW2(p1.09)/LED1(p1.06) on AN7002Q-DB-5340-M is NOT COMPATIBLE to Nordic WI-FI Control Pin of swctrl1(p1.08)/host_irq(p1.09)/grant(p1.06).
In this case, if you’re working with external flash MX25R64 for the WIFI project, Please avoid pin SW1/SW2/LED1 usage while LED2(p1.07) remains available as normal usage.
For the design perspective of mother board/carrier board /target board (mounted with AN7002Q & MDBT53 modules), it is required to design the circuit align to SW1(p0.23)/SW2(p0.24)/LED1(p0.28).



2. Software Resources & Preparations
Download nRF Connect For Desktop (Please Click Me)
Download nRF Command Line Tools (Please Click Me)

Step 1: Prepared with the latest version of nRF Connect for Desktop, using Windows 64-bit – 5.2.0
Step 2: Prepared with the latest version of Command Line Tools, using Windows X86 64 – 10.24.2

**Note: SEGGER J-LINK Upgrade message might pop up while you’re doing above downloads.

 If you’re initiating Segger Embedded Studio (SES) application, please check the guideline here(Click me) 

Step 3: Locate all the necessary kits for programming in PC



3. Firmware Build & Compile
After you download and set up nRFConnect SDK (NCS), you will be able to apply free VS (Visual Studio) Code IDE as firmware programming tool.
Here’re the guidelines to developing programs without/with External Flash MX25R64.

A. Project WITHOUT External Flash MX25R64 needed
You can directly build/compile on Nordic NCS without any additional configurations/modifications needed.

B. Project WITH External Flash MX25R64 needed
– Allocate SPI for communication between MDBT53 (BLE) and AN7002Q (WIFI)
– Allocate QSPI for XIP: External flash MX25R64 is activated

The below example uses NCS v3.1.1 and runs the under: C:\ncs

Step 1: Start with a Wi-Fi Scan project and run the program under: C:\ncs\v3.1.1\raytac
<<Create a new application and Copy a sample>>


Step 2: Select SDK v3.1.1 to copy the sample


Step 3: Select example by entering keyword: wifi scan(Wi-Fi Scan)


Step 4: Enter application location and name the project as: wifi_scan_uart_dfu


Step 5: Open an existing application and find the registered project: wifi_scan_uart_dfu

★★How to activate the Devicetree setting of Wi-Fi nRF7002 and Create file: nrf5340dk_nrf5340_cpuapp.overlay
Code example is as follows:
/ {
  chosen {
              aliases {
                       /delete-node/ leds;
                       /delete-node/ buttons;               
              }; 
          }; 

          leds {
                   compatible = “gpio-leds";

                   led1: led_1 {
                             gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
                             label = “Green LED 1″;
                   };

          };

          /* These aliases are provided for compatibility with samples */
          aliases {
                   led1 = &led1;
          };
};

&mx25r64 {
  status = “okay";
};

/ {
          chosen {
                   nordic,pm-ext-flash = &mx25r64;
                   zephyr,wifi = &wlan0;
          };
};

&gpio_fwd {
    /delete-node/ uart;
};

&gpio_fwd
{
  status = “disabled";
};

&qspi {
          status = “okay";
          pinctrl-0 = <&qspi_default>;
          pinctrl-1 = <&qspi_sleep>;
          pinctrl-names = “default", “sleep";
          mx25r64: mx25r6435f@0 {
                   compatible = “nordic,qspi-nor";
                   reg = <0>;
                   /* MX25R64 supports only pp and pp4io */
                   writeoc = “pp4io";
                   /* MX25R64 supports all readoc options */
                   readoc = “read4io";
                   sck-frequency = <8000000>;
                   jedec-id = [c2 28 17];
                   sfdp-bfp = [
                             e5 20 f1 ff  ff ff ff 03  44 eb 08 6b  08 3b 04 bb
                             ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
                             10 d8 00 ff  23 72 f5 00  82 ed 04 cc  44 83 68 44
                             30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
                   ];
                   size = <67108864>;
                   has-dpd;
                   t-enter-dpd = <10000>;
                   t-exit-dpd = <35000>;
          };
};

&spi1 {
    status = “okay";
    compatible = “nordic,nrf-spim";
    pinctrl-0 = <&spi1_default>;
    pinctrl-1 = <&spi1_sleep>;
    pinctrl-names = “default", “sleep";
cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW >;
nrf70: nrf7002@0 {
    status = “okay";
compatible = “nordic,nrf7002-spi";
reg = <0>;
spi-max-frequency = <24000000>;
/* Wi-Fi Pins used */
iovdd-ctrl-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
bucken-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
host-irq-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
wlan0: wlan {
compatible = “nordic,wlan";
};
wifi-max-tx-pwr-2g-dsss = <21>;
wifi-max-tx-pwr-2g-mcs0 = <16>;
wifi-max-tx-pwr-2g-mcs7 = <16>;
wifi-max-tx-pwr-5g-low-mcs0 = <9>;
wifi-max-tx-pwr-5g-low-mcs7 = <9>;
wifi-max-tx-pwr-5g-mid-mcs0 = <11>;
wifi-max-tx-pwr-5g-mid-mcs7 = <11>;
wifi-max-tx-pwr-5g-high-mcs0 = <13>;
wifi-max-tx-pwr-5g-high-mcs7 = <13>;       
};

nrf_radio_coex: nrf7002-coex {
status = “okay";
compatible = “nordic,nrf700x-coex";
req-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
status0-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
grant-gpios = <&gpio1 6 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>;
swctrl1-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 
};         
};

&pinctrl {
  spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
};
  };
  spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
low-power-enable;
};
  };
};

/ {
chosen {
zephyr,console = &uart2;
zephyr,shell-uart = &uart2;                                 
};
};

&uart2 {
status = “okay";
current-speed = <115200>;
pinctrl-0 = <&uart2_default>;
pinctrl-1 = <&uart2_sleep>;
pinctrl-names = “default", “sleep";
};

&pinctrl {
uart2_default: uart2_default {
                  group1 {
                          psels = <NRF_PSEL(UART_TX, 1, 2)>,
                                     <NRF_PSEL(UART_RX, 1, 3)>;
                          bias-pull-up;
                  };
};
uart2_sleep: uart2_sleep {
                  group1 {
                          psels = <NRF_PSEL(UART_TX, 1, 2)>,
                                     <NRF_PSEL(UART_RX, 1, 3)>;
                          low-power-enable;
                  };
};
};


Step 7: It is required to do MCUBoot before working with DFU using External Flash
Please do the code configuration in sysbuild.conf as following reference code.

SB_CONFIG_BOOTLOADER_MCUBOOT=y
# DFU with UART
SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=n

# DFU with external flash
SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY=y

Step 8: It is required to do MCUMGR before working with DFU over UART
Please do the code configuration in prj.conf as following reference code.

# Enable QSPI driver for Application
CONFIG_NORDIC_QSPI_NOR=y

# Enable mcumgr DFU in application
CONFIG_MCUMGR=y    
CONFIG_NET_BUF=y
CONFIG_ZCBOR=y  
CONFIG_CRC=y    

# Enable mcumgr management for both OS and Images
CONFIG_MCUMGR_GRP_OS=y 
CONFIG_MCUMGR_GRP_IMG=y
CONFIG_FLASH=y
CONFIG_IMG_MANAGER=y
CONFIG_STREAM_FLASH=y
CONFIG_FLASH_MAP=y

# Configure MCUMGR transport to UART
CONFIG_MCUMGR_TRANSPORT_UART=y
CONFIG_BASE64=y

Step 9: Add with MCUBoot setting , and create a root for sysbuild ; Build with file mucboot.overlay & file mcuboot.conf

9A. With mucboot.overlay
&mx25r64 {
status = “okay";
};

/ {
          chosen {
                   nordic,pm-ext-flash = &mx25r64;
          };
};

&gpio_fwd {
/delete-node/ uart;
};

&gpio_fwd
{
status = “disabled";
};

9B. With file: mcuboot.conf

CONFIG_NORDIC_QSPI_NOR=y
CONFIG_BOOT_MAX_IMG_SECTORS=512

Step 10: Create a VERSION file by referencing the following code when testing DFU over UART.
VERSION_MAJOR = 99
VERSION_MINOR = 0
PATCHLEVEL = 0
VERSION_TWEAK = 0
EXTRAVERSION =

Step 11: Add build configuration.


Step 12: Add build configuration >> Choose Board target: nrf5340dk/nrf5340/cpuapp


Step 13: Generate and Build


Step 14: Generate a Merged.hex file after compiling the program


Step15: You can choose Build/Debug/Flash under ACTIONS during development
<< Build >>


<< Debug >>


<< Flash >>


Step 16: Go to ACTIONS >> Memory report


Now you can see partitions available in the system. mcu_secondary has already been located in MX25R64 flash memory.



4. Test/Validate DFU Process & WIFI SCAN
After the firmware programmed to MDBT53 module on board, we use the USB to UART adaptor board for connection AN7002Q-DB-5340-M through: A. MCUMGR UART to PC and through: B. WiFi Scan UART to PC respectively.
Note: We suggest you finish connecting A. and B. before running tests.



Now we can run the tests.

A. DFU over UART – Using AuTerm Program
1. We can locate Image version=V99.0.0 under the current VERSION file


It also indicates Image version: 99.0.0 in MCUmgr-Slot 0.


2. Try to modify the file version from V99 to V100 under VERSION file:
VERSION_MAJOR = 100

VERSION_MINOR = 0

PATCHLEVEL = 0

VERSION_TWEAK = 0

EXTRAVERSION =

And go with “Pristine Build”


3. We’re about to run DFU over UART , Please DO NOT do “Flash” or “Erase”.


Proceed with “Force reboot”


4. It’s now Version 100.0.0 in Slot 0 under MCUgr ⭢ DFU over UART successfully done!


Before it was Version 99.0.0 in Slot 1 under MCUgr.


B. WIFI SCAN – PuTTY Console
WIFI SCAN credentials can be located under PC Console – PuTTY.



Useful references:
Nordic Developer Academy
nRF Connect SDK Documentation
Wi-Fi Samples
Nordic DevZone – Technical Forum



Edited by Business Development Manager: Jocelyn Tsai
Technical Guidance by R&D Manager: MW Lee

Raytac Corporation 勁達國際電子股份有限公司 / Raytac Corporation (USA) / abietec Inc.
A Bluetooth, Wi-Fi, and LoRa Module Maker/ODM & OEM Manufacturer based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech Specification: SX1262

Bluetooth Specification: BT6 ; BT5.4 ; BT5.3 ; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN

All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC/WPC/RoHS/Reach Pre-Certified.
http://www.raytac.com
https://www.raytac.com/contact/
email: sales@raytac.com
Tel: +886-2-3234-0208(TW)/+1-626-217-3139(USA)



Raytac and onceLabs Deepen Collaboration with Live Demo of Mobile‑to‑Embedded Bluetooth Channel Sounding

A LinkedIn debut becomes a live showcase at Embedded World North America with
Raytac’s Bluetooth LE module solution and Google Pixel 10
.

[Anaheim, CA — November 2, 2025]
At embedded world North America — Raytac Corporation, a global leader in wireless modules, together with onceLabs, a U.S.-based global Nordic Design Partner specializing in custom embedded and mobile application software, will present a live demo of Bluetooth Channel Sounding. The demonstration showcases the accuracy and potential of the new Bluetooth 6.0 feature by combining Raytac’s Nordic-based nRF54L15 (AN54LQ-15) module with a Google Pixel 10 smartphone.

Bluetooth Channel Sounding adds a new dimension to wireless connectivity by combining secure data transfer with the low‑power, low‑cost Bluetooth technology already trusted worldwide — now extended to deliver precise location awareness. This evolution means IoT devices can gain both communication and ranging capabilities in a single, efficient platform. With tens of centimeter distance accuracy, Channel Sounding enables practical new use cases such as secure access, proximity‑based services, indoor navigation, and ‘Find My’ functionality.

Android 16 now supports Channel Sounding APIs, making it possible for developers to access this capability directly on flagship devices like the Pixel 10. With anticipated pervasive adoption across the mobile ecosystem, Channel Sounding is positioned to scale broadly and become a standard feature for IoT applications.

The onceLabs demo was reported as the first of its kind in August, gaining notability on LinkedIn(Post link) — and is now being shown for the first time in a public venue. onceLabs’ free BLE Hero app(Download Link) is a sniffer, analyzer, and development tool, available in app stores, and can be seen in action during the live demo. The Android version has been updated to capture and display Channel Sounding data, giving developers clear insight into ranging accuracy and system performance. Since 2018, Raytac and onceLabs have collaborated to bring new Bluetooth capabilities from specification to market‑ready solutions. Raytac’s proven hardware platforms and onceLabs’ application‑layer software expertise combine to accelerate adoption of emerging standards, showing how partnership can translate advanced technology into product‑ready functionality.

QR code on the left: watch the Channel Sounding Live Demo; QR code on the right: download the BLE Hero app on Google Play.

“Our collaboration with onceLabs has always been about enabling customers to move quickly and confidently with the latest Bluetooth technology,” said Lyon Liu, CEO of Raytac Corporation. “This live demo of Channel Sounding is another example of how our partnership delivers not just modules, but complete solutions that inspire new applications.”

Together, Raytac and onceLabs are demonstrating how Bluetooth Channel Sounding can move from specification to practical demonstrations that product companies can act on.

“With Raytac providing the hardware foundation and onceLabs delivering the application software, we continue to support customers in translating new Bluetooth features into real use cases,” said Joseph Bakalor, President and CTO of onceLabs. “Channel Sounding is a perfect example — and with our expertise in Zephyr RTOS, developers can build on open, production‑ready software that scales from prototype to deployment.”

The Raytac + onceLabs demo will be featured in Raytac Booth 5067 at embedded world North America, November 4–6, 2025, at the Anaheim Convention Center. Attendees are invited to visit the booth to see the demo in action and learn how Raytac and onceLabs can support their next wireless product.


For more information or to schedule a meeting:
– Raytac: sales@raytac.com
– onceLabs: support@oncelabs.com or book an online meeting at https://calendly.com/jbakalor/30min


Company Descriptions

About Raytac
Raytac Corporation is a leading provider of wireless modules, offering one of the industry’s broadest portfolios of pre‑certified solutions built on Nordic Semiconductor SoCs. With a focus on quality, reliability, and ease of integration, Raytac helps product companies accelerate development and reduce risk when bringing wireless products to market. From consumer devices to industrial applications, Raytac modules are trusted worldwide for their performance, compliance, and long‑term availability.
Company website: www.raytac.com

About onceLabs
onceLabs delivers custom embedded firmware and mobile application software with a passion for translating client use cases into cloud‑enabled applications that leverage the latest wireless innovations. Known for delivering quality user experiences while optimizing performance and power consumption, onceLabs helps bring products to life through custom software. With design expertise spanning Bluetooth LE, Wi‑Fi, cellular, and other wireless protocols — and a strong engineering foundation in both embedded and mobile software — onceLabs accelerates time‑to‑market through a systems approach to architecture, continuous integration, and real‑world reliability.
Company website: www.oncelabs.com


Edited by Business Development Manager: Tony Yin

Raytac Corporation 勁達國際電子股份有限公司 / Raytac Corporation (USA) / abietec Inc.
A Bluetooth, Wi-Fi, and LoRa Module Maker/ODM & OEM Manufacturer based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech Specification: SX1262


Bluetooth Specification: BT6 ; BT5.4 ; BT5.3 ; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN


All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC/WPC/RoHS/Reach Pre-Certified.
http://www.raytac.com
https://www.raytac.com/contact/
email: sales@raytac.com
Tel: +886-2-3234-0208(TW)/+1-626-217-3139(USA)

Join Raytac at “Embedded World 2025″ – Experience Innovation at Our Booth!

Dear Valued Attendees,

We are thrilled to announce that Raytac Corporation will be participating in Embedded World 2025 from March 11 to March 13, 2025, at the Nuremberg Exhibition Centre in Germany.

IoT and Wireless technologies such as Bluetooth Low Energy (BLE), Wi-Fi, and LoRa…etc. continue to reshape industries worldwide, that’s why Raytac is at the forefront, providing cutting-edge solutions that accelerate product development.
Together with our partner, Nordic Semiconductor, we offer a comprehensive range of modules designed to meet the increasing demands of today’s connected world.

This year, we have exciting innovations to showcase:

These are just a few of the groundbreaking solutions we’ll be unveiling. You won’t want to miss the chance to experience these with us!

What to Expect at Our Booth:

  • Live demonstrations showing how Raytac’s modules can be implemented in multiple industries.
  • Discover how our modules can reduce development time and costs, making your projects more efficient.
  • One-on-one consultations with our experts to help you find the right solutions for your needs.

Stop by and visit us at:
HALL 3
Booth 3-111
M2M Area


We would love to connect with you and discuss how Raytac can support your next project. Whether you’re an engineer, developer, or business decision-maker, we have something for everyone at Embedded World 2025.

For more details and a sneak peek of what we have in store, don’t forget to check out:
1. Our website: http://www.raytac.com
2. Our LinkedIn: https://www.linkedin.com/in/raytac/
3. Our WordPress Blog: https://raytac.blog/

We can’t wait to see you at the event and look forward to the opportunity to collaborate with you!


Edited by Account Manager: Ms. Dana Liu

Raytac Corporation 勁達國際電子股份有限公司
A Bluetooth, Wi-Fi, and LoRa Module Maker based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech: SX1262


Bluetooth Specification: BT6 ; BT5.4 ; BT5.3 ; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN


All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC/WPC Pre-Certified.
http://www.raytac.com
email: sales@raytac.com
Tel: +886-2-3234-0208

Secure DFU OTA for nRF52832 solution modules: Guide to create hex/zip file for implementation – Part 1(Bootloader & Application)

Below are the guidelines to implement Secure DFU OTA by using Raytac’s nRF52832 modules, SDK16.0.0.
It consists of 2 parts:

Part 1: Bootloader & Application


Part 2: Combining and merging built files (Article link)

In this article, we will be focusing on Part 1: Bootloader & Application.



Path: ..\nRF5_SDK_16.0.0_98a08e2\examples\dfu\secure_bootloader\pca10040_s132_ble\arm5_no_packs
Specifically for nRF52832, programmers need to embed ECC(Elliptic Curve Cryptography) into the bootloader.


Step 1. ’micro_ecc_lib_nrf52.lib’ library can be found in the path below, but we need to boot it up first.


Step 2. Unzip ’micro-ecc-master.zip’ to the below path(create a new “micro-ecc” file first).


Step 3. Run ’gcc-arm-none-eabi-7-2018-q2-update-win32.exe’.


Step 4. Make sure the Environment variables in Win10 are set as below. (Follow the steps 1 to 6)


Step 5. Open DOS → run the “make” command under armgcc path → generate’micro_ecc_lib_nrf52.lib’


Step 6. Add ’micro_ecc_lib_nrf52.lib’ into folder: nRF_micro-ecc


Step 7. An error may occur while building bootloader without a public key:
(Shown in red frames in below screenshot)


Step 8. How to generate the public key file in Bootloader?
A. Visit DOS at path: ..\Python27\Scripts
B. Then execute:

nrfutil keys generate private.pem
nrfutil keys display --key pk --format code private.pem --out_file public_key.c


Step 9. Copy the pk[64] code from (public_key.c) into (dfu_public_key.c)
(Shown in red frames in below screenshot)

※Note: Make sure to save the 3 generated files:
private.pem
public_key.c
dfu_public_key.c


Step 10. Generate the bootloader file: nrf52832_xxaa_s132.hex after re-compiling the code files.


Application


Path:
..\nRF5_SDK_16.0.0_98a08e2\examples\ble_peripheral\ble_app_uart\pca10040\s132\arm5_no_packs
Before building Application code , some amendments need to be made regarding DFU-related settings and code inside Application:


Step 1. Add code in definition in C/C++ :
BL_SETTINGS_ACCESS_ONLY NRF_DFU_SVCI_ENABLED NRF_DFU_TRANSPORT_BLE=1
(Total 3 steps definitions need to be set up)


Step 2. Add the 3 paths shown below in C/C++ to make DFU work.


Step 3. Add the .c files inside red frame in (Screenshots 1 & 2)
and add the 2 groups of (nRF_DFU & nRF_SVC)(Screenshot 4) under Project(Screenshot 3)


Step 4. Add code into main.c file in Application (..\examples\ble_peripheral\ble_app_uart\main.c)
(Please refer to: main.c file at: ..\examples\ble_peripheral\ ble_app_buttonless_dfu)


Step 5.
The code of file: sdk_config.h (..\examples\ble_peripheral\ble_app_uart\pca10040\s132\config\sdk_config.h)

inside Application needs to be modified.


Step 6. Adjust the IRAM1 value in Target after implementing DFU service:
Make sure the IRAM1 Value of *p_app_ram_start is modified from default: 0x20002AD8 0xD528 to
0x20002AE8 0xD518, as shown in the red frame in the bottom right corner.
In this case, the program should run/advertise successfully.


Step 7. Create a file of: nrf52832_xxaa.hex after building application code files.



Step 8. Create a bootloader setting file of nrf52832_bootloader_secure_settings.hex via DOS.
nrfutil settings generate –family NRF52 –application nrf52832_xxaa.hex –application-version 3 —
bootloader-version 2 –bl-settings-version 1 nrf52832_bootloader_secure_settings.hex –no-backup

※Stay tuned for Part 2: Combining and merging built files in the next article, scheduled release in next week(04-Sep-2024).


Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Ms. Mandy Chao



Raytac Corporation 勁達國際電子股份有限公司 
Raytac Corporation: A Bluetooth, Wi-Fi, and LoRa Module Maker based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech Specification: SX1262

Bluetooth Specification: BT5.4 ; BT5.3; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN

All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
http://www.raytac.com
email: sales@raytac.com
Tel: +886-2-3234-0208

FAQ: How to write MAC address into the OTP memory of Raytac’s nRF7002 Wi-Fi module/AN7002Q-DB-5340 DevKit

Recently we have received the FAQ: how to write MAC address into the OTP memory of Raytac’s AN7002Q-P Nordic Wi-Fi module? In this article, we’ll get this question explained to give customers a more smooth experience using the AN7002Q-nRF5340 Demo Board(AN7002Q-DB-5340).

Is there an existing Wi-Fi MAC address in the AN7002Q part on the DevKit?

Currently, the AN7002Q module on Raytac’s AN7002Q-DB-5340 board has no Wi-Fi MAC address.


When running Wi-Fi Scan code/Station code/Shell code…etc. on NCS v2.6.0 (and later versions), the AN7002Q module must have a programed Wi-Fi MAC address to function properly.

Therefore, it’s necessary to follow the below process:
1. Program the original Wi-Fi radio test code (..\nrf\samples\wifi\radio_test) into the MDBT53 section,
2. Then write the Wi-Fi MAC address in to the AN7002Q section(nRF7002 IC) via command.

After this, program the original Wi-Fi Scan code/Station code /Shell code … into the 5340, and it will function properly.

**Raytac will assign 2 Wi-Fi MAC addresses(for both 2.4GHz & 5GHz) to every AN7002Q module.
*If customers don’t have Wi-Fi MAC addresses for DevKit development yet, please reach out to
service@raytac.com



==================================================================================

Case study 1. SCAN code example


Scenario:
Following error occurred when building the SCAN example code, flash it onto the AN7002Q-DB-5340 board, and run the test.

Solution:

When running Wi-Fi scan code on NCS v.2.6.0 or later version, the OTP memory in the AN7002Q module must have a Wi-Fi MAC address programmed in for the Wi-Fi scan functionality to work properly.

(Note: OTP is a One-Time programmable memory, which means the value can only be written once.
The customer must aware of this before performing the OTP operation.)

1. Program the original Wi-Fi radio test code (..\nrf\samples\wifi\radio_test) into the MDBT53 section,
then manually input and execute the following OTP read command.

wifi_radio_ficr_prog otp_read_params

If you see both MAC0 and MAC1 display a value of 0xFF, as shown in above, it means that you haven’t written the Wi-Fi MAC address into the AN7002Q’s OTP.

2. Manually issue the OTP write command to write the Wi-Fi MAC address into the OTP.

https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/wifi/radio_test/ficr.html

wifi_radio_ficr_prog otp_write_params 0x120 0xDDCCBBAA 0xFFEE

wifi_radio_ficr_prog otp_write_params 0x128 0xDDCCBBAA 0xFFEE


After you complete the above, use the OTP read command in below to check if the Wi-Fi MAC address value was written.
The MAC0 and MAC1 should display the value you’ve input from the OTP write command.

wifi_radio_ficr_prog otp_read_params

3. Program the original Wi-Fi SCAN code back into the MDBT53, the Wi-Fi scan functionality should work properly.

==================================================================================

Case study 2. Shell code example

SDK Wi-Fi example test – Running Shell Code on AN7002Q-DB-5340:

Scenario:
An error occurs while running Shell code on AN7002Q-DB-5340.

Solution:
The AN7002Q-DB-5340 is paired with nRF5340 DK for development,
but neither of the 2 boards has an external MX25R64 (Serial NOR Flash) component.
So far, only the nRF7002DK board is equipped with the MX25R64.

Therefore, while running the original Wi-Fi shell code, the program will enable SPI NOR.

When using AN7002Q-DB-5340, you should add CONFIG_SPI_NOR=n in the prj.conf file to disable SPI NOR, to turn off any configurations related to it.


Edited by Sales Manager: Ms. Mandy Chao
Technical guidance provided by R&D Manager: Mr. MW Lee
Keyword: nRF7002 MAC address


Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com
email: sales@raytac.com
Tel: +886-2-3234-0208


How to Set Up the Development and Programming Environment for Raytac’s AN7002Q-nRF5340 Demo Board (AN7002Q-DB-5340)?

To help you quickly get started with Raytac’s AN7002 Nordic WiFi module and nRF5340 module, here’s a simple guide on how to set up the development and programming environment using AN7002Q-nRF5340 Demo Board(AN7002Q-DB-5340)and nRF5340 DK.

This article will cover the 4 sections below:
1. Hardware setup
2. Software Development Kit and Environment setup
3. Programming/Development
4. Flashing/Uploading firmware


1. Hardware Setup
1 x Nordic nRF5340-DK: PCA10095(2.0.0)
1 x Raytac AN7002Q-DB-5340
1 x IDC Cable
1 x USB-Micro USB Cable
1 x USB-Type C USB Cable

*Note: You need to use both the “Nordic nRF5340-DK” and “Raytac AN7002Q-DB-5340 demo board” together for programming and development. *

Steps to connect the hardware:

  • Connect J-Link on Nordic DK to AN7002Q-DB-5340 using IDC Cable
  • Power Nordic nRF5340-DK up using Micro USB Cable
  • Power Raytac AN7002Q-DB-5340 up using Type C USB Cable


AN7002Q-DB-5340 Schematic Diagram:

(Click on the image to redirect to product page for Higher resolution photo)


2. Software Development Kit and Environment Setup

Download nRF Connect For Desktop: Download nRF Connect For Desktop (Please Click Me)

Download nRF Command Line Tools: Download nRF Command Line Tools (Please Click Me)

(1) Download and install the latest version of nRF Connect for Desktop (Windows 64-bit – 5.0.0 version)
nrfconnect-setup-5.0.0-x64.exe

(2) Download and install the latest version of nRF Command Line Tools (Windows X86 64 – 10.24.2 version)
nrf-command-line-tools-10.24.2-x64.exe

*Note: During set-up, the SEGGER J-LINK installation/update request might pop up on your screen. *
*(As shown in below screenshot). *

If you’re initiating Segger J-Link Driver, please check the guideline here(Click me)


After the installations are completed, you can see the following applications under the:

“Programs and Features" section in the Control Panel.


3. Programming/Development

nRF Connect SDK (NCS) supports development using the free VS (Visual Studio) Code IDE.
Here’s how to select and install the NCS SDK version (nRF Connect SDK vx.x.x):


Step1.

Open “nRF Connect for Desktop” → Choose “Toolchain Manager” → then click” Open”


Step2.

You’ll see a list of nRF Connect SDK versions. It’s recommended to install NCS v2.6.0 or later.
Here, we use NCS v2.6.0 as an example.


Step3.

Before installing NCS v2.6.0, confirm the installation path (Default path → C:\ncs).


If you want to change the path, click “Select directory”, and press OK.


Step4.

After installing the nRFConnect SDK v2.6.0, click “Open VS Code”.


Step5.

Open the Wi-Fi scan example


Step6.

Add build configuration → select the board and compile.


Select board: nrf7002dk_nrf5340_cpuapp.


Step7.

After compilation, a hex file will be generated.


Step8.

Under ACTIONS, you can choose to Build, Debug, or Flash.


Build:


Debug:


Flash:


4. Programming

nRF Connect SDK(NCS) supports programming. You can use the “Programmer” tool to flash .hex file.
Here’s how:


Step1.

Open “nRF Connect for Desktop” → Select “Programmer” → then click” Open”.


Click “Select Device”;


Since AN7002 Wi-Fi IC does not act as an MCU,
we can only flash the .hex file into the MDBT53(nRF5340) BLE IC.


Click “Add file” to add the .hex file.


Step2.

Select the .hex file you want to flash.


The hex file will be written into the part of the memory layout (where orange part is highlighted).


Slashes will be displayed in the circled part during the flash process.


Step3.

Once the flash process is completed, connect Raytac’s AN7002Q-DB-5340 development board to PuTTY.

Tx to p0.20

Rx to p0.22

GND to GND

This is a closer look into the pins that will be connected.


The flash process is completed when the LOG is displayed as circled below.


Check if hardware connection is successful using PuTTY.


*2024-Aug-12 update:*
Before running Scan code / Station code / Shell code:
You must ensure that the MAC address has already been programmed into the module.
Click on this link to learn more about how to load the MAC address.


Useful references:



Edited by Sales Manager: Ms. Vicky Huang
Technical guidance provided by R&D Manager: Mr. MW Lee
Hardware environment provided by Hardware Engineer: Mr. Kyle Wang


Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com
email: sales@raytac.com
Tel: +886-2-3234-0208

Secure DFU OTA for nRF52840 solution modules: Guide to create hex/zip file for implementation – #3(Combining/merging built files)

Following up – Part A: Bootloader (Click for article link) and Part B: Application (Click for article link)

We will be focusing on:

in this article.

IC: nRF52840
DK: PCA10056 (for nRF52840)
SDK: 17.1.0
Softdevice: s140_nrf52_7.2.0_softdevice.hex
IDE: Keil C
PC: Win 10



Step 1. Execute the combine batch file in bootloader (nrf52840_bootloader_setting_merge.bat) and generate file of nrf52840_bootloader_secure_combin_settings.hex :

@echo off
title = [ J-Link Tool ] %CD%
set nrfDir=C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin
set BS= nrf52840_bootloader_secure_settings.hex
set BL= nrf52840_xxaa_s140.hex
set BSBLCombind= nrf52840_bootloader_secure_combin_settings.hex
set path=%nrfDir%;%path%
pause
echo ———–merge image file——————-
mergehex.exe -m %BS% %BL% -o %BSBLCombind%
pause


Step 2. Create a Final.hex file by 3-in-1 batch file(nrf52840_3in1_merge.bat)
※Note : This hex file is created for the production line to pre-load firmware into modules prior to shipment.

@echo off
title = [ J-Link Tool ] %CD%
set nrfDir=C:\Users\user\Desktop\Nordic BLE\nRF5_merge tools\nRF52 bin
set SD= s140_nrf52_7.2.0_softdevice.hex
set BLT= nrf52840_bootloader_secure_combin_settings.hex
set APP= nrf52840_xxaa.hex
set SD_BLT=SD_BLT.hex
set Finalfile=Final.hex
set path=%nrfDir%;%path%
pause
echo ———–merge image file——————-
mergehex.exe -m %SD% %BLT% -o %SD_BLT%
pause
mergehex.exe -m %SD_BLT% %APP% -o %Finalfile%
pause


Step 3. Create a DFU(OTA).zip file of nrf52840_xxaa.zip
※Note : This zip file is created for end device DFU(OTA) implementation.

nrfutil pkg generate –hw-version 52 –sd-req 0x100 –application-version 0xFF –application
nrf52840_xxaa.hex –key-file private.pem nrf52840_xxaa.zip

The DFU OTA zip file will be derived.

※Note :
The “0x100" appeared in the above DOS code(in red font) is the FWID(Firmware ID) for s140_nrf52_7.2.0_softdevice.hex;
FWID can be found from the soft device documents on the Nordic website.



Step 4: Run DFU OTA (On mobile in this example)


4A. Install the nRF Connect APP on mobile, with DFU OTA file: nrf52840_xxaa.zip. (Download link)


4B. Send nrf52840_xxaa.zip via email to mobile device after combination is done on PC, then download it.


4C. Open nRF Connect APP and run connection;


4D. Execute DFU and select “Distribution packet(ZIP)", thus starting the DFU OTA process.


4E. Start DFU OTA → exit the APP after DFU OTA is completed → restart the mobile device.



Secure DFU OTA for nRF52840 solution modules: Guide to create hex/zip file for implementation
Detailed links of articles:
Part A: Bootloader (Click for article link)
Part B: Application
(Click for article link)
Part C: Combining and merging built files
(Click for article link)



Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Mr. Tony Yin

Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com
email: service@raytac.com
Tel: +886-2-3234-0208

Secure DFU OTA for nRF52840 solution modules: Guide to create hex/zip file for implementation – #2(Application)

Following up-Part A: Bootloader (Click for article link)

We will be focusing on:

in this article.

IC: nRF52840
DK: PCA10056 (for nRF52840)
SDK: 17.1.0
Softdevice: s140_nrf52_7.2.0_softdevice.hex
IDE: Keil C
PC: Win 10


Path: nRF5_SDK_17.1.0_ddde560\examples\ble_peripheral\ble_app_uart\pca10056\s140\arm5_no_packs

Before building Application code , some amendments need to be made regarding DFU-related settings and code inside Application:

Step 1.


1A. Add code in definition in C/C++ :
BL_SETTINGS_ACCESS_ONLY NRF_DFU_SVCI_ENABLED NRF_DFU_TRANSPORT_BLE=1
(Total 3 steps definitions need to be set up)


1B. Add “include path” in C/C++


1C. Add the .c files inside red frame in (Screenshots 1 & 2)
and the 2 groups of (nRF_DFU & nRF_SVC)(Screenshot 3) under Project(Screenshot 4)



1D. Add code into main.c file in Application (..\examples\ble_peripheral\ble_app_uart\main.c)
(Please refer to: main.c file at: ..\examples\ble_peripheral\ ble_app_buttonless_dfu)


1E. The code of file: sdk_config.h (..\examples\ble_peripheral\ble_app_uart\pca10056\s140\config\
sdk_config.h) inside Application needs to be modified.


1F. Adjust the IRAM1 value in Target after implementing DFU service:
Check on the IRAM1 Value of *p_app_ram_start to be modified from default: 0x20002AE8 0x3D518 to 0x20002AF8 0x3D508, as shown in the red frame in the bottom right corner.
In this case, the program should run successfully.


1G: Create a file of: nrf52840_xxaa.hex after building application code files.


Step 2. Create a bootloader setting file of nrf52840_bootloader_secure_settings.hex : (via DOS)

nrfutil settings generate –family NRF52840 –application nrf52840_xxaa.hex –application-version 3 — bootloader-version 2 –bl-settings-version 1 nrf52840_bootloader_secure_settings.hex –no-backup


※Stay tuned for #3 – Part C: Combining and merging built files in the next article,

scheduled release in next week(05/06/2024).


Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Mr. Tony Yin

Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com
email: service@raytac.com
Tel: +886-2-3234-0208

Secure DFU OTA for nRF52840 solution modules: Guide to create hex/zip file for implementation – #1(Bootloader)

Below are the following steps to implement Secure DFU OTA by using nRF52840 chip set, SDK17.1.0.
It consists of 3 parts:

Part A: Bootloader

Part B: Application (Click for article link)

Part C: Combining and merging built files (Click for article link)

In this article, we will be focusing on Part A: Bootloader.

Path: nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10056_s140_ble\arm5_no_packs


Step 1. An error may occur while building bootloader without a public key:
(Shown in red frames in below screenshot)


Step 2. How to generate the public key file in Bootloader?
A. Visit DOS at path: ..\Python27\Scripts
B. Then execute:

nrfutil keys generate private.pem
nrfutil keys display --key pk --format code private.pem --out_file public_key.c


Step 3. Copy the pk[64] code from (public_key.c) into (dfu_public_key.c)
(Shown in red frames in below screenshot)

※Note: Make sure to save the 3 generated files:
private.pem
public_key.c
dfu_public_key.c


Step 4. Generate the bootloader file: nrf52840_xxaa_s140.hex after re-compiling the code files.


※Stay tuned for #2 – Part B: Application in the next article, scheduled release in next week(29/05/2024).



Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Mr. Tony Yin


Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com
email: service@raytac.com
Tel: +886-2-3234-0208

Raytac announces release of AN54H20 Series Module based on Nordic’s nRF54H20 chip solution

Raytac Corporation, a Nordic-recommended third-party module manufacturer based in Taiwan, today announces the upcoming release of the AN54H20 modules, which are built on the base of Nordic’s nRF54H20 SoC.

The AN54H20 module comes in a 9.8 x 13.8 x 1.8mm (0.37 by 0.53 by 0.07 inches) dimension factor and offers 3 versions of high-performance antennas, including ceramic chip antenna, PCB-mounted antenna, and uFL connector for external antenna. Output power is adjustable up to +10 dBm and data rate is adjustable up to 4Mbps to maximize RF performance.

Powered by multiple processors, AN54H20 modules provide the IoT field with access to a whole set of improved features, including 2MB flash memory/1MB RAM and bigger processing power for more complicated computations.  It also enhances protection against security threats, providing developers with protection while building technologically advanced IoT applications.

Hardware wise, AN54H20 inherits nRF54H20’s set of versatile, advanced, and low-power peripherals alongside DMA support, including high-speed USB, CAN-FD controller, 14-bit ADC, 2 x I3C and plenty more.  What’s more revolutionary is that AN54H20 brings power efficiency to a whole new level through accurately controlling currency consumptions under various modes, allowing smaller batteries to be implemented in the applications while increasing its life expectancy.

“We see the AN54H20 series as a potential market changer.  The compact size gives developers a seamless switch from the previous generation modules to AN54H20, and the remarkable power efficiency and characteristics AN54H20 brings will offer a magnificent effect to the inescapable hot trend of IoT and other various industries." – Lyon Liu, President of Raytac Corporation.

Product link: https://www.raytac.com/product/index.php?index_m1_id=81&index_m2_id=102

Features

 – Compact size: 9.8 mm x 13.8 mm x 1.8 mm (0.37″ x 0.53″ x 0.07″)

 – Ceramic chip, PCB, and u.FL connector variations available

 – 64 GPIOs

 – Dual Arm Cortex-M33 processors

 – Dual RISC-V co-processors

 – Flash memory: 2 MB and RAM: 1 MB

 – Max TX power: +10dBm

 – Max data rate: 4Mbps

 – Enhanced security features

 – Outstanding power efficiency

 – Advanced and expanded peripherals available 

– Highly flexible multiprotocol, ideal for Bluetooth Low Energy, LE Audio(Auracast), Bluetooth mesh, Thread, ANT+, Zigbee, and Matter applications

 – Pre-certified with multiple global regulations & Bluetooth qualification

 – RoHS-/REACH-compliant

Samples of AN54H20 will be available in Q3 2024, please subscribe to Raytac’s WordPress blog:

https://raytac.blog

For more upcoming information.

Welcome to send an inquiry to: service@raytac.com for further discussions.



Edited by Sales Manager: Mr. Tony Yin




Raytac Corporation 勁達國際電子股份有限公司 
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.

Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822

WiFi Solution: nRF7002
http://www.raytac.com
email: service@raytac.com
Tel: +886.2.3234.0208