diff --git a/examples/light-switch-combo-app/nxp/mcxw71/.gn b/examples/light-switch-combo-app/nxp/mcxw71/.gn
new file mode 100644
index 00000000000000..146e2b9c27ec06
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/.gn
@@ -0,0 +1,31 @@
+# Copyright (c) 2020-2024 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+ target_cpu = "arm"
+ target_os = "freertos"
+
+ import("//args.gni")
+
+ # Import default platform configs
+ import("${chip_root}/src/platform/nxp/mcxw71_k32w1/args.gni")
+}
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/BUILD.gn b/examples/light-switch-combo-app/nxp/mcxw71/BUILD.gn
new file mode 100644
index 00000000000000..260c83f4502316
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/BUILD.gn
@@ -0,0 +1,268 @@
+# Copyright (c) 2024 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni")
+
+import("${chip_root}/src/crypto/crypto.gni")
+import("${chip_root}/src/platform/device.gni")
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+
+import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni")
+
+if (chip_enable_pw_rpc) {
+ import("//build_overrides/pigweed.gni")
+ import("$dir_pw_build/target_types.gni")
+ import("${chip_root}/examples/platform/nxp/pw_rpc_server.gni")
+}
+
+declare_args() {
+ # Setup discriminator as argument
+ setup_discriminator = 3840
+}
+
+assert(current_os == "freertos")
+
+example_platform_dir = "${chip_root}/examples/platform/nxp/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+support_common_platform_dir = "${nxp_sdk_matter_support_root}/examples/platform/common"
+
+mcxw71_k32w1_sdk("sdk") {
+ defines = []
+ include_dirs = []
+ sources = []
+
+ # Indicate the path to CHIPProjectConfig.h
+ include_dirs += [ "include/config" ]
+
+ # Indicate the default path to FreeRTOSConfig.h
+ include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+ # Indicate the default path to OpenThreadConfig.h
+ include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+ # Indicate the default path to GATT database
+ include_dirs += [ "${support_common_platform_dir}/ble" ]
+
+ include_dirs += [
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/MCXW716C"
+ ]
+
+ sources += [
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/MCXW716C/clock_config.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/MCXW716C/pin_mux.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_comp.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_lp.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/hardware_init.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/app_services_init.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_dcdc.c",
+ "${nxp_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_extflash.c",
+ "${support_common_platform_dir}/ble/ble_function_mux.c"
+ ]
+
+ if (is_debug) {
+ defines += [ "BUILD_RELEASE=0" ]
+ } else {
+ defines += [ "BUILD_RELEASE=1" ]
+ }
+
+ if (chip_enable_pw_rpc) {
+ defines += [
+ "CONFIG_ENABLE_PW_RPC",
+ "STREAMER_UART_FLUSH_DELAY_MS=0",
+ "STREAMER_UART_SERIAL_MANAGER_RING_BUFFER_SIZE=512",
+ "BOARD_APP_UART_CLK_FREQ=96000000",
+ ]
+ }
+
+ defines += [
+ "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+ ]
+
+ if (chip_key_storage == "littlefs")
+ {
+ include_dirs += [ "${example_platform_dir}/board" ]
+ sources += [
+ "${example_platform_dir}/board/peripherals.c",
+ "${example_platform_dir}/board/peripherals.h"
+ ]
+ }
+}
+
+mcxw71_k32w1_executable("light-switch-combo_app") {
+ output_name = "chip-mcxw71-light-switch-combo-example"
+
+ defines = []
+ deps = []
+ sources = []
+
+ if (chip_enable_pw_rpc) {
+ forward_variables_from(pw_rpc_server, "*")
+ } else {
+ include_dirs = []
+ cflags = [ "-Wconversion" ]
+ }
+
+ # Defines used by common code
+ defines += [
+ "CONFIG_NET_L2_OPENTHREAD=1",
+ "CONFIG_NETWORK_LAYER_BLE=1",
+ "CONFIG_OPERATIONAL_KEYSTORE=1",
+ "CONFIG_ENABLE_FEEDBACK=1",
+ "APP_QUEUE_TICKS_TO_WAIT=pdMS_TO_TICKS(10)",
+ "EXTERNAL_FACTORY_DATA_PROVIDER_HEADER=\"platform/nxp/common/factory_data/legacy/FactoryDataProvider.h\""
+ ]
+
+ # App common files
+ include_dirs += [
+ "${common_example_dir}/app_task/include",
+ "${common_example_dir}/matter_button/include",
+ "${common_example_dir}/clusters/include",
+ "${common_example_dir}/device_callbacks/include",
+ "${common_example_dir}/device_manager/include",
+ "${common_example_dir}/factory_data/include",
+ "${common_example_dir}/led_widget/include",
+ "${common_example_dir}/operational_keystore/include",
+ "${common_example_dir}/rpc/include",
+ "${common_example_dir}/ui_feedback/include",
+ "${common_example_dir}/app_ble/include",
+ ]
+
+ sources += [
+ "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+ "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+ "${common_example_dir}/clusters/source/ZclCallbacks.cpp",
+ "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+ "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+ "${common_example_dir}/operational_keystore/source/OperationalKeystoreS200.cpp",
+ "${common_example_dir}/app_ble/source/BLEApplicationManagerEmpty.cpp",
+ "${example_platform_dir}/factory_data/source/AppFactoryDataExample.cpp"
+ ]
+
+ if (chip_enable_ota_requestor) {
+ defines += [
+ "CONFIG_CHIP_OTA_IMAGE_PROCESSOR_HEADER=\"platform/nxp/common/ota/OTAImageProcessorImpl.h\"",
+ # The status LED and the external flash CS pin are wired together. The OTA image writing may fail if used together.
+ "LED_MANAGER_ENABLE_STATUS_LED=0",
+ ]
+
+ include_dirs += [
+ "${common_example_dir}/ota_requestor/include",
+ "${chip_root}/src/platform/nxp/common/ota"
+ ]
+ sources += [ "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorMultiImage.cpp" ]
+ deps += [ "${chip_root}/src/platform/nxp:nxp_ota" ]
+ }
+
+ # Platform specific files
+ include_dirs += [
+ "${example_platform_dir}/util",
+ "${example_platform_dir}/app/support",
+ "${example_platform_dir}/button"
+ ]
+
+ sources += [
+ "${example_platform_dir}/button/ButtonManager.cpp",
+ "${example_platform_dir}/clusters/Identify.cpp",
+ ]
+
+ if (chip_enable_ota_requestor) {
+ sources += [
+ "${example_platform_dir}/ota/OtaUtils.cpp"
+ ]
+ }
+
+ if (chip_enable_pw_rpc) {
+ sources += [
+ "${example_platform_dir}/rpc/AppRpc.cpp"
+ ]
+ }
+
+ if (chip_with_factory_data == 1) {
+ include_dirs += [ "${chip_root}/src/platform/nxp/common/factory_data/legacy" ]
+ deps += [ "${chip_root}/src/platform/nxp:nxp_factory_data" ]
+ }
+
+ sources += [
+ "../common/AppTask.cpp",
+ "../common/binding-handler.cpp",
+ "../common/DeviceCallbacks.cpp",
+ "../common/main.cpp",
+ "${common_example_dir}/ui_feedback/source/LedManager.cpp",
+ "${example_platform_dir}/util/LedOnOff.cpp",
+ ]
+
+ include_dirs += [
+ "../common",
+ "../common/include",
+ "include/config",
+ ]
+
+ deps += [
+ "${chip_root}/examples/light-switch-combo-app/light-switch-combo-common/",
+ "${chip_root}/examples/providers:device_info_provider",
+ "${chip_root}/src/platform/logging:default"
+ ]
+
+ if (chip_openthread_ftd) {
+ deps += [
+ "${openthread_root}:libopenthread-cli-ftd",
+ "${openthread_root}:libopenthread-ftd",
+ ]
+ } else {
+ deps += [
+ "${openthread_root}:libopenthread-cli-mtd",
+ "${openthread_root}:libopenthread-mtd",
+ ]
+ }
+
+ if (use_smu2_static) {
+ ldscript = "${example_platform_dir}/app/ldscripts/app.ld"
+ base_ldscript_dir = "${nxp_sdk_root}/middleware/wireless/framework/Common/devices/kw45_k32w1/gcc"
+ } else {
+ ldscript = "${nxp_sdk_root}/middleware/wireless/framework/Common/devices/kw45_k32w1/gcc/connectivity.ld"
+ }
+
+ inputs = [ ldscript ]
+
+ ldflags = [
+ "-Wl,--defsym=__heap_size__=0",
+ "-Wl,--defsym=__stack_size__=0x480",
+ "-Wl,-print-memory-usage",
+ "-Wl,--no-warn-rwx-segments",
+ "-T" + rebase_path(ldscript, root_build_dir),
+ ]
+
+ if (chip_with_factory_data == 1) {
+ ldflags += [ "-Wl,--defsym=gUseFactoryData_d=1" ]
+ }
+
+ if (use_smu2_static) {
+ ldflags += [ "-L" + rebase_path(base_ldscript_dir, root_build_dir) ]
+ }
+
+ output_dir = root_out_dir
+}
+
+group("default") {
+ deps = [ ":light-switch-combo_app" ]
+}
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/README.md b/examples/light-switch-combo-app/nxp/mcxw71/README.md
new file mode 100644
index 00000000000000..37676024c9dad4
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/README.md
@@ -0,0 +1,466 @@
+
+
+# Matter MCXW71 Light switch combo Example Application
+
+Matter MCXW71 Light Switch Combo example provides a baseline demonstration of a dual-endpoint application. Endpoint =1 is used for the Light Device (bulb) and Endpoint = 2 is for the Light-Switch device . The light bulb is simulated using the onboard RGB LED. It uses buttons to test turn on/turn off of the local light bulb or the binded lights. You can use this example as a reference for creating your own application.
+
+The example is based on
+[Matter](https://github.com/project-chip/connectedhomeip) and the NXP MCXW71
+SDK, and supports remote access and control of a light bulb over a low-power,
+802.15.4 Thread network.
+
+The example behaves as a Matter accessory, that is a device that can be
+paired into an existing Matter network and can be controlled by this
+network.
+
+
+
+- [Matter MCXW71 Light switch combo Example Application](#matter-mcxw71-light-switch-combo-example-application)
+ - [Introduction](#introduction)
+ - [Bluetooth LE Advertising](#bluetooth-le-advertising)
+ - [Bluetooth LE Rendezvous](#bluetooth-le-rendezvous)
+ - [Thread Provisioning](#thread-provisioning)
+ - [Device UI](#device-ui)
+ - [Building](#building)
+ - [SMU2 Memory](#smu2-memory)
+ - [Manufacturing data](#manufacturing-data)
+ - [Flashing](#flashing)
+ - [Flashing the NBU image](#flashing-the-nbu-image)
+ - [Flashing the host image](#flashing-the-host-image)
+ - [Debugging](#debugging)
+ - [OTA](#ota)
+ - [Convert srec into sb3 file](#convert-srec-into-sb3-file)
+ - [Convert sb3 into ota file](#convert-sb3-into-ota-file)
+ - [Running OTA](#running-ota)
+ - [Known issues](#known-issues)
+ - [Running demo:](#running-demo)
+ - [1 x light-switch-combo, 1 x lighting-app](#1-x-light-switch-combo-1-x-lighting-app)
+ - [Running RPC console](#running-rpc-console)
+
+
+
+
+
+## Introduction
+
+![FRDM-MCXW71](../../../platform/nxp/mcxw71_k32w1/doc/images/frdm-mcxw71.jpg)
+
+The MCXW71 Light Switch Combo example provides a working demonstration of a dual endpoint application built using the Project CHIP codebase and the NXP MCXW71 SDK. The example supports remote access (e.g.: using CHIP Tool from a mobile phone) and control of a light bulb over a low-power, 802.15.4 Thread network. It is capable of being paired into an existing Project CHIP network along with other Project CHIP-enabled devices.
+
+The Matter device that runs the light switch combo application is controlled by the Matter controller device over the Thread protocol. By default, the Matter device has
+Thread disabled, and it should be paired over Bluetooth LE with the Matter
+controller and obtain configuration from it. The actions required before
+establishing full communication are described below.
+
+
+
+
+### Bluetooth LE Advertising
+
+In this example, to commission the device onto a Matter network, it must
+be discoverable over Bluetooth LE. For security reasons, you must start
+Bluetooth LE advertising manually after powering up the device by pressing
+Button SW2.
+
+
+
+### Bluetooth LE Rendezvous
+
+In this example, the commissioning procedure (called rendezvous) is done over
+Bluetooth LE between a Matter device and the Matter controller, where the controller
+has the commissioner role.
+
+To start the rendezvous, the controller must get the commissioning information
+from the Matter device. The data payload is encoded within a QR code, or printed to
+the UART console.
+
+### Thread Provisioning
+
+
+
+## Device UI
+
+The example application provides a simple UI that depicts the state of the
+device and offers basic user control. This UI is implemented via the
+general-purpose LEDs and buttons built in the FRDM-MCXW71 board.
+
+**LED 2** shows the overall state of the device and its connectivity. Four
+states are depicted:
+
+- _Short Flash On (50ms on/950ms off)_ — The device is in an
+ unprovisioned (unpaired) state and is waiting for a commissioning
+ application to connect.
+
+* _Rapid Even Flashing (100ms on/100ms off)_ — The device is in an
+ unprovisioned state and a commissioning application is connected via BLE.
+
+- _Short Flash Off (950ms on/50ms off)_ — The device is full
+ provisioned, but does not yet have full network (Thread) or service
+ connectivity.
+
+* _Solid On_ — The device is fully provisioned and has full network and
+ service connectivity.
+
+NOTE:
+ LED2 will be disabled when CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR is enabled.
+ On FRDM-MCXW71 board, PTB0 is wired to LED2 also is wired to CS (Chip Select)
+ External Flash Memory. OTA image is stored in external memory because of it's size.
+ If LED2 is enabled then it will affect External Memory CS and OTA will not work.
+
+**RGB LED** shows the state of the simulated light bulb. When the LED is lit the
+light bulb is on; when not lit, the light bulb is off.
+
+**Button SW2** can be used to start BLE adevertising. A SHORT press of the buttton
+will enable Bluetooth LE advertising for a predefined period of time. A LONG Press
+Button SW2 initiates a factory reset. After an initial period of 3 seconds, LED 2
+and RGB LED will flash in unison to signal the pending reset. After 6 seconds will
+cause the device to reset its persistent configuration and initiate a reboot.
+The reset action can be cancelled by press SW2 button at any point before the 6
+second limit.
+
+**Button SW3** can be used to toggle a binded light device or to change the state of the simulated light bulb. Short press toogles the light corresponded to remote light. Long press can be used to mimic a user manually operating a switch. The button behaves as a toggle, swapping the state every time it is pressed.
+
+
+
+## Building
+
+In order to build the Matter example, we recommend using a Linux
+distribution (the demo-application was compiled on Ubuntu 20.04).
+
+- Follow instruction in [BUILDING.md](../../../../docs/guides/BUILDING.md) to setup the environment to be able to build Matter
+
+- Download the NXP MCUXpresso git SDK and associated middleware from GitHub using the west tool.
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ source ./scripts/activate.sh
+user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive
+user@ubuntu:~/Desktop/git/connectedhomeip$ cd third_party/nxp/github_sdk
+user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/github_sdk$ west init -l manifest --mf west.yml
+user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/github_sdk$ west update
+user@ubuntu:~/Desktop/git/connectedhomeip$ cd -
+```
+
+- In case there are local modification to the already installed git NXP SDK. Use the west forall command instead of the west init to reset the west workspace before running the west update command. Warning: all local changes will be lost after running this command.
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/github_sdk$ west forall -c "git reset --hard && git clean -xdf" -a
+```
+
+- Start building the application.
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ cd examples/light-switch-combo-app/nxp/mcxw71
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/light-switch-combo-app/nxp/mcxw71$ gn gen out/debug --args="chip_with_ot_cli=0 is_debug=false chip_openthread_ftd=true chip_crypto=\"platform\""
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/light-switch-combo-app/nxp/mcxw71$ ninja -C out/debug
+```
+
+In case that Openthread CLI is needed, chip_with_ot_cli build argument must be
+set to 1.
+
+After a successful build, the `elf` and `srec` files are found in `out/debug/` - `see the files prefixed with chip-mcxw71-light-switch-combo-example`.
+
+
+
+### SMU2 Memory
+
+Some Matter instances and global variables can be placed in the NBU's SMU2 memory. When compiling with OpenThread FTD support (`chip_openthread_ftd=true`) and with `use_smu2_static=true`, the following components are placed in SMU2 memory:
+* `gImageProcessor` from OTAImageProcessorImpl.cpp.
+* `gApplicationProcessor` from OTAHooks.cpp.
+* `Server::sServer` from Server.cpp.
+* `ThreadStackManagerImpl::sInstance` from ThreadStackManagerImpl.cpp.
+
+These instances and global variables are placed in SMU2 memory through name matching in the application linker script. They should not be changed or, if changed, the names must be updated in `app.ld`. See [app.ld](../../../platform/nxp/mcxw71_k32w1/app/ldscripts/app.ld) for names and SMU2 memory range size.
+
+The OpenThread buffers can be allocated from a 13KB SMU2 range after a successful commmissioning process until a factory reset is initiated. This way, the OpenThread buffers will be dynamically allocated instead of statically, freeing some SRAM. To enable this feature compile with OpenThread FTD support (`chip_openthread_ftd=true`) and with `use_smu2_dynamic=true`.
+
+## Manufacturing data
+
+Use `chip_with_factory_data=1` in the gn build command to enable factory data.
+
+For a full guide on manufacturing flow, please see
+[Guide for writing manufacturing data on NXP devices](../../../../docs/guides/nxp/nxp_manufacturing_flow.md).
+
+
+
+## Flashing
+
+Two images must be written to the board: one for the host (CM33) and one for the NBU (CM3).
+
+The image needed on the host side is the one generated in `out/debug/` while the one needed on the NBU side can be found in the downloaded NXP-SDK package at path - `middleware\wireless\ieee-802.15.4\bin\k32w1\k32w1_nbu_ble_15_4_dyn_matter_$version.sb3`.
+
+
+
+### Flashing the NBU image
+
+NBU image should be written only when a new NXP-SDK is released.
+
+[K32W148 board quick start guide](https://www.nxp.com/document/guide/getting-started-with-the-k32w148-development-platform:GS-K32W148EVK) can be used for updating the NBU/radio core:
+- Section 2.5 – Get Software – install SPSDK (Secure Provisioning Command Line Tool)
+- Section 3.3 – Updating NBU for Wireless examples - use the corresponding .sb3 file found in the SDK package at path `middleware\wireless\ieee-802.15.4\bin\k32w1\`
+
+
+
+### Flashing the host image
+
+Host image is the one found under `out/debug/`. It should be written after each build process.
+
+If debugging is needed then jump directly to the [Debugging](#debugging) section. Otherwise, if only flashing is needed then [JLink](https://www.segger.com/downloads/jlink/) can be used:
+
+- Plug MCXW71 to the USB port (no need to keep the SW4 button pressed while doing this)
+
+- Create a new file, `commands_script`, with the following content (change application name accordingly):
+
+```bash
+reset
+halt
+loadfile chip-mcxw71-light-example.srec
+reset
+go
+quit
+```
+
+- copy the application and `commands_script` in the same folder that JLink executable is placed. Execute:
+
+```bash
+$ jlink -device MCXW71 -if SWD -speed 4000 -autoconnect 1 -CommanderScript commands_script
+```
+
+
+
+## Debugging
+
+One option for debugging would be to use MCUXpresso IDE.
+
+- Drag-and-drop the zip file containing the NXP SDK in the "Installed SDKs" tab:
+
+![Installed SDKs](../../../platform/nxp/mcxw71_k32w1/doc/images/installed_sdks.jpg)
+
+- Import any demo application from the installed SDK:
+
+```
+Import SDK example(s).. -> choose a demo app (demo_apps -> hello_world) -> Finish
+```
+
+![Import demo](../../../platform/nxp/mcxw71_k32w1/doc/images/import_demo.jpg)
+
+- Flash the previously imported demo application on the board:
+
+```
+Right click on the application (from Project Explorer) -> Debug as -> JLink/CMSIS-DAP
+```
+
+After this step, a debug configuration specific for the MCXW71 board was created. This debug configuration will
+be used later on for debugging the application resulted after ot-nxp compilation.
+
+- Import Matter repo in MCUXpresso IDE as Makefile Project. Use _none_ as
+ _Toolchain for Indexer Settings_:
+
+```
+File -> Import -> C/C++ -> Existing Code as Makefile Project
+```
+
+![New Project](../../../platform/nxp/mcxw71_k32w1/doc/images/new_project.jpg)
+
+- Replace the path of the existing demo application with the path of the MCXW71 application:
+
+```
+Run -> Debug Configurations... -> C/C++ Application
+```
+
+![Debug K32W1](../../../platform/nxp/mcxw71_k32w1/doc/images/debug_k32w1.jpg)
+
+
+
+## OTA
+
+
+
+### Convert srec into sb3 file
+
+The OTA image files must be encrypted using Over The Air Programming Tool ([OTAP](https://www.nxp.com/design/microcontrollers-developer-resources/connectivity-tool-suite:CONNECTIVITY-TOOL-SUITE?#downloads)). Bootloader will load the new OTA image only if it detects that the file was encrypted with the OTAP correct keys.
+
+.srec file is input for Over The air Programming (OTAP) application (unencrypted) and it's converted to .sb3 format (encrypted).
+
+In OTAP application
+- select OTA protocol => OTAP Matter
+- Browse File
+- follow default options (KW45/K32W148, Preserve NVM)
+- image information: will update "Application Core (MCU)" - this will generate the image only for the CM33 core
+- keep other settings at default values
+
+
+
+### Convert sb3 into ota file
+
+In order to build an OTA image, use NXP wrapper over the standard tool
+`src/app/ota_image_tool.py`:
+
+- `scripts/tools/nxp/factory_data_generator/ota_image_tool.py` The tool can be
+ used to generate an OTA image with the following format:
+ `| OTA image header | TLV1 | TLV2 | ... | TLVn |` where each TLV is in the
+ form `|tag|length|value|`
+
+Note that "standard" TLV format is used. Matter TLV format is only used for factory data TLV value.
+
+Please see more in the [OTA image tool guide](../../../../scripts/tools/nxp/ota/README.md).
+
+Here is an example that generates an OTA image with application update TLV from a sb3 file:
+
+```
+./scripts/tools/nxp/ota/ota_image_tool.py create -v 0xDEAD -p 0xBEEF -vn 43033 -vs "1.0" -da sha256 --app-input-file ~/binaries/chip-mcxw71-43033.sb3 ~/binaries/chip-mcxw71-43033.ota
+
+```
+
+A note regarding OTA image header version (`-vn` option). An application binary has its own software version (given by `CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION`, which can be overwritten). For having a correct OTA process, the OTA header version should be the same as the binary embedded software version. A user can set a custom software version in the gn build args by setting `chip_software_version` to the wanted version.
+
+
+
+### Running OTA
+
+The OTA topology used for OTA testing is illustrated in the figure below.
+Topology is similar with the one used for Matter Test Events.
+
+![OTA_TOPOLOGY](../../../platform/nxp/mcxw71_k32w1/doc/images/ota_topology.JPG)
+
+The concept for OTA is the next one:
+
+- there is an OTA Provider Application that holds the OTA image. In our case,
+ this is a Linux application running on an Ubuntu based-system;
+- the OTA Requestor functionality is embedded inside the Lighting Application.
+ It will be used for requesting OTA blocks from the OTA Provider;
+- the controller (a linux application called chip-tool) will be used for
+ commissioning both the device and the OTA Provider App. The device will be
+ commissioned using the standard Matter flow (BLE + IEEE 802.15.4) while the
+ OTA Provider Application will be commissioned using the _onnetwork_ option
+ of chip-tool;
+- during commissioning, each device is assigned a node id by the chip-tool
+ (can be specified manually by the user). Using the node id of the device and
+ of the lighting application, chip-tool triggers the OTA transfer by invoking
+ the _announce-ota-provider_ command - basically, the OTA Requestor is
+ informed of the node id of the OTA Provider Application.
+
+_Computer #1_ can be any system running an Ubuntu distribution. We recommand
+using CSA official instructions from
+[here](https://groups.csa-iot.org/wg/matter-csg/document/28566), where RPi 4 are
+proposed. Also, CSA official instructions document point to the OS/Docker images that
+should be used on the RPis. For compatibility reasons, we recommand compiling
+chip-tool and OTA Provider applications with the same commit id that was used
+for compiling the Lighting Application. Also, please note that there is a single
+controller (chip-tool) running on Computer #1 which is used for commissioning
+both the device and the OTA Provider Application. If needed,
+[these instructions](https://itsfoss.com/connect-wifi-terminal-ubuntu/) could be
+used for connecting the RPis to WiFi.
+
+Build the Linux OTA provider application:
+
+```
+user@computer1:~/connectedhomeip$ : ./scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/ota-provider-app chip_config_network_layer_ble=false
+```
+
+Build Linux chip-tool:
+
+```
+user@computer1:~/connectedhomeip$ : ./scripts/examples/gn_build_example.sh examples/chip-tool out/chip-tool-app
+```
+
+Start the OTA Provider Application:
+
+```
+user@computer1:~/connectedhomeip$ : rm -rf /tmp/chip_*
+user@computer1:~/connectedhomeip$ : ./out/ota-provider-app/chip-ota-provider-app -f chip-mcxw71-43033.ota
+```
+
+Provision the OTA provider application and assign node id _1_. Also, grant ACL
+entries to allow OTA requestors:
+
+```
+user@computer1:~/connectedhomeip$ : rm -rf /tmp/chip_*
+user@computer1:~/connectedhomeip$ : ./out/chip-tool-app/chip-tool pairing onnetwork 1 20202021
+user@computer1:~/connectedhomeip$ : ./out/chip-tool-app/chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null}]' 1 0
+```
+
+Provision the device and assign node id _2_:
+
+```
+user@computer1:~/connectedhomeip$ : ./out/chip-tool-app/chip-tool pairing ble-thread 2 hex: 20202021 3840
+```
+
+Start the OTA process:
+
+```
+user@computer1:~/connectedhomeip$ : ./out/chip-tool-app/chip-tool otasoftwareupdaterequestor announce-ota-provider 1 0 0 0 2 0
+```
+
+
+
+### Known issues
+
+- SRP cache on the openthread border router needs to flushed each time a new
+ commissioning process is attempted. For this, factory reset the device, then
+ execute _ot-ctl server disable_ followed by _ot-ctl server enable_. After
+ this step, the commissioning process of the device can start;
+- Due to some MDNS issues, the commissioning of the OTA Provider Application
+ may fail. Please make sure that the SRP cache is disabled (_ot-ctl srp
+ server disable_) on the openthread border router while commissioning the OTA
+ Provider Application;
+- No other Docker image should be running (e.g.: Docker image needed by Test
+ Harness) except the OTBR one. A docker image can be killed using the
+ command:
+
+```
+user@computer1:~/connectedhomeip$ : sudo docker kill $container_id
+```
+
+- In order to avoid MDNS issues, only one interface should be active at one
+ time. E.g.: if WiFi is used then disable the Ethernet interface and also
+ disable multicast on that interface:
+
+```
+user@computer1:~/connectedhomeip$ sudo ip link set dev eth0 down
+user@computer1:~/connectedhomeip$ sudo ifconfig eth0 -multicast
+```
+
+- If OTBR Docker image is used, then the "-B" parameter should point to the
+ interface used for the backbone.
+
+- If Wi-Fi is used on a RPI4, then a 5Ghz network should be selected.
+ Otherwise, issues related to BLE-WiFi combo may appear.
+
+## Running demo:
+
+### 1 x light-switch-combo, 1 x lighting-app
+
+Pairing the devices:
+ ```
+$./chip-tool pairing ble-thread hex: 20202021 3840
+```
+Write an access control table entry for the switch on the remote light:
+ ```
+$./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [], "targets": null }]' 0
+ ```
+Write a binding table entry for the remote light on the light switch:
+ ```
+$./chip-tool chip-tool binding write binding '[{"fabricIndex": 1, "node": , "endpoint": , "cluster": 6}]' 2
+ ```
+
+After this command the pairing should be done automatically without any further user interactions.
+
+Press SW3 to control the remte node from the light switch.
+
+## Running RPC console
+
+To build example with RPC enabled, use the following gn command:
+`gn gen out/debug --args='import("//with_pw_rpc.gni") treat_warnings_as_errors=false'`
+
+The application runs an RPC server and processes events coming from an RPC client.
+An example of an RPC client is the `chip-console`, which can be accessed by running:
+`chip-console --device /dev/tty. -b 115200 -o pw_log.out`
+
+The console should already have been installed in the virtual environment.
+From the `chip-console`, a user can send specific commands to the device, e.g.:
+- To toggle the LED (`#define LIGHT_BUTTON 2` in `app_config.h`)
+ `rpcs.chip.rpc.Button.Event(idx=2)`
+- To start BLE advertising (`#define BLE_BUTTON 4` in `app_config.h`)
+ `rpcs.chip.rpc.Button.Event(idx=4)`
+- To reboot the device
+ `rpcs.chip.rpc.Device.Reboot()`
\ No newline at end of file
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/args.gni b/examples/light-switch-combo-app/nxp/mcxw71/args.gni
new file mode 100644
index 00000000000000..d19f6a59903172
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/args.gni
@@ -0,0 +1,36 @@
+# Copyright (c) 2020-2024 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("${chip_root}/config/standalone/args.gni")
+
+# SDK target. This is overridden to add our SDK app_config.h & defines.
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_device = "MCXW716C"
+
+chip_enable_ota_requestor = true
+chip_stack_lock_tracking = "fatal"
+chip_enable_ble = true
+chip_generate_link_map_file = true
+
+is_debug = false
+
+chip_crypto = "platform"
+chip_openthread_ftd = true
+chip_with_ot_cli = 0
+chip_system_config_provide_statistics = false
+chip_system_config_use_open_thread_inet_endpoints = true
+chip_with_lwip = false
+
+use_smu2_static = true
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/build_overrides b/examples/light-switch-combo-app/nxp/mcxw71/build_overrides
new file mode 120000
index 00000000000000..ee19c065d619a2
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/build_overrides
@@ -0,0 +1 @@
+../../../build_overrides/
\ No newline at end of file
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/include/config/AppConfig.h b/examples/light-switch-combo-app/nxp/mcxw71/include/config/AppConfig.h
new file mode 100644
index 00000000000000..89f4bf9333c4c8
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/include/config/AppConfig.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2024 Project CHIP Authors
+ * All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+/* ---- App Config ---- */
+
+/* ---- Button Manager Config ---- */
+#define BUTTON_MANAGER_FACTORY_RESET_TIMEOUT_MS 6000
+
+/* ---- LED Manager Config ---- */
+#define LED_MANAGER_STATUS_LED_INDEX 0
+#define LED_MANAGER_LIGHT_LED_INDEX 1
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/include/config/CHIPProjectConfig.h b/examples/light-switch-combo-app/nxp/mcxw71/include/config/CHIPProjectConfig.h
new file mode 100644
index 00000000000000..a6d5fa735f1d79
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/include/config/CHIPProjectConfig.h
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2020 Project CHIP Authors
+ * Copyright (c) 2020 Google LLC.
+ * All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @file
+ * Example project configuration file for CHIP.
+ *
+ * This is a place to put application or project-specific overrides
+ * to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+// Security and Authentication disabled for development build.
+// For convenience, enable CHIP Security Test Mode and disable the requirement for
+// authentication in various protocols.
+// WARNING: These options make it possible to circumvent basic CHIP security functionality,
+// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
+#define CHIP_CONFIG_SECURITY_TEST_MODE 0
+
+// Use hard-coded test certificates already embedded in generic chip code => set it to 0
+// Use real/development certificates => set it to 1 + file the provisioning section from
+// the internal flash
+#ifndef CONFIG_CHIP_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+#if CONFIG_CHIP_LOAD_REAL_FACTORY_DATA
+
+// VID/PID for product => will be used by Basic Information Cluster
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0x1037
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0xA401
+
+// Set the following define to use the Certification Declaration from below and not use it stored in factory data section
+#ifndef CHIP_USE_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+#define CHIP_USE_DEVICE_CONFIG_CERTIFICATION_DECLARATION 0
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0x1037
+//-> product_id_array = [ 0xA401 ]
+//-> device_type_id = 0x0100
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 1
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION \
+ { \
+ 0x30, 0x81, 0xe8, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x81, 0xda, 0x30, 0x81, 0xd7, 0x02, 0x01, \
+ 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30, 0x45, 0x06, 0x09, 0x2a, \
+ 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x38, 0x04, 0x36, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0x37, 0x10, 0x36, \
+ 0x02, 0x05, 0x01, 0xa4, 0x18, 0x25, 0x03, 0x00, 0x01, 0x2c, 0x04, 0x13, 0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, \
+ 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34, 0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x76, 0x98, 0x24, \
+ 0x08, 0x01, 0x18, 0x31, 0x7c, 0x30, 0x7a, 0x02, 0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, \
+ 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd, 0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, \
+ 0x04, 0x02, 0x01, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x46, 0x30, 0x44, 0x02, 0x20, \
+ 0x11, 0xc4, 0xe4, 0x54, 0xcc, 0xdb, 0x09, 0xa9, 0x31, 0xd7, 0xbd, 0x6e, 0x28, 0x95, 0x9b, 0xab, 0x3e, 0xec, 0x76, 0x09, 0x8c, \
+ 0x39, 0x93, 0x43, 0x6e, 0x89, 0x07, 0x7d, 0x8b, 0xe9, 0x3a, 0x0a, 0x02, 0x20, 0x71, 0xc6, 0xac, 0x09, 0x11, 0x7b, 0x1a, 0x61, \
+ 0x5e, 0x3a, 0xc6, 0x4a, 0x4f, 0xf3, 0xd4, 0x3b, 0x62, 0x54, 0x3a, 0xf3, 0x60, 0xeb, 0x47, 0xd4, 0x8f, 0x18, 0x0d, 0xa3, 0xd1, \
+ 0xef, 0xd0, 0x70 \
+ }
+
+// All remaining data will be pulled from the provisioning region of flash.
+#endif
+
+#else
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ * 0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ * 0x8005: example lighting-app
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+// Use a default setup PIN code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER "TEST_SN"
+
+#endif // CONFIG_CHIP_LOAD_REAL_FACTORY_DATA
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor. This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+//#define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT
+ *
+ * The amount of time in miliseconds after which BLE should change his advertisements
+ * from fast interval to slow interval.
+ *
+ * 30000 (30 secondes).
+ */
+#define CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT (30 * 1000)
+
+/**
+ * CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT
+ *
+ * The amount of time in miliseconds after which BLE advertisement should be disabled, counting
+ * from the moment of slow advertisement commencement.
+ *
+ * Defaults to 9000000 (15 minutes).
+ */
+#define CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT (15 * 60 * 1000)
+
+/**
+ * CONFIG_CHIP_NFC_COMMISSIONING, CHIP_DEVICE_CONFIG_ENABLE_NFC
+ *
+ * NFC commissioning is not supported on K32W1
+ */
+#define CONFIG_CHIP_NFC_COMMISSIONING 0
+#define CHIP_DEVICE_CONFIG_ENABLE_NFC 0
+
+/**
+ * @def CHIP_CONFIG_MAX_FABRICS
+ *
+ * @brief
+ * Maximum number of fabrics the device can participate in. Each fabric can
+ * provision the device with its unique operational credentials and manage
+ * its own access control lists.
+ */
+#define CHIP_CONFIG_MAX_FABRICS 5 // 5 is the minimum number of supported fabrics
+
+/**
+ * @def CHIP_IM_MAX_NUM_COMMAND_HANDLER
+ *
+ * @brief Defines the maximum number of CommandHandler, limits the number of active commands transactions on server.
+ */
+#define CHIP_IM_MAX_NUM_COMMAND_HANDLER 3
+
+/**
+ * @def CHIP_IM_MAX_NUM_WRITE_HANDLER
+ *
+ * @brief Defines the maximum number of WriteHandler, limits the number of active write transactions on server.
+ */
+#define CHIP_IM_MAX_NUM_WRITE_HANDLER 3
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+#define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/third_party/connectedhomeip b/examples/light-switch-combo-app/nxp/mcxw71/third_party/connectedhomeip
new file mode 120000
index 00000000000000..59307833b4fee9
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../..
\ No newline at end of file
diff --git a/examples/light-switch-combo-app/nxp/mcxw71/with_pw_rpc.gni b/examples/light-switch-combo-app/nxp/mcxw71/with_pw_rpc.gni
new file mode 100644
index 00000000000000..c2dc1950544640
--- /dev/null
+++ b/examples/light-switch-combo-app/nxp/mcxw71/with_pw_rpc.gni
@@ -0,0 +1,37 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# add this gni as import in your build args to use pigweed in the example
+# 'import("//with_pw_rpc.gni")'
+
+import("//build_overrides/chip.gni")
+import("${chip_root}/config/nxp/lib/pw_rpc/pw_rpc.gni")
+
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+
+chip_crypto = "platform"
+chip_enable_ble = true
+chip_enable_ota_requestor = true
+chip_enable_pw_rpc = true
+chip_openthread_ftd = true
+chip_stack_lock_tracking = "fatal"
+
+chip_system_config_provide_statistics = false
+chip_system_config_use_open_thread_inet_endpoints = true
+
+chip_with_lwip = false
+chip_with_ot_cli = 0
+
+cpp_standard = "gnu++17"
+is_debug = false