Nordic nRF7002-DK Zephyr Linux Installation Steps

There is another excellent platform from Nordic called the nRF7002-DK that has the following capabilities:

  • Key features

    •  nRF7002 Wi-Fi Companion IC
    •  nRF5340 SoC as host processor
    •  Arduino connectors
    •  Two programmable buttons
    •  Antennas for 2.4 and 5 GHz
    •  Current measurement pins
    •  Board support and samples in nRF Connect SDK
  • nRF7002 Wi-Fi Companion IC

    •  2.4 GHz and 5 GHz dual-band
    •  Low-power and secure Wi-Fi for the IoT
    •  Ideal coexistence with Bluetooth LE
    •  Supported in nRF Connect SDK
    •  Target Wake Time (TWT)
    •  SPI / QSPI
    •  Wi-Fi 6 Station (STA)
    •  Complies with 802.11a/b/g/n/ac/ax
    •  1 Spatial Stream (SS)
    •  20 MHz channel bandwidth
    •  64 QAM (MCS7), 86 Mbps PHY throughput
    •  OFDMA (Downlink and Uplink)
    •  BSS coloring
    •  Co-existence interfaces
  • nRF5340 SoC

    •  High performance 128 MHz Arm Cortex-M33 application core
    •  Ultra-low power 64 MHz Arm Cortex-M33 network core
    •  Multi-protocol radio supporting:
      • Bluetooth LE
      • Bluetooth mesh
      • Thread and Zigbee

In order to build via Zephyr RTOS in this platform, please follow the installation steps previously outlined here. Once those steps are completed, an application that blinks an LED in the board can be build using the following step,

/zephyrproject/zephyr$ west build -p always -b nrf7002dk/nrf5340/cpuapp samples/basic/blinky

Memory region         Used Size  Region Size  %age Used
           FLASH:       21520 B         1 MB      2.05%
             RAM:        4440 B       448 KB      0.97%
        IDT_LIST:          0 GB        32 KB      0.00%

Once that is completed, the board can be flashed as follows,

west flash

Here is the video showing the LED blinking in the board,

The source code for this LED blinking demo is located here,

samples/basic/blinky/src/main.c

We have demonstrated how to build and flash the basic LED blinking application using Zephyr RTOS for this Nordic development kit.

Also we can build and compile a demo that shows two threads in the Zephyr RTOS,

zephyrproject/zephyr$ west build -p always -b nrf7002dk/nrf5340/cpuapp samples/synchronization/

the application is flashed,

west flash

and here is the demo running via the USB minicom terminal,

Welcome to minicom 2.9

OPTIONS: I18n 
Port /dev/ttyACM1, 15:36:42

Press CTRL-A Z for help on special keys

thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!
thread_a: Hello World from cpu 0 on nrf7002dk!
thread_b: Hello World from cpu 0 on nrf7002dk!

....


The synchronization demo has 2 threads that use semaphores and sleeping to take turns printing a message at a specified rate. Thread_a is a dynamic thread that is spawned in main. Thread_b is a static thread spawned immediately. This demo shows in the code both the static and dynamic approaches for spawning a thread; a real world application would likely use the static approach for both threads.

The source code is here,

samples/synchronization/src/main.c

The Nordic nRF7002-DK development kit is an excellent choice for the previously mentioned wireless applications. For instance, the Nordic nRF7002-DK is one of the very few certified Wi-Fi 6 embedded reference designs in the market, supporting dual-band and Target Wake Time.

Have a nice day!

This article is available in spanish here.

Este artículo esta disponible en español aqui.

This article is available in german here.

Dieser Artikel ist hier verfügbar.

This article is available in japanese here.

2 Likes