Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,16 @@ Matter samples

* Added support for the Closure Control cluster test event triggers.

* :ref:`matter_lock_sample`:

* Added support for the :ref:`matter_lock_sample_wifi_thread_switching` in nRF54LM20 DK with the nRF7002-EB II shield attached.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Added support for the :ref:`matter_lock_sample_wifi_thread_switching` in nRF54LM20 DK with the nRF7002-EB II shield attached.
* Added support for the :ref:`matter_lock_sample_wifi_thread_switching` in the nRF54LM20 DK with the nRF7002-EB II shield attached.

* Deprecated the :ref:`matter_lock_sample_wifi_thread_switching` for nRF5340 DK with the nRF7002 EK shield attached.

* :ref:`matter_light_bulb_sample`:

* Added support for :ref:`matter_light_bulb_aws_iot_integration` in the nRF54LM20 DK with the nRF7002-EB II shield attached.
* Deprecated the :ref:`matter_light_bulb_aws_iot_integration` variant for nRF7002DK, and nRF5340 DK with the nRF7002 EK shield attached.

Networking samples
------------------

Expand Down
8 changes: 7 additions & 1 deletion samples/matter/light_bulb/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ The light bulb sample implements the following features:

Use the ``click to show`` toggle to expand the content.

.. _matter_light_bulb_aws_iot_integration:

AWS IoT integration
-------------------

Expand All @@ -91,6 +93,10 @@ AWS IoT integration

AWS IoT Shadow and Matter interaction diagram

.. note::

The AWS IoT integration is available only for the nRF54LM20 DK with the nRF7002-EB II shield attached.

.. _matter_light_bulb_aws_iot:

Configuration
Expand Down Expand Up @@ -131,7 +137,7 @@ AWS IoT setup and configuration

.. code-block:: console

west build -p -b nrf54lm20dk/nrf54lm20a/cpuapp -- -DEXTRA_CONF_FILE="overlay-aws-iot-integration.conf"
west build -p -b nrf54lm20dk/nrf54lm20a/cpuapp -- -DSB_CONFIG_WIFI_NRF70=y -Dlight_bulb_SHIELD=nrf7002eb2 -DEXTRA_CONF_FILE="overlay-aws-iot-integration.conf"

#. Flash the firmware and boot the sample.
#. |connect_kit|
Expand Down
12 changes: 9 additions & 3 deletions samples/matter/light_bulb/overlay-aws-iot-integration.conf
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,16 @@ CONFIG_NET_IPV4=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_NET_MAX_CONN=8
CONFIG_ZVFS_OPEN_MAX=25
CONFIG_ZVFS_OPEN_MAX=30

# DNS
CONFIG_ZVFS_EVENTFD_MAX=2
# Required events at least 9 ZVFS events:
# 5 x WPA supplicant
# 1 x Socket Service
# 1 x DNS resolver
# 1 x Matter Stack
# 1 x MQTT / AWS IoT integration
CONFIG_ZVFS_EVENTFD_MAX=10
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment explains why CONFIG_ZVFS_EVENTFD_MAX=10 is needed (listing 9 required events), but there's no explanation for why CONFIG_ZVFS_POLL_MAX=12 is set to 12. Consider adding a comment explaining this value's rationale.

Suggested change
CONFIG_ZVFS_EVENTFD_MAX=10
CONFIG_ZVFS_EVENTFD_MAX=10
# Allow polling of all eventfds plus a small margin (e.g. sockets and other FDs)

Copilot uses AI. Check for mistakes.
CONFIG_ZVFS_POLL_MAX=12
CONFIG_DNS_RESOLVER=y

# Adjust NET configurations to reduce the likelyhood of congestion in the TCP stack when there are
Expand Down
7 changes: 5 additions & 2 deletions samples/matter/light_bulb/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,10 @@ tests:
sysbuild: true
build_only: true
extra_args:
- light_bulb_SHIELD=nrf7002eb2
- SB_CONFIG_WIFI_NRF70=y
- EXTRA_CONF_FILE="overlay-aws-iot-integration.conf"
platform_allow: nrf7002dk/nrf5340/cpuapp
platform_allow:
- nrf54lm20dk/nrf54lm20a/cpuapp
integration_platforms:
- nrf7002dk/nrf5340/cpuapp
- nrf54lm20dk/nrf54lm20a/cpuapp
5 changes: 3 additions & 2 deletions samples/matter/lock/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,12 @@ config STATE_LEDS

config THREAD_WIFI_SWITCHING
bool "Switching between Thread and Wi-Fi"
depends on SOC_SERIES_NRF53X
depends on NET_L2_OPENTHREAD
depends on SOC_SERIES_NRF53X || SOC_SERIES_NRF54LX
depends on OPENTHREAD
depends on CHIP_WIFI
depends on !CHIP_FACTORY_RESET_ERASE_SETTINGS
select EXPERIMENTAL
select DEPRECATED if SOC_SERIES_NRF53X
help
Build the application with both Thread and Wi-Fi support and initialize
either transport based on the current configuration. A user can switch
Expand Down
14 changes: 7 additions & 7 deletions samples/matter/lock/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,14 @@ Thread and Wi-Fi switching

.. toggle::

When built using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>` and programmed to the nRF5340 DK with the nRF7002 EK shield attached, the door lock sample supports a feature that allows you to :ref:`switch between Matter over Thread and Matter over Wi-Fi <ug_matter_overview_architecture_integration_designs_switchable>` at runtime.
When built using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>` and programmed to the nRF54LM20 DK with the nRF7002-EB II shield attached, the sample supports a feature that allows you to :ref:`switch between Matter over Thread and Matter over Wi-Fi <ug_matter_overview_architecture_integration_designs_switchable>` at runtime.
Due to Matter protocol limitations, a single Matter node can only use one transport protocol at a time.

