Sample description

The Radio test (Multi domain) sample demonstrates how to configure the Wi-Fi® radio in a specific mode and then test its performance. It provides a set of predefined commands that allow you to configure the radio in the following modes:

  • Modulated carrier TX

  • Modulated carrier RX

  • Tone transmission

  • IQ sample capture at ADC output

The sample also shows how to program the user region of FICR parameters on the development kit using a set of predefined commands.

Requirements

The sample supports the following development kits:

Hardware platforms

PCA

Board name

Board target

Shields

Thingy:91 X

PCA20065

thingy91x

thingy91x/nrf9151/ns

Thingy:53

PCA20053

thingy53

thingy53/nrf5340/cpuapp

nrf7002eb

nRF9160 DK

PCA10090

nrf9160dk

nrf9160dk/nrf9160/ns

nrf7002ek_nrf7000

nRF7120 DK

nrf7120dk

nrf7120dk/nrf7120/cpuapp

nRF7002 DK (emulating nRF7001)

PCA10143

nrf7002dk

nrf7002dk/nrf5340/cpuapp/nrf7001

nRF7002 DK

PCA10143

nrf7002dk

nrf7002dk/nrf5340/cpuapp

nRF54H20 DK

PCA10175

nrf54h20dk

nrf54h20dk/nrf54h20/cpuapp

"nrf7002eb_interposer_p1;nrf7002eb"

nRF5340 DK

PCA10095

nrf5340dk

nrf5340dk/nrf5340/cpuapp

nrf7002ek nrf7002ek_nrf7001

nRF52840 DK

PCA10056

nrf52840dk

nrf52840dk/nrf52840

nrf7002ek nrf7002ek_nrf7001

Overview

To run the tests, connect to the development kit through the serial port and send shell commands. Zephyr’s Shell module is used to handle the commands.

You can start running wifi_radio_test subcommands to set up and control the radio. See Radio test subcommands for a list of available subcommands.

In the Modulated carrier RX mode, you can use the get_stats subcommand to display the statistics. See Radio test subcommands for a list of available statistics.

You can use wifi_radio_ficr_prog subcommands to read or write OTP registers. See FICR programming subcommands for a list of available subcommands.

Note

All the FICR registers are stored in the one-time programmable (OTP) memory. Consequently, the write commands are destructive. Once written, the contents of the OTP registers cannot be reprogrammed.

Building and running

This sample can be found under samples/wifi/radio_test/multi_domain in the nRF Connect SDK folder structure.

To build the sample, follow the instructions in Building an application for your preferred building environment. See also Programming an application for programming steps and Testing and optimization for general information about testing and debugging in the nRF Connect SDK.

Note

When building repository applications in the SDK repositories, building with sysbuild is enabled by default. If you work with out-of-tree freestanding applications, you need to manually pass the --sysbuild parameter to every build command or configure west to always use it.

To build for the nRF7002 DK, use the nrf7002dk/nrf5340/cpuapp board target. The following is an example of the CLI command:

west build -b nrf7002dk/nrf5340/cpuapp

To build for the nRF7002 EK and nRF5340 DK, use the nrf5340dk/nrf5340/cpuapp board target with the SHIELD CMake option set to nrf7002ek. The following is an example of the CLI command:

west build -b nrf5340dk/nrf5340/cpuapp -- -DSHIELD=nrf7002ek

See also Providing CMake options for instructions on how to provide CMake options.

Refer to the sample.yaml file for a complete list of supported boards and their corresponding build command options.

Dependencies

This sample uses the following Zephyr library:

  • Shell:

    • include/shell/shell.h