RD-RW612-BGA

Overview

The RW612 is a highly integrated, low-power tri-radio wireless MCU with an integrated 260 MHz ARM Cortex-M33 MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.3 / 802.15.4 radios designed for a broad array of applications, including connected smart home devices, gaming controllers, enterprise and industrial automation, smart accessories and smart energy.

The RW612 MCU subsystem includes 1.2 MB of on-chip SRAM and a high-bandwidth Quad SPI interface with an on-the-fly decryption engine for securely accessing off-chip XIP flash.

The advanced design of the RW612 delivers tight integration, low power and highly secure operation in a space- and cost-efficient wireless MCU requiring only a single 3.3 V power supply.

Hardware

  • 260 MHz ARM Cortex-M33, tri-radio cores for Wifi 6 + BLE 5.3 + 802.15.4

  • 1.2 MB on-chip SRAM

Supported Features

The rd_rw612_bga board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

Note

Power modes 1, 2 and 3 are supported when using System Power Management.

Display Support

The rd_rw612_bga board supports several in-tree display modules. Setup for each module is described below:

GoWorld 16880 LCM

This module does not connect directly to the board, and must be connected via an adapter board and jumper wires. Connections are described in boards/nxp/rd_rw612_bga/dts/goworld_16880_lcm.overlay. The display sample can be built for this board like so:

west build -b rd_rw612_bga samples/drivers/display -- -DDTC_OVERLAY_FILE=goworld_16880_lcm.overlay

Adafruit 2.8 TFT

The Adafruit 2.8” TFT Touch Shield v2 connects to the board’s Arduino headers directly, but some modifications are required (see boards/shields/adafruit_2_8_tft_touch_v2/boards/rd_rw612_bga.overlay for a list). The display sample can be built for this module like so:

west build -b rd_rw612_bga --shield adafruit_2_8_tft_touch_v2 samples/drivers/display

NXP LCD_PAR_S035

The NXP LCD_PAR_S035 TFT LCD Module does not connect directly to the board, and must be connected via jumper wires. Connections and required board changes are described in boards/shields/lcd_par_s035/boards/rd_rw612_bga.overlay. The display sample can be built for the module like so:

west build -b rd_rw612_bga --shield lcd_par_s035_8080 samples/drivers/display

Fetch Binary Blobs

To support Bluetooth or Wi-Fi, rd_rw612_bga requires fetching binary blobs, which can be achieved by running the following command:

west blobs fetch hal_nxp

Programming and Debugging

The rd_rw612_bga board supports the runners and associated west commands listed below.

flash debug

Build and flash applications as usual (see Building an Application and Run an Application for more details).

Configuring a Debug Probe

A debug probe is used for both flashing and debugging the board. This board is configured by default to use the JLink Firmware.

Configuring a Console

Connect a USB cable from your PC to J7, and use the serial terminal of your choice (minicom, putty, etc.) with the following settings:

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Flashing

Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.

# From the root of the zephyr repository
west build -b rd_rw612_bga samples/hello_world
west flash

Open a serial terminal, reset the board (press the RESET button), and you should see the following message in the terminal:

***** Booting Zephyr OS v3.4.0 *****
Hello World! rd_rw612_bga

Debugging

Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.

# From the root of the zephyr repository
west build -b rd_rw612_bga samples/hello_world
west debug

Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:

***** Booting Zephyr OS zephyr-v3.6.0 *****
Hello World! rd_rw612_bga

Bluetooth

BLE functionality requires to fetch binary blobs, so make sure to follow the Fetch Binary Blobs section first.

rd_rw612_bga platform supports the monolithic feature. The required binary blob <zephyr workspace>/modules/hal/nxp/zephyr/blobs/rw61x_sb_ble_a2.bin will be linked with the application image directly, forming one single monolithic image.

Wi-Fi

Wi-Fi functionality requires to fetch binary blobs, so make sure to follow the Fetch Binary Blobs section first.

rd_rw612_bga platform supports the monolithic feature. The required binary blob <zephyr workspace>/modules/hal/nxp/zephyr/blobs/rw61x_sb_wifi_a2.bin will be linked with the application image directly, forming one single monolithic image.

Board variants

Ethernet

To use ethernet on the RD_RW612_BGA board, you first need to make the following modifications to the board hardware:

Add resistors:

  • R485

  • R486

  • R487

  • R488

  • R489

  • R491

  • R490

Remove resistors:

  • R522

  • R521

  • R520

  • R524

  • R523

  • R508

  • R505

Then, build for the board target rd_rw612_bga//ethernet.

Support Resources for Zephyr

Resources