The application is built with support for both Matter over Thread and Matter over Wi-Fi.
The device activates either Thread or Wi-Fi transport protocol on boot, based on a flag stored in the non-volatile memory on the device.
By default, Matter over Wi-Fi is activated.

You can trigger the switch from one transport protocol to the other using the **Button 3** on the nRF5340 DK.
You can trigger the switch from one transport protocol to the other using the **Button 3** on the nRF54LM20 DK.
This toggles the flag stored in the non-volatile memory, and then the device is factory reset and rebooted.
Because the flag is toggled, the factory reset does not switch the device back to the default transport protocol (Wi-Fi).
Instead, the factory reset and recommissioning to a Matter fabric allows the device to be provisioned with network credentials for the transport protocol that it was switched to, and to start operating in the selected network.
Expand All @@ -129,7 +129,7 @@ Matter Bluetooth LE with Nordic UART Service

If the device is already connected to the Matter network, the notification about changing the lock state will be sent to the Bluetooth controller.

Currently, the door lock's Bluetooth LE service extension with NUS is only available for the nRF52840 and the nRF5340 DKs in the :ref:`Matter over Thread <ug_matter_gs_testing>` network variant.
Currently, the door lock's Bluetooth LE service extension with NUS is only available for the sample in the :ref:`Matter over Thread <ug_matter_gs_testing>` network variant.
However, you can use the Bluetooth LE service extension regardless of whether the device is connected to a Matter over Thread network or not.

See `Enabling Matter Bluetooth LE with Nordic UART Service`_ and `Testing Bluetooth LE with Nordic UART Service`_ for more information about how to configure and test this feature with this sample.
Expand Down Expand Up @@ -208,7 +208,7 @@ The |matter_type| supports the following build configurations:
* - Switched Thread and Wi-Fi
- :file:`prj_thread_wifi_switched.conf`
- ``thread_wifi_switched``
- nRF5340 DK with the nRF7002 EK shield attached
- nRF54LM20 DK with the nRF7002-EB II shield attached
- Debug version of the application with the ability to :ref:`switch between Thread and Wi-Fi network support <matter_lock_sample_wifi_thread_switching>` in the field.

Advanced configuration options
Expand Down Expand Up @@ -292,7 +292,7 @@ Second Button:
* Changes the lock state to the opposite one.

Third Button:
* On the nRF5340 DK when using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>`: If pressed for more than ten seconds, it switches the Matter transport protocol from Thread or Wi-Fi to the other and factory resets the device.
* On the nRF54LM20 DK with the nRF7002-EB II shield attached when using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>`: If pressed for more than ten seconds, it switches the Matter transport protocol from Thread or Wi-Fi to the other and factory resets the device.
* On other platform or configuration: Not available.

.. include:: /includes/matter/interface/segger_usb.txt
Expand Down Expand Up @@ -554,15 +554,15 @@ Testing switching between Thread and Wi-Fi
.. matter_door_lock_sample_thread_wifi_switch_desc_start

.. note::
You can only test :ref:`matter_lock_sample_wifi_thread_switching` on the nRF5340 DK with the nRF7002 EK shield attached, using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>`.
You can only test :ref:`matter_lock_sample_wifi_thread_switching` on the nRF54LM20 DK with the nRF7002-EB II shield attached, using the :ref:`switched Thread and Wi-Fi configuration <matter_lock_sample_custom_configs>`.

To test this feature, complete the following steps:

#. Build the door lock application using the switched Thread and Wi-Fi configuration:

.. code-block:: console

west build -b nrf5340dk/nrf5340/cpuapp -- -DFILE_SUFFIX=thread_wifi_switched -Dlock_SHIELD=nrf7002ek -DSB_CONFIG_WIFI_NRF70=y
west build -b nrf54lm20dk/nrf54lm20a/cpuapp -- -DFILE_SUFFIX=thread_wifi_switched -Dlock_SHIELD=nrf7002eb2 -DSB_CONFIG_WIFI_NRF70=y

#. Prepare the development kit for testing.
Refer to the :ref:`matter_lock_sample_testing_start` section for more information.
Expand Down
14 changes: 7 additions & 7 deletions samples/matter/lock/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,16 +109,14 @@ tests:
sysbuild: true
build_only: true
extra_args:
- lock_SHIELD=nrf7002ek
- lock_SHIELD=nrf7002eb2
- FILE_SUFFIX=thread_wifi_switched
- SB_CONFIG_WIFI_PATCHES_EXT_FLASH_STORE=y
- SB_CONFIG_MCUBOOT_UPDATEABLE_IMAGES=3
- CONFIG_CHIP_DFU_OVER_BT_SMP=y
- SB_CONFIG_WIFI_NRF70=y
- SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_WIFI_FW_PATCH=y
- CONFIG_CHIP_DFU_OVER_BT_SMP=y
integration_platforms:
- nrf5340dk/nrf5340/cpuapp
platform_allow: nrf5340dk/nrf5340/cpuapp
- nrf54lm20dk/nrf54lm20a/cpuapp
platform_allow:
- nrf54lm20dk/nrf54lm20a/cpuapp
sample.matter.lock.nus:
sysbuild: true
build_only: true
Expand All @@ -129,10 +127,12 @@ tests:
integration_platforms:
- nrf52840dk/nrf52840
- nrf5340dk/nrf5340/cpuapp
- nrf54l15dk/nrf54l15/cpuapp
platform_allow:
- nrf52840dk/nrf52840
- nrf5340dk/nrf5340/cpuapp
- nrf54l15dk/nrf54l15/cpuapp
- nrf54lm20dk/nrf54lm20a/cpuapp
sample.matter.lock.schedules:
sysbuild: true
build_only: true
Expand Down