Skip to content

This software shows a Custom Wireless RF Test Mode (RFTM) on an NXP board. On power-up it runs in AP mode for web-based setup. Users connect, send config commands, and start RFTM tests. Results are logged in flash and later retrieved via AP for RF validation.

License

Notifications You must be signed in to change notification settings

nxp-appcodehub/dm-wireless-rf-test-mode-demo

Repository files navigation

NXP Application Code Hub

Wireless RFTM Application for Performance Testing of RW612 board

This software demonstrates a Custom Wireless RF Test Mode (RFTM) application running on an NXP development board.  
Upon powering the board, it starts in Access Point (AP) mode, allowing configuration via a web interface.  
Users can connect to the AP, enter configuration commands one at a time, and start RFTM mode for wireless testing.  
The device logs results in flash memory, which can be retrieved later by reconnecting to the AP and using the provided "Read the Results" feature.  
This example is useful for validating wireless performance, range, and stability in custom RF test scenarios. 

Boards: RD-RW612-BGA

Categories: Wireless Connectivity

Peripherals: Wi-Fi, Bluetooth

Toolchains: MCUXpresso IDE

Table of Contents

  1. Software
  2. Hardware
  3. Setup
  4. Results
  5. FAQs
  6. Support
  7. Release Notes

1. Software

2. Hardware

3. Setup

3.1 Import Example

  1. Open MCUXpresso IDE, in the Quick Start Panel, choose Import from Application Code Hub

  1. Enter the demo name in the search bar.

  1. Click Copy GitHub link, MCUXpresso IDE will automatically retrieve project attributes, then click Next>.

  1. Select main branch and then click Next>, Select the MCUXpresso project, click Finish button to complete import.

3.2 Build and flash

  1. Connect a USB cable between the PC host and the MCU-Link port on the target board.

  1. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  2. Build the application.

  1. Flash the program to the target board.

  1. Press the reset button.

  2. Download controller FW according to the document SDK_XX_XX_XX\component\conn_fwloader\readme.txt.

3.3 Running the demo

  1. Power On the Board

    Upon powering up, the device will automatically start in Access Point (AP) mode.

  2. Connect to the Configuration Network

    On your peer device (e.g., phone or laptop), scan for available Wi-Fi networks and connect to:

    SSID: nxp_configuration_access_point

    Password: NXP0123456789

  3. Access the Configuration Interface

    Open a web browser and navigate to:

    http://192.168.1.1/

  4. Enter Configuration Commands (One at a Time)

    On the UI page:

    Locate the "Write Command" input field.

    Enter only one command at a time to configure RFTM mode.

    Click "Send Command" after each entry.

    Repeat this process for all required commands.

    Supported commands: wlan-version

    wlan-mac

    wlan-set-rf-test-mode

    wlan-unset-rf-test-mode

    wlan-set-rf-tx-antenna

    wlan-get-rf-tx-antenna

    wlan-set-rf-rx-antenna

    wlan-get-rf-rx-antenna

    wlan-set-rf-band

    wlan-get-rf-band

    wlan-set-rf-bandwidth

    wlan-get-rf-bandwidth

    wlan-set-rf-channel

    wlan-get-rf-channel

    wlan-set-rf-radio-mode <radio_mode>

    wlan-get-rf-radio-mode

    wlan-set-rf-tx-power <tx_power> <path_id>

    wlan-set-rf-tx-cont-mode <enable_tx> <cw_mode> <payload_pattern> <cs_mode> <act_sub_ch> <tx_rate>

    wlan-set-rf-tx-frame <data_rate> <frame_pattern> <frame_len> <adjust_burst_sifs> <burst_sifs_in_us> <short_preamble> <act_sub_ch> <short_gi> <adv_coding> <tx_bf> <gf_mode>

    wlan-set-rf-trigger-frame-cfg <Enable_tx> <Standalone_hetb> <FRAME_CTRL_TYPE> <FRAME_CTRL_SUBTYPE> <FRAME_DURATION> <

    wlan-set-rf-he-tb-tx <axq_mu_timer> <tx_power>

    wlan-get-and-reset-rf-per

    wlan-set-rf-otp-mac-addr <mac_addr>

    wlan-get-rf-otp-mac-addr

    wlan-set-rf-otp-cal-data

    wlan-get-rf-otp-cal-data

    le_test.set_tx_power

    le_test.tx_test <data_len> <pkt_payload>

    le_test.rx_test <modulation_index>

  5. Command Response Handling

    If the command is valid, the response will be:

    status: command accepted

    If the command is invalid or malformed, the response will be:

    status: Unknown or malformed command

  1. Send 'per_calculate_int xx' command which will set PER measurement interval to xx seconds(e.g for 10 minutes enter 600 : "per_calculate_int 600").

  2. Send 'pwr_reboot_minutes xx' command which will set device reboot interval to xx minutes.

  3. Start RFTM Mode

    After entering all required commands:

    Click the "Start RFTM Mode" button.

    Check the debug log for "RFTM start triggered" message.

    Close the browser window.

  4. Device Operation in RFTM Mode

    The device will:

    Exit AP mode.

    Enter RFTM mode.

    Begin storing logs in flash memory.

4. Results

Once testing is complete:

Reboot the device.

Repeat steps 1 to 3 of section 3.3.

Click the "Read the Results" button on ui.

The logs will be displayed in the Command Result window.

5. FAQs

No FAQs have been identified for this project.

6. Support

No URL

Project Metadata

Board badge

Category badge

Peripheral badge Peripheral badge

Toolchain badge

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected functionality, enter your questions on the NXP Community Forum

Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter

7. Release Notes

Version Description / Update Date
1.0 Initial release on Application Code Hub Sep 18th 2025
Trademarks and Service Marks: There are a number of proprietary logos, service marks, trademarks, slogans and product designations ("Marks") found on this Site. By making the Marks available on this Site, NXP is not granting you a license to use them in any fashion. Access to this Site does not confer upon you any license to the Marks under any of NXP or any third party's intellectual property rights. While NXP encourages others to link to our URL, no NXP trademark or service mark may be used as a hyperlink without NXP’s prior written permission. The following Marks are the property of NXP. This list is not comprehensive; the absence of a Mark from the list does not constitute a waiver of intellectual property rights established by NXP in a Mark.
NXP, the NXP logo, NXP SECURE CONNECTIONS FOR A SMARTER WORLD, Airfast, Altivec, ByLink, CodeWarrior, ColdFire, ColdFire+, CoolFlux, CoolFlux DSP, DESFire, EdgeLock, EdgeScale, EdgeVerse, elQ, Embrace, Freescale, GreenChip, HITAG, ICODE and I-CODE, Immersiv3D, I2C-bus logo , JCOP, Kinetis, Layerscape, MagniV, Mantis, MCCI, MIFARE, MIFARE Classic, MIFARE FleX, MIFARE4Mobile, MIFARE Plus, MIFARE Ultralight, MiGLO, MOBILEGT, NTAG, PEG, Plus X, POR, PowerQUICC, Processor Expert, QorIQ, QorIQ Qonverge, RoadLink wordmark and logo, SafeAssure, SafeAssure logo , SmartLX, SmartMX, StarCore, Symphony, Tower, TriMedia, Trimension, UCODE, VortiQa, Vybrid are trademarks of NXP B.V. All other product or service names are the property of their respective owners. © 2021 NXP B.V.

About

This software shows a Custom Wireless RF Test Mode (RFTM) on an NXP board. On power-up it runs in AP mode for web-based setup. Users connect, send config commands, and start RFTM tests. Results are logged in flash and later retrieved via AP for RF validation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published