diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device-2.png
new file mode 100644
index 0000000000..873bacc70f
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device.png
new file mode 100644
index 0000000000..cee096cbc4
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/add-device.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/animation.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/animation.gif
new file mode 100644
index 0000000000..e658c470c5
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/animation.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/bsp-install-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/bsp-install-2.png
new file mode 100644
index 0000000000..70fb4632f0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/bsp-install-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/diagram-v4.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/diagram-v4.png
new file mode 100644
index 0000000000..906e155878
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/diagram-v4.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/download.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/download.png
new file mode 100644
index 0000000000..5767d9f5ff
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/download.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter-setup-2.png
new file mode 100644
index 0000000000..b99c45ef40
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter_fan.zip b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter_fan.zip
new file mode 100644
index 0000000000..aaae67d6c5
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/matter_fan.zip differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/serial-monitor-v4.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/serial-monitor-v4.png
new file mode 100644
index 0000000000..34eb5e8205
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/serial-monitor-v4.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/thumbnail-v4.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/thumbnail-v4.png
new file mode 100644
index 0000000000..e16168a98c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/assets/thumbnail-v4.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/content.md b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/content.md
new file mode 100644
index 0000000000..9aba504892
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-fan/content.md
@@ -0,0 +1,227 @@
+---
+title: 'Matter Smart Fan with the Arduino Nano Matter'
+difficulty: beginner
+compatible-products: [nano-matter]
+description: 'Learn how to build a Matter fan with speed control using the Arduino Nano Matter'
+tags:
+ - IoT
+ - Matter
+ - BLE
+ - Fan
+ - Motor
+author: 'Christopher Méndez'
+hardware:
+ - hardware/03.nano/boards/nano-matter
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+ - iot-cloud
+---
+
+## Overview
+
+This tutorial will teach you how to use the Arduino Nano Matter to create a Matter fan to keep you cool.
+
+
+
+Thanks to the seamless compatibility of the Nano Matter with almost any Matter network we can easily integrate our fan with Amazon Alexa, Google Assistant, Apple Home, Home Assistant and even any professional custom solution.
+
+We have prepared a short demo in video format in case you are a visual learner.
+
+
+
+## Hardware and Software Requirements
+### Hardware Requirements
+
+- [Arduino Nano Matter](https://store.arduino.cc/products/nano-matter) (x1)
+- Grove motor driver module (x1)
+- DC motor (x1)
+- Breadboard (x1)
+- Jumper wires
+- Google Nest Hub Max (Thread Border Router) (x1)
+- [USB-C® cable](https://store.arduino.cc/products/usb-cable2in1-type-c) (x1)
+
+### Software Requirements
+
+- [Arduino IDE 2.0+](https://www.arduino.cc/en/software) or [Arduino Cloud Editor](https://create.arduino.cc/editor)
+- [Google Home App](https://home.google.com/get-app/)
+
+### Download the Project Code
+
+[](assets/matter_fan.zip)
+
+Download the complete project code [here](assets/matter_fan.zip).
+
+### Board Core and Libraries
+
+The **Silicon Labs** core contains the libraries and examples you need to work with the board's components, such as its Matter, Bluetooth® Low Energy, and I/Os. To install the Nano Matter core, navigate to **File > Preferences** and in the **Additional boards manager URLs**, add the following:
+
+`https://siliconlabs.github.io/arduino/package_arduinosilabs_index.json`
+
+Now navigate to **Tools > Board > Boards Manager** or click the Boards Manager icon in the left tab of the IDE. In the Boards Manager tab, search for `Nano Matter` and install the latest `Silicon Labs` core version.
+
+
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+
+
+The motor driver module is powered by the `3.3V` Nano Matter output pin. The motor speed is controlled by a PWM signal generated by the pin `D4`.
+
+### Programming
+
+In the Arduino IDE upper menu, navigate to **Tools > Protocol stack** and select **Matter**.
+
+
+
+Copy and paste the following sketch:
+
+```arduino
+#include
+#include
+
+#define fan_pin D4
+
+MatterFan matter_fan;
+
+void setup()
+{
+ Serial.begin(115200);
+ Matter.begin();
+ matter_fan.begin();
+
+ pinMode(BTN_BUILTIN, INPUT_PULLUP);
+ pinMode(LEDR, OUTPUT);
+ digitalWrite(LEDR, HIGH);
+
+ pinMode(fan_pin, OUTPUT);
+
+ Serial.println("Matter fan");
+
+ if (!Matter.isDeviceCommissioned()) {
+ Serial.println("Matter device is not commissioned");
+ Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
+ Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
+ Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
+ }
+ while (!Matter.isDeviceCommissioned()) {
+ delay(200);
+ }
+
+ Serial.println("Waiting for Thread network...");
+ while (!Matter.isDeviceThreadConnected()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Connected to Thread network");
+
+ Serial.println("Waiting for Matter device discovery...");
+ while (!matter_fan.is_online()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Matter device is now online");
+}
+
+void loop()
+{
+ decommission_handler();
+ static uint8_t fan_last_speed = 0;
+ uint8_t fan_current_speed = matter_fan.get_percent();
+
+ if (fan_current_speed != fan_last_speed) {
+ fan_last_speed = fan_current_speed;
+ Serial.print("Fan speed: ");
+ Serial.print(fan_current_speed);
+ Serial.println("%");
+ int speed = map(fan_current_speed, 0, 100, 0, 255);
+ analogWrite(fan_pin, speed);
+ }
+
+ static bool fan_last_state = false;
+ bool fan_current_state = matter_fan.get_onoff();
+
+ if (fan_current_state != fan_last_state) {
+ fan_last_state = fan_current_state;
+ if (fan_current_state) {
+ Serial.println("Fan ON");
+ } else {
+ Serial.println("Fan OFF");
+ }
+ }
+}
+
+void decommission_handler()
+{
+ // If the button is not pressed or the device is not commissioned - return
+ if (digitalRead(BTN_BUILTIN) != LOW || !Matter.isDeviceCommissioned()) {
+ return;
+ }
+
+ // Store the time when the button was first pressed
+ uint32_t start_time = millis();
+ // While the button is being pressed
+ while (digitalRead(BTN_BUILTIN) == LOW) {
+ // Calculate the elapsed time
+ uint32_t elapsed_time = millis() - start_time;
+ // If the button has been pressed for less than 10 seconds, continue
+ if (elapsed_time < 10000u) {
+ yield();
+ continue;
+ }
+
+ // Blink the LED to indicate the start of the decommissioning process
+ for (uint8_t i = 0u; i < 10u; i++) {
+ digitalWrite(LED_BUILTIN, !(digitalRead(LED_BUILTIN)));
+ delay(100);
+ }
+
+ Serial.println("Starting decommissioning process, device will reboot...");
+ Serial.println();
+ digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
+ // This function will not return
+ // The device will restart once decommissioning has finished
+ Matter.decommission();
+ }
+}
+```
+
+The structure of this example code is very simple, the main functions are explained below:
+
+- In the `setup()` function we initialize the Matter connectivity and the fan output pin.
+- In the `loop()` function we listen to any fan control command sent from the smartphone or voice assistant and then adjust the fan speed setting the PWM signal accordingly.
+
+Once you uploaded the example code to the Nano Matter, open the Serial Monitor and reset the board.
+
+
+
+After the reset you will find on the serial port the URL that generates the QR for the Matter device commissioning.
+
+### Adding the Device (Commissioning)
+
+Copy and paste the QR code URL on your favorite web browser and a unique QR code will be generated for your board.
+
+Go to your **Google Home** app, navigate to **devices** and tap on **Add**, select the **Matter-enabled device** option and scan the QR code.
+
+
+
+
+
+## Final Results
+
+Finally, you will be able to control the fan from your smartphone, hub or asking your personal assistant.
+
+
+
+## Conclusion
+
+In this tutorial we have learned how to create a Matter enabled fan that can be controlled from our smartphone and personal assistant. The Nano Matter allows us to seamlessly integrate our own custom or old fan as a commercial product with our current smart home ecosystem.
+
+### Next Steps
+
+You can take this solution even further by adding an external knob to adjust the fan speed manually or integrating an AC motor driver to control an actual ceiling fan.
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device-2.png
new file mode 100644
index 0000000000..873bacc70f
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device.png
new file mode 100644
index 0000000000..cee096cbc4
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/add-device.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/animation.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/animation.gif
new file mode 100644
index 0000000000..66fdad83cf
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/animation.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/bsp-install-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/bsp-install-2.png
new file mode 100644
index 0000000000..70fb4632f0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/bsp-install-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/diagram-v3.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/diagram-v3.png
new file mode 100644
index 0000000000..d04e363f4c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/diagram-v3.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/download.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/download.png
new file mode 100644
index 0000000000..5767d9f5ff
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/download.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter-setup-2.png
new file mode 100644
index 0000000000..b99c45ef40
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter_smart_relay.zip b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter_smart_relay.zip
new file mode 100644
index 0000000000..6ea0674db0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/matter_smart_relay.zip differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/serial-monitor-v3.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/serial-monitor-v3.png
new file mode 100644
index 0000000000..e31626afb2
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/serial-monitor-v3.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/thumbnail-v3.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/thumbnail-v3.png
new file mode 100644
index 0000000000..664fd3ac36
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/assets/thumbnail-v3.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/content.md b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/content.md
new file mode 100644
index 0000000000..93ad371dcc
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-relay-lightbulb/content.md
@@ -0,0 +1,229 @@
+---
+title: 'Matter Smart Relay with the Arduino Nano Matter'
+difficulty: beginner
+compatible-products: [nano-matter]
+description: 'Learn how to build a Matter smart relay to control an AC lightbulb using the Arduino Nano Matter'
+tags:
+ - IoT
+ - Matter
+ - BLE
+ - Relay
+ - Lightbulb
+author: 'Christopher Méndez'
+hardware:
+ - hardware/03.nano/boards/nano-matter
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+ - iot-cloud
+---
+
+## Overview
+
+This tutorial will teach you how to use the Arduino Nano Matter to create a Matter smart relay to control an AC lightbulb.
+
+
+
+Thanks to the seamless compatibility of the Nano Matter with almost any Matter network we can easily integrate our smart relay with Amazon Alexa, Google Assistant, Apple Home, Home Assistant and even any professional custom solution.
+
+We have prepared a short demo in video format in case you are a visual learner.
+
+
+
+## Hardware and Software Requirements
+### Hardware Requirements
+
+- [Arduino Nano Matter](https://store.arduino.cc/products/nano-matter) (x1)
+- Grove Relay Module (x1)
+- Lightbulb socket (x1)
+- AC lightbulb (x1)
+- AC cable (x1)
+- Breadboard (x1)
+- Jumper wires
+- Google Nest Hub Max (Thread Border Router) (x1)
+- [USB-C® cable](https://store.arduino.cc/products/usb-cable2in1-type-c) (x1)
+
+### Software Requirements
+
+- [Arduino IDE 2.0+](https://www.arduino.cc/en/software) or [Arduino Cloud Editor](https://create.arduino.cc/editor)
+- [Google Home App](https://home.google.com/get-app/)
+
+### Download the Project Code
+
+[](assets/matter_smart_relay.zip)
+
+Download the complete project code [here](assets/matter_smart_relay.zip).
+
+### Board Core and Libraries
+
+The **Silicon Labs** core contains the libraries and examples you need to work with the board's components, such as its Matter, Bluetooth® Low Energy, and I/Os. To install the Nano Matter core, navigate to **File > Preferences** and in the **Additional boards manager URLs**, add the following:
+
+`https://siliconlabs.github.io/arduino/package_arduinosilabs_index.json`
+
+Now navigate to **Tools > Board > Boards Manager** or click the Boards Manager icon in the left tab of the IDE. In the Boards Manager tab, search for `Nano Matter` and install the latest `Silicon Labs` core version.
+
+
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+
+
+The relay module is powered by the Nano Matter `3.3V` output pin and the relay is controlled with the `D4` pin. Wire the AC cable with the lightbulb so the relay interrupts the current path when open.
+
+***Be careful when handling with main voltages.***
+
+### Programming
+
+In the Arduino IDE upper menu, navigate to **Tools > Protocol stack** and select **Matter**.
+
+
+
+Copy and paste the following sketch:
+
+```arduino
+#include
+#include
+
+#define RELAY D4 // Relay output
+
+MatterLightbulb matter_bulb;
+
+void setup()
+{
+ Serial.begin(115200);
+ Matter.begin();
+ matter_bulb.begin();
+
+ pinMode(BTN_BUILTIN, INPUT_PULLUP);
+
+ pinMode(LED_BUILTIN, OUTPUT);
+ digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
+
+ pinMode(RELAY, OUTPUT);
+ digitalWrite(RELAY, LOW);
+
+ Serial.println("Matter lightbulb");
+
+ if (!Matter.isDeviceCommissioned()) {
+ Serial.println("Matter device is not commissioned");
+ Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
+ Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
+ Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
+ }
+ while (!Matter.isDeviceCommissioned()) {
+ delay(200);
+ }
+
+ Serial.println("Waiting for Thread network...");
+ while (!Matter.isDeviceThreadConnected()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Connected to Thread network");
+
+ Serial.println("Waiting for Matter device discovery...");
+ while (!matter_bulb.is_online()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Matter device is now online");
+}
+
+void loop()
+{
+ decommission_handler();
+ static bool matter_lightbulb_last_state = false;
+ bool matter_lightbulb_current_state = matter_bulb.get_onoff();
+
+ // If the current state is ON and the previous was OFF - turn on the LED
+ if (matter_lightbulb_current_state && !matter_lightbulb_last_state) {
+ matter_lightbulb_last_state = matter_lightbulb_current_state;
+ digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE);
+ digitalWrite(RELAY, HIGH);
+ Serial.println("Bulb ON");
+ }
+
+ // If the current state is OFF and the previous was ON - turn off the LED
+ if (!matter_lightbulb_current_state && matter_lightbulb_last_state) {
+ matter_lightbulb_last_state = matter_lightbulb_current_state;
+ digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
+ digitalWrite(RELAY, LOW);
+ Serial.println("Bulb OFF");
+ }
+}
+
+void decommission_handler()
+{
+ // If the button is not pressed or the device is not commissioned - return
+ if (digitalRead(BTN_BUILTIN) != LOW || !Matter.isDeviceCommissioned()) {
+ return;
+ }
+
+ // Store the time when the button was first pressed
+ uint32_t start_time = millis();
+ // While the button is being pressed
+ while (digitalRead(BTN_BUILTIN) == LOW) {
+ // Calculate the elapsed time
+ uint32_t elapsed_time = millis() - start_time;
+ // If the button has been pressed for less than 10 seconds, continue
+ if (elapsed_time < 10000u) {
+ yield();
+ continue;
+ }
+
+ // Blink the LED to indicate the start of the decommissioning process
+ for (uint8_t i = 0u; i < 10u; i++) {
+ digitalWrite(LED_BUILTIN, !(digitalRead(LED_BUILTIN)));
+ delay(100);
+ }
+
+ Serial.println("Starting decommissioning process, device will reboot...");
+ Serial.println();
+ digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
+ // This function will not return
+ // The device will restart once decommissioning has finished
+ Matter.decommission();
+ }
+}
+
+```
+
+The structure of this example code is very simple, the main functions are explained below:
+
+- In the `setup()` function we initialize the Matter connectivity and the relay output pin.
+- In the `loop()` function we listen to any relay toggle command sent from the smartphone or voice assistant.
+
+Once you uploaded the example code to the Nano Matter, open the Serial Monitor and reset the board.
+
+
+
+After the reset you will find on the serial port the URL that generates the QR for the Matter device commissioning.
+
+### Adding the Device (Commissioning)
+
+Copy and paste the QR code URL on your favorite web browser and a unique QR code will be generated for your board.
+
+Go to your **Google Home** app, navigate to **devices** and tap on **Add**, select the **Matter-enabled device** option and scan the QR code.
+
+
+
+
+
+## Final Results
+
+Finally, you will be able to control the AC lightbulb from your smartphone, hub or asking your personal assistant.
+
+
+
+## Conclusion
+
+In this tutorial we have learned how to create a Matter enabled smart relay that can be controlled from our smartphone and personal assistant. The Nano Matter allows us to seamlessly integrate our own smart relay as a commercial product with our current smart home ecosystem.
+
+### Next Steps
+
+You can take this solution even further by adding several relay channels or solid state relays to control more than one load.
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa-2.png
new file mode 100644
index 0000000000..6497de5067
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa.png
new file mode 100644
index 0000000000..e8f43f99c6
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/add-device-alexa.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/animation.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/animation.gif
new file mode 100644
index 0000000000..2620bb64b9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/animation.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/bsp-install-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/bsp-install-2.png
new file mode 100644
index 0000000000..70fb4632f0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/bsp-install-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/diagram-v2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/diagram-v2.png
new file mode 100644
index 0000000000..9e9874e59d
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/diagram-v2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/download.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/download.png
new file mode 100644
index 0000000000..5767d9f5ff
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/download.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter-setup-2.png
new file mode 100644
index 0000000000..b99c45ef40
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter_rgb_light.zip b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter_rgb_light.zip
new file mode 100644
index 0000000000..52b0beff10
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/matter_rgb_light.zip differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/serial-monitor-v2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/serial-monitor-v2.png
new file mode 100644
index 0000000000..4bcbc5f164
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/serial-monitor-v2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/thumbnail-v2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/thumbnail-v2.png
new file mode 100644
index 0000000000..d3c1a66cd9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/assets/thumbnail-v2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/content.md b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/content.md
new file mode 100644
index 0000000000..29951ed54f
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-rgb-light/content.md
@@ -0,0 +1,278 @@
+---
+title: 'Matter RGB Light with the Arduino Nano Matter'
+difficulty: beginner
+compatible-products: [nano-matter]
+description: 'Learn how to build a Matter RGB light using the Arduino Nano Matter'
+tags:
+ - IoT
+ - Matter
+ - BLE
+ - RGB
+ - Light
+author: 'Christopher Méndez'
+hardware:
+ - hardware/03.nano/boards/nano-matter
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+ - iot-cloud
+---
+
+## Overview
+
+This tutorial will teach you how to use the Arduino Nano Matter to create a Matter RGB Lightbulb to light up any room with colors.
+
+
+
+Thanks to the seamless compatibility of the Nano Matter with almost any Matter network we can easily integrate our RGB light with Amazon Alexa, Google Assistant, Apple Home, Home Assistant and even any professional custom solution.
+
+We have prepared a short demo in video format in case you are a visual learner.
+
+
+
+## Hardware and Software Requirements
+### Hardware Requirements
+
+- [Arduino Nano Matter](https://store.arduino.cc/products/nano-matter) (x1)
+- Grove - 8x8 RGB LED Matrix (x1)
+- Breadboard (x1)
+- Jumper wires
+- Eero 6+ WiFi Extender (Thread Border Router) (x1)
+- [USB-C® cable](https://store.arduino.cc/products/usb-cable2in1-type-c) (x1)
+
+### Software Requirements
+
+- [Arduino IDE 2.0+](https://www.arduino.cc/en/software) or [Arduino Cloud Editor](https://create.arduino.cc/editor)
+- [Amazon Alexa](https://www.amazon.com/Alexa-App/b?ie=UTF8&node=18354642011)
+- [Seeed_RGB_LED_Matrix](https://github.com/Seeed-Studio/Seeed_RGB_LED_Matrix) library to control the RGB LED matrix. You can install it as .ZIP using the Arduino IDE.
+
+### Download the Project Code
+
+[](assets/matter_rgb_light.zip)
+
+Download the complete project code [here](assets/matter_rgb_light.zip).
+
+### Board Core and Libraries
+
+The **Silicon Labs** core contains the libraries and examples you need to work with the board's components, such as its Matter, Bluetooth® Low Energy, and I/Os. To install the Nano Matter core, navigate to **File > Preferences** and in the **Additional boards manager URLs**, add the following:
+
+`https://siliconlabs.github.io/arduino/package_arduinosilabs_index.json`
+
+Now navigate to **Tools > Board > Boards Manager** or click the Boards Manager icon in the left tab of the IDE. In the Boards Manager tab, search for `Nano Matter` and install the latest `Silicon Labs` core version.
+
+
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+
+
+The RGB LED matrix is powered by the Nano Matter `3.3V` output pin, and it is controlled using an I2C connection.
+
+### Programming
+
+In the Arduino IDE upper menu, navigate to **Tools > Protocol stack** and select **Matter**.
+
+
+
+Copy and paste the following sketch:
+
+```arduino
+#include
+#include
+#include "grove_two_rgb_led_matrix.h"
+
+#define LED_R LED_BUILTIN
+#define LED_G LED_BUILTIN_1
+#define LED_B LED_BUILTIN_2
+
+MatterColorLightbulb matter_color_bulb;
+
+GroveTwoRGBLedMatrixClass matrix;
+
+void update_led_color();
+void led_off();
+void handle_button_press();
+volatile bool button_pressed = false;
+
+void setup() {
+ Wire.begin();
+ Serial.begin(115200);
+ Matter.begin();
+ matter_color_bulb.begin();
+ matter_color_bulb.boost_saturation(51); // Boost saturation by 20 percent
+
+ // Set up the onboard button
+ pinMode(BTN_BUILTIN, INPUT_PULLUP);
+ attachInterrupt(BTN_BUILTIN, &handle_button_press, FALLING);
+
+ uint16_t VID = 0;
+ VID = matrix.getDeviceVID();
+ if (VID != 0x2886) {
+ Serial.println("Can not detect led matrix!!!");
+ while (1)
+ ;
+ }
+ Serial.println("Matrix init success!!!");
+
+ matrix.stopDisplay();
+
+ // Turn the LED off
+ led_off();
+
+ Serial.println("Arduino Nano Matter - color lightbulb");
+
+ if (!Matter.isDeviceCommissioned()) {
+ Serial.println("Matter device is not commissioned");
+ Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
+ Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
+ Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
+ }
+ while (!Matter.isDeviceCommissioned()) {
+ delay(200);
+ }
+
+Serial.println("Waiting for Thread network...");
+ while (!Matter.isDeviceThreadConnected()) {
+ delay(200);
+ }
+ Serial.println("Connected to Thread network");
+
+ Serial.println("Waiting for Matter device discovery...");
+ while (!matter_color_bulb.is_online()) {
+ delay(200);
+ }
+ Serial.println("Matter device is now online");
+
+}
+
+void loop() {
+ // If the physical button state changes - update the lightbulb's on/off state
+ if (button_pressed) {
+ button_pressed = false;
+ // Toggle the on/off state of the lightbulb
+ matter_color_bulb.toggle();
+ }
+
+ // Get the current on/off state of the lightbulb
+ static bool matter_lightbulb_last_state = false;
+ bool matter_lightbulb_current_state = matter_color_bulb.get_onoff();
+
+ // If the current state is ON and the previous was OFF - turn on the LED
+ if (matter_lightbulb_current_state && !matter_lightbulb_last_state) {
+ matter_lightbulb_last_state = matter_lightbulb_current_state;
+ Serial.println("Bulb ON");
+ // Set the LEDs to the last received state
+ update_led_color();
+ }
+
+ // If the current state is OFF and the previous was ON - turn off the LED
+ if (!matter_lightbulb_current_state && matter_lightbulb_last_state) {
+ matter_lightbulb_last_state = matter_lightbulb_current_state;
+ Serial.println("Bulb OFF");
+ led_off();
+ }
+
+ static uint8_t hue_prev = 0;
+ static uint8_t saturation_prev = 0;
+ static uint8_t brightness_prev = 0;
+ uint8_t hue_curr = matter_color_bulb.get_hue();
+ uint8_t saturation_curr = matter_color_bulb.get_saturation_percent();
+ uint8_t brightness_curr = matter_color_bulb.get_brightness_percent();
+
+ // If either the hue, saturation or the brightness changes - update the LED to reflect the latest change
+ if (hue_prev != hue_curr || saturation_prev != saturation_curr || brightness_prev != brightness_curr) {
+ update_led_color();
+ hue_prev = hue_curr;
+ saturation_prev = saturation_curr;
+ brightness_prev = brightness_curr;
+ }
+}
+
+// Updates the color of the RGB LED to match the Matter lightbulb's color
+void update_led_color() {
+ if (!matter_color_bulb.get_onoff()) {
+ return;
+ }
+ uint8_t r, g, b;
+ matter_color_bulb.get_rgb(&r, &g, &b);
+// If our built-in LED is active LOW, we need to invert the brightness values
+ if (LED_BUILTIN_ACTIVE == LOW) {
+ analogWrite(LED_R, 255 - r);
+ analogWrite(LED_G, 255 - g);
+ analogWrite(LED_B, 255 - b);
+ } else {
+ analogWrite(LED_R, r);
+ analogWrite(LED_G, g);
+ analogWrite(LED_B, b);
+ }
+
+ uint32_t RGB = ((uint8_t)r << 16L) | ((uint8_t)g << 8L) | (uint8_t)b;
+ matrix.displayColorBlock(RGB, 0, true);
+
+ Serial.printf("Setting bulb color to > r: %u g: %u b: %u\n", r, g, b);
+}
+
+// Turns the RGB LED off
+void led_off() {
+ // If our built-in LED is active LOW, we need to invert the brightness values
+ if (LED_BUILTIN_ACTIVE == LOW) {
+ analogWrite(LED_R, 255);
+ analogWrite(LED_G, 255);
+ analogWrite(LED_B, 255);
+ } else {
+ analogWrite(LED_R, 0);
+ analogWrite(LED_G, 0);
+ analogWrite(LED_B, 0);
+ }
+ matrix.stopDisplay();
+}
+
+void handle_button_press() {
+ static uint32_t btn_last_press = 0;
+ if (millis() < btn_last_press + 200) {
+ return;
+ }
+ btn_last_press = millis();
+ button_pressed = true;
+}
+```
+The structure of this example code is very simple, the main functions are explained below:
+
+- In the `setup()` function we initialize the Matter connectivity and the RGB Matrix I2C communication.
+- In the `loop()` function we listen to any request of controlling the lightbulb state or color and update the matrix respectively.
+- There are some other functions to handle button press or RGB matrix color setup.
+
+Once you uploaded the example code to the Nano Matter, open the Serial Monitor and reset the board.
+
+
+
+After the reset you will find on the serial port the URL that generates the QR for the Matter device commissioning.
+
+### Adding the Device (Commissioning)
+
+Copy and paste the QR code URL on your favorite web browser and a unique QR code will be generated for your board.
+
+Go to your **Amazon Alexa** app, navigate to **Devices > Add Device > Other**, select the **Matter** option and scan the QR code.
+
+
+
+
+
+## Final Results
+
+Finally, you will be able to control the RGB light from your smartphone, hub or asking your personal assistant.
+
+
+
+## Conclusion
+
+In this tutorial we have learned how to create a Matter enabled RGB light that can be controlled from our smartphone and personal assistant. The Nano Matter allows us to seamlessly integrate our own light as a commercial product with our current smart home ecosystem.
+
+### Next Steps
+
+You can take this solution even further by adding fading animations or even using the matrix to display text or graphics.
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device-2.png
new file mode 100644
index 0000000000..873bacc70f
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device.png
new file mode 100644
index 0000000000..cee096cbc4
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/add-device.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/animation.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/animation.gif
new file mode 100644
index 0000000000..8172d7ee24
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/animation.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/bsp-install-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/bsp-install-2.png
new file mode 100644
index 0000000000..70fb4632f0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/bsp-install-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/diagram-v1.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/diagram-v1.png
new file mode 100644
index 0000000000..f56dade9ae
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/diagram-v1.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/download.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/download.png
new file mode 100644
index 0000000000..5767d9f5ff
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/download.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter-setup-2.png
new file mode 100644
index 0000000000..b99c45ef40
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter_temperature_sensor.zip b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter_temperature_sensor.zip
new file mode 100644
index 0000000000..09ff3c7eda
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/matter_temperature_sensor.zip differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/serial-monitor.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/serial-monitor.png
new file mode 100644
index 0000000000..675a6ea7c2
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/serial-monitor.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/thumbnail-v1.png b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/thumbnail-v1.png
new file mode 100644
index 0000000000..66e67f25fd
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/assets/thumbnail-v1.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/content.md b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/content.md
new file mode 100644
index 0000000000..2ecd799e33
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-matter/tutorials/matter-temp-sensor/content.md
@@ -0,0 +1,232 @@
+---
+title: 'Matter Temperature Sensor with the Arduino Nano Matter'
+difficulty: beginner
+compatible-products: [nano-matter]
+description: 'Learn how to build a Matter temperature sensor using the Arduino Nano Matter'
+tags:
+ - IoT
+ - Matter
+ - BLE
+ - Temperature
+author: 'Christopher Méndez'
+hardware:
+ - hardware/03.nano/boards/nano-matter
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+ - iot-cloud
+---
+
+## Overview
+
+This tutorial will teach you how to use the Arduino Nano Matter to create a Matter sensor to monitor your room or workplace temperature.
+
+
+
+Thanks to the seamless compatibility of the Nano Matter with almost any Matter network we can easily integrate our sensor with Amazon Alexa, Google Assistant, Apple Home, Home Assistant and even any professional custom solution.
+
+We have prepared a short demo in video format in case you are a visual learner.
+
+
+
+## Hardware and Software Requirements
+### Hardware Requirements
+
+- [Arduino Nano Matter](https://store.arduino.cc/products/nano-matter) (x1)
+- DHT11 Temperature and Humidity sensor (x1)
+- I2C OLED Display SSD1306 (x1)
+- Breadboard (x1)
+- Jumper wires
+- Google Nest Hub Max (Thread Border Router) (x1)
+- [USB-C® cable](https://store.arduino.cc/products/usb-cable2in1-type-c) (x1)
+
+### Software Requirements
+
+- [Arduino IDE 2.0+](https://www.arduino.cc/en/software) or [Arduino Cloud Editor](https://create.arduino.cc/editor)
+- [Google Home App](https://home.google.com/get-app/)
+- [U8g2](https://github.com/olikraus/u8g2) library to control the OLED display. You can install it from the Arduino IDE library manager.
+- [DHT](https://github.com/mcmchris/DHT-sensor-library/tree/patch-1) library. Download from this [branch](https://github.com/mcmchris/DHT-sensor-library/tree/patch-1) so it supports the Nano Matter.
+
+### Download the Project Code
+
+[](assets/matter_temperature_sensor.zip)
+Download the complete project code [here](assets/matter_temperature_sensor.zip).
+
+### Board Core and Libraries
+
+The **Silicon Labs** core contains the libraries and examples you need to work with the board's components, such as its Matter, Bluetooth® Low Energy, and I/Os. To install the Nano Matter core, navigate to **File > Preferences** and in the **Additional boards manager URLs**, add the following:
+
+`https://siliconlabs.github.io/arduino/package_arduinosilabs_index.json`
+
+Now navigate to **Tools > Board > Boards Manager** or click the Boards Manager icon in the left tab of the IDE. In the Boards Manager tab, search for `Nano Matter` and install the latest `Silicon Labs` core version.
+
+
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+
+
+The OLED display and the DHT temperature sensor are powered by the Nano Matter `3.3V` output pin. The OLED display uses I2C for communication and the DHT sensor uses a one-wire digital communication connected to `D4`.
+
+### Programming
+
+In the Arduino IDE upper menu, navigate to **Tools > Protocol stack** and select **Matter**.
+
+
+
+Copy and paste the following sketch:
+
+```arduino
+#include
+#include
+#include "DHT.h"
+#include
+#include
+
+U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/SCL, /* data=*/SDA, /* reset=*/U8X8_PIN_NONE); // OLEDs without Reset of the Display
+
+MatterTemperature matter_temp_sensor;
+
+#define DHTPIN D4 // Digital pin connected to the DHT sensor
+
+#define DHTTYPE DHT11
+
+DHT dht(DHTPIN, DHTTYPE);
+
+float temp = 0;
+
+void setup() {
+ Serial.begin(115200);
+ Matter.begin();
+ matter_temp_sensor.begin();
+ dht.begin();
+
+ u8x8.begin();
+ u8x8.setFont(u8x8_font_profont29_2x3_f); // u8x8_font_chroma48medium8_r
+
+ pinMode(BTN_BUILTIN, INPUT_PULLUP);
+ pinMode(LEDR, OUTPUT);
+ digitalWrite(LEDR, HIGH);
+
+ Serial.println("Matter temperature sensor");
+
+ if (!Matter.isDeviceCommissioned()) {
+ Serial.println("Matter device is not commissioned");
+ Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
+ Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
+ Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
+ }
+ while (!Matter.isDeviceCommissioned()) {
+ delay(200);
+ decommission_handler();
+ }
+
+ Serial.println("Waiting for Thread network...");
+ while (!Matter.isDeviceThreadConnected()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Connected to Thread network");
+
+ Serial.println("Waiting for Matter device discovery...");
+ while (!matter_temp_sensor.is_online()) {
+ delay(200);
+ decommission_handler();
+ }
+ Serial.println("Matter device is now online");
+}
+
+void loop() {
+ temp = dht.readTemperature();
+
+ if (!isnan(temp)) {
+ matter_temp_sensor.set_measured_value_celsius(temp);
+ Serial.printf("Current CPU temperature: %.02f C\n", temp);
+
+ upDateValue(temp);
+ }
+
+ delay(2000);
+ decommission_handler();
+}
+
+void upDateValue(float t) {
+ u8x8.setCursor(0, 0);
+ u8x8.print(t);
+ u8x8.print(" C");
+}
+
+void decommission_handler() {
+ if (digitalRead(BTN_BUILTIN) == LOW) { //Push button pressed
+ // measures time pressed
+ int startTime = millis();
+ while (digitalRead(BTN_BUILTIN) == LOW) {
+
+ int elapsedTime = (millis() - startTime) / 1000.0;
+
+ if (elapsedTime > 10) {
+ Serial.printf("Decommissioning!\n");
+ for (int i = 0; i < 10; i++) {
+ digitalWrite(LEDR, !(digitalRead(LEDR)));
+ delay(100);
+ };
+
+ if (!Matter.isDeviceCommissioned()) {
+ Serial.println("Decommission done!");
+ digitalWrite(LEDR, LOW);
+ Matter.decommission();
+ } else {
+ Serial.println("Matter device is commissioned-> Starting Decommission process");
+ digitalWrite(LED_BUILTIN, LOW);
+ Serial.println("Decommission done!");
+ Matter.decommission();
+ }
+ break;
+ }
+ }
+ }
+}
+```
+
+The structure of this example code is very simple, the main functions are explained below:
+
+- In the `setup()` function we initialize the Matter connectivity, the OLED display and temperature sensor.
+- In the `loop()` function we measure the temperature and update the device value to be monitored in the Matter network.
+
+Once you uploaded the example code to the Nano Matter, open the Serial Monitor and reset the board.
+
+
+
+After the reset you will find on the serial port the URL that generates the QR for the Matter device commissioning.
+
+### Adding the Device (Commissioning)
+
+Copy and paste the QR code URL on your favorite web browser and a unique QR code will be generated for your board.
+
+Go to your **Google Home** app, navigate to **devices** and tap on **Add**, select the **Matter-enabled device** option and scan the QR code.
+
+
+
+
+
+## Final Results
+
+Finally, you will be able to monitor your room temperature from your smartphone, hub or asking your personal assistant.
+
+
+
+You can also see the temperature value on the device OLED display.
+
+## Conclusion
+
+In this tutorial we have learned how to create a Matter enabled temperature sensor that can be monitored from our smartphone and personal assistant. The Nano Matter allows us to seamlessly integrate our own sensor as a commercial product with our current smart home ecosystem.
+
+### Next Steps
+
+You can take this solution even further by adding the humidity measuring capability of the DHT11 sensor and integrate it as a second sensor to your Matter network.
+