- This release updates Matter 1.4 (Fall 2024) support for the following NXP platforms: K32W0 (K32W061/041), K32W1 (K32W148), MCX W71, MCX W72, RW61x (RW612, RW610), i.MX RT1060 + radio co-processors (K32W0 RCP, IW416, 88W8801, IW612), i.MX RT1170 + IW612.
- The release supports integration with MCUXpresso SDK 24.12.00 for FreeRTOS configurations for all platforms except K32W0. For more information on the improvements delivered with MCUXpresso SDK 24.12.00 see this introduction.
- Introducing experimental support of CMake build system option for Matter over Wi-Fi FreeRTOS configurations for RW61x platforms. See section below for usage details of CMake build system.
- The release supports integration with Zephyr RTOS 4.0 for Matter over Wi-Fi configurations for RW61x platforms.
- The release also provides other improvements and maintenance updates.
Version information
The versions for Matter (connectedhomeip), OpenThread, MCUXpresso SDK with FreeRTOS, and Zephyr RTOS that are integrated by this release are summarized below:
- Matter: v1.4.0 based on CSA Matter SDK baseline commit version dee7d7bf629 part of v1.4-branch.
- OpenThread: ot-nxp v1.4.0.1
- SDK:
- K32W1, MCX W71, MCX W72, RW61x and iMX RT: MCUXpresso SDK v24.12.00 (GitHub based, including FreeRTOS)
- K32W0: MCUXpresso SDK 2.6.15 (GitHub based, including FreeRTOS)
- RW61x: NXP Zephyr RTOS SDK v4.0.0
- NXP MCUXpresso for Visual Studio Code Extension Matter metadata: v1.4.0.1
Development tools options
- CLI (command line) - see individual application README.md linked in section Features and examples supported for build, deployment, and debug command references. Usage of CLI is recommended within a Linux development environment.
- GUI based for Windows, Mac OS, and Linux via NXP MCUXpresso for Visual Studio (VS) Code Extension with pre-configured examples for FRDM-MCXW71, FRDM-RW612, and i.MX RT boards. For further information on using the NXP Matter codebase with MCUXpresso VS Code Extension see the following guides and references:
Features and examples supported
The release supports configurations for Matter over Wi-Fi, Matter over Ethernet (experimental), Matter over Thread, and Matter over Wi-Fi with Thread Border Router. To get started
see the following entry points of pre-configured application examples:
- K32W0 FreeRTOS - Matter over Thread (with Bluetooth LE commissioning):
- K32W1 FreeRTOS - Matter over Thread (with Bluetooth LE commissioning):
- MCX W71 FreeRTOS - Matter over Thread (with Bluetooth LE commissioning):
- MCX W72 FreeRTOS - Matter over Thread (with Bluetooth LE commissioning):
- RW61x FreeRTOS - Matter over Wi-Fi (with Bluetooth LE commissioning), or Matter over Thread (with Bluetooth LE commissioning), or Matter over Wi-Fi with OpenThread Border Router support (with Bluetooth LE commissioning). All applications support basic Thread Border Router features, but the Matter 1.4 TBRM and Secondary Network Interface clusters are only supported by the thermostat application.
- thermostat
- all-cluster-apps
- temperature-measurement-app
- laundry-washer-app
- smoke-co-alarm-app
- cooktop-app
- cooksurface-app
- onoff-plugin-unit-app
- air-quality-sensor-app
- room-air-conditioner-app
- pump-app
- window-app
- lock-app
- light-switch-app
- laundry-dryer-app
- air-purifier-app
- color-temperature-light
- dishwasher-app
- light-switch-combo-app
- microwave-oven-app
- occupancy-sensor-app
- refrigerator-app
- rvc-app
- RW61x - Zephyr RTOS - Matter over Wi-Fi (with Bluetooth LE commissioning)
- RW61x - Zephyr RTOS - Matter over Ethernet (Experimental)
- i.MX RT1060 + K32W0 RCP FreeRTOS - Matter over Thread (with Bluetooth LE commissioning); RT1060 + IW416 - Matter over Wi-Fi (with Bluetooth LE commissioning); RT1060 + 88W8801 - Matter over Wi-Fi; i.MX RT1060 + 88W8801 + K32W0 RCP Matter over Wi-Fi with OpenThread Border Router support; i.MX RT1060 + IW612 Matter over Wi-Fi (with Bluetooth LE commissioning), or Matter over Thread (with Bluetooth LE commissioning), or Matter over Wi-Fi with OpenThread Border Router support (with Bluetooth LE commissioning):
- i.MX RT1170 + IW612 FreeRTOS - Matter over Thread (with Bluetooth LE commissioning), or Matter over Wi-Fi (with Bluetooth LE commissioning), or Matter over Wi-Fi with OpenThread Border Router support:
Main changes compared to previous release (v1.4.0.0)
-
Platforms supporting OpenThread Border Router under FreeRTOS:
- Added IPv4 communication support for mDNS
-
K32W0 FreeRTOS:
- Fixed light-switch-combo-app build issues
-
K32W1 FreeRTOS:
- Added MCUXpresso SDK v24.12.00 support
-
MCX W71 FreeRTOS:
- Added MCUXpresso SDK v24.12.00 support
-
MCX W72 FreeRTOS:
- Added MCUXpresso SDK v24.12.00 support
-
RW61x FreeRTOS:
- Added MCUXpresso SDK v24.12.00 support
- Initial support for Matter over Wi-Fi build with CMake
- Fixed items related to Matter 1.4 certification
-
RW61x Zephyr:
- Added Zephyr RTOS v4.0 support
- Added FRDM-RW612 board support
-
i.MX RT1060/i.MX RT1170 + radio co-processors FreeRTOS:
- Added MCUXpresso SDK v24.12.00 support
- Fixed OTA Requestor support for Thermostat application for i.MX RT1060 + IW612
Known issues and limitations
- RW61x FreeRTOS: CMake build configurations delivered as experimental support only.
- RW61x FreeRTOS: Matter over Ethernet support delivered as experimental support only.
- RW61x, RT1170, RT1060 FreeRTOS OpenThread Border Router: NAT64 support not enabled, TREL uses link local IPv6 address instead of highest IPv6 address scope available.
- RW61x Zephyr: IPV4 mDNS is not supported.
- K32W0 FreeRTOS: ICD Dynamic SIT/LIT feature is not fully supported.
- K32W1, MCX W71 FreeRTOS: OTAP cluster message
NotifyUpdateApplied
may not be sent reliably; only ot-cli-ftd and ot-cli-mtd applications can be built in ot-nxp repository. - MCX W72 FreeRTOS: Configuration delivered as experimental support only; only ot-cli-ftd and ot-cli-mtd applications can be built in ot-nxp repository.
- RT1170 FreeRTOS: MCUboot build option
-DCONFIG_MCUBOOT_SWAP_MOVE=1
needs to be manually added when building MCUboot for this configuration. - RT+transceivers FreeRTOS: application tasks may become non-responsive in high throughput protocol scenarios.
Troubleshooting VS Code configurations
- GN args may not be added when building RW/RT targets which may cause build errors in VS Code. In this case go to the VS Code project
BuildConfigurations
, selectEdit Matter GN build
, then selectSave
and restart a new build. - VS Code usage on Windows: during
bootstrap.bat
script run ifERROR: Failed building wheel for bitarray
is displayed, the repository setup will continue but some Python package(s) may be missing. In this case, if errorModuleNotFoundError: No module named 'coloredlogs'
is displayed thecoloredlogs
package needs to be installed manually. Open a Windows command shell, change directory to the root of the Matter repository, enterthird_party\nxp\nxp_matter_support\scripts\activate.bat
, then enterwhere pip
and finally enter the package installation command using full path of the workspace folder (parent of the Matter repository) for example:C:\workspace\.environment\pigweed-venv\Scripts\pip.exe install coloredlogs
.
Memory footprint summary (Release mode - without Matter CLI)
- K32W0
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage | Factory data section | NVM (external flash PDM area) | OS |
---|---|---|---|---|---|---|---|
On/Off Light | Matter over Thread | Release | 610 K | 76.6 K SRAM + 60 K heap | 2 K | 252 K | FreeRTOS |
Contact Sensor | Matter over Thread | Release | 574 K | 76.7 K SRAM + 60 K heap | 2 K | 252 K | FreeRTOS |
- K32W1
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage | Factory data section | NVM (internal flash area) | OS |
---|---|---|---|---|---|---|---|
On/Off Light | Matter over Thread | Release | 695 K | 71 K SRAM + 34.5 K heap | 8 K | 32 K | FreeRTOS |
Contact Sensor | Matter over Thread | Release | 648 K | 63 K SRAM + 34.5 K heap | 8 K | 32 K | FreeRTOS |
- MCX W71
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage | Factory data section | NVM (internal flash area) | OS |
---|---|---|---|---|---|---|---|
On/Off Light | Matter over Thread | Release | 694 K | 71 K SRAM + 34.5 K heap | 8 K | 32 K | FreeRTOS |
Contact Sensor | Matter over Thread | Release | 647 K | 63 K SRAM + 34.5 K heap | 8 K | 32 K | FreeRTOS |
- MCX W72
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage | Factory data section | NVM (internal flash area) | OS |
---|---|---|---|---|---|---|---|
On/Off Light | Matter over Thread | Release | 695 K | 82 K SRAM + 47.5 K heap | 8 K | 32 K | FreeRTOS |
Contact Sensor | Matter over Thread | Release | 648 K | 72 K SRAM + 47.5 K heap | 8 K | 32 K | FreeRTOS |
- RW61X (FRDM)
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage (including OS heap) | Factory data section | NVM | OS |
---|---|---|---|---|---|---|---|
Thermostat app with OTA requestor | Matter over Wi-Fi (with BLE) | Release | 1845 K | 523 K | 4 K | 64 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi with OTBR (with BLE) | Release | 2195 K | 682 K | 4 K | 64 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Thread | Release | 1905 K | 411 K | 4 K | 64 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi (with BLE) | Debug | 3387 K | 510 K | 4 K | 64 K | Zephyr |
- i.MX RT1060 + radio co-processors
Matter Example | Connectivity support | Build mode | Radio Co-Processor | Application Flash usage | Application RAM usage (including freeRTOS heap) | Factory data section | NVM | OS |
---|---|---|---|---|---|---|---|---|
Thermostat app with OTA requestor | Matter over Thread | Release | K32W0 | 1066 K | 466 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi (with BLE) | Release | IW416 | 1350 K | 478 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi (without BLE) | Release | 8801 | 900 K | 394 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi (without BLE) | Release | IW612 | 1881 K | 485 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Thread | Release | IW612 | 1951 K | 476 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi with OTBR (with BLE) | Release | IW612 | 2224 K | 651 K | 4 K | 128 K | FreeRTOS |
- i.MX RT1170 + IW612
Matter Example | Connectivity support | Build mode | Application Flash usage | Application RAM usage (including freeRTOS heap) | Factory data section | NVM | OS |
---|---|---|---|---|---|---|---|
Thermostat app with OTA requestor | Matter over Wi-Fi (with BLE) | Release | 1877 K | 441 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Wi-Fi with OTBR (with BLE) | Release | 2221 K | 607 K | 4 K | 128 K | FreeRTOS |
Thermostat app with OTA requestor | Matter over Thread | Release | 1947 K | 443 K | 4 K | 128 K | FreeRTOS |
Getting started with CMake build system for RW61x
As of version 24.12.00, the NXP MCUXpresso SDK has introduced a build and configuration system based on CMake and
Kconfig. For more information about the SDK support, see
NXP MCUXPresso SDK Build System and Configuration documentation.
Follow the steps below to set up an environment and build Matter applications using the CMake build system for RW61x Matter over Wi-Fi FreeRTOS configurations.
- Step 1: In the root of Matter / connectedhomeip repository checkout NXP specific submodules only:
scripts/checkout_submodules.py --shallow --platform nxp --recursive
- Step 2: Activate Matter environment:
If you are setting the Matter environment for the first time, or your local
environment is out of date, run the following script :
source scripts/bootstrap.sh -p all,nxp
Otherwise, you can run the following script to activate your environment:
source scripts/activate.sh
- Step 3: Install NXP MCUXpresso SDK version 24.12.00 (or later):
third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common
- Step 4: Source mcux-env.sh
source <path to mcux sdk>/mcux-env.sh
- Step 5: Export the
ARMGCC_DIR
environment variable
The CMake build system requires the ARMGCC_DIR
environment variable to point
to the root directory of the armgcc
. You can either locate your
toolchain or use the one installed by Matter (during environment setup), and
export the path as follows:
export ARMGCC_DIR=/path/to/connectedhomeip/.environment/cipd/packages/arm
Note : Steps 1 to 3 can be skipped if your environment is up to date. Steps 4
and 5 should be repeated in each new terminal session to ensure the
environment is correctly configured.
- Step 6: The example application can be built with the
west build
command:
west build -d <build_dir> -b <board> <path/to/examples> -DCONF_FILE=<abs_path/to/prj_custom.conf>
Here is an example based on the FRDM-RW612 board:
west build -d build_matter/ -b frdmrw612 examples/thermostat/nxp/ -DCONF_FILE=/home/user/matter_repo/examples/platform/nxp/rt/rw61x/prj_wifi_ota_fdata.conf