diff --git a/content/hardware/_unlisted/boards/nano-matter/certifications/Arduino_ABX00112-DoC_CE.pdf b/content/hardware/03.nano/boards/nano-matter/certifications/Arduino_ABX00112-DoC_CE.pdf
similarity index 100%
rename from content/hardware/_unlisted/boards/nano-matter/certifications/Arduino_ABX00112-DoC_CE.pdf
rename to content/hardware/03.nano/boards/nano-matter/certifications/Arduino_ABX00112-DoC_CE.pdf
diff --git a/content/hardware/_unlisted/boards/nano-matter/certifications/Arduino_ABX00112-DoC_UKCA.pdf b/content/hardware/03.nano/boards/nano-matter/certifications/Arduino_ABX00112-DoC_UKCA.pdf
similarity index 100%
rename from content/hardware/_unlisted/boards/nano-matter/certifications/Arduino_ABX00112-DoC_UKCA.pdf
rename to content/hardware/03.nano/boards/nano-matter/certifications/Arduino_ABX00112-DoC_UKCA.pdf
diff --git a/content/hardware/_unlisted/boards/nano-matter/compatibility.yml b/content/hardware/03.nano/boards/nano-matter/compatibility.yml
similarity index 100%
rename from content/hardware/_unlisted/boards/nano-matter/compatibility.yml
rename to content/hardware/03.nano/boards/nano-matter/compatibility.yml
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano-Matter_Top.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano-Matter_Top.png
new file mode 100644
index 0000000000..09173c8158
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano-Matter_Top.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram-v2.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram-v2.png
new file mode 100644
index 0000000000..b4d3e1c5fa
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram-v2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram.png
deleted file mode 100644
index b49533b5ad..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Block_Diagram.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Connectors.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Connectors.png
index e315d7268b..22a5a2aa34 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Connectors.png and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Connectors.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Outline.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Outline.png
index ea69e92e00..b4f3ed16c4 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Outline.png and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Outline.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_PeripheralsActuators.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_PeripheralsActuators.png
index 6ed76e1a2f..d9429738a1 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_PeripheralsActuators.png and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_PeripheralsActuators.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout.png
deleted file mode 100644
index 97f1c9a6ba..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout_2.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout_2.png
new file mode 100644
index 0000000000..e6130bb594
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Pinout_2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree.png
deleted file mode 100644
index 449d527026..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree_2.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree_2.png
new file mode 100644
index 0000000000..0c2e4f7b4e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Power_Tree_2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Top_View.png b/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Top_View.png
deleted file mode 100644
index c318b07efb..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/datasheet/assets/Nano_Matter_Top_View.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/datasheet/datasheet.md b/content/hardware/03.nano/boards/nano-matter/datasheet/datasheet.md
index b247c8dac5..040c85060b 100644
--- a/content/hardware/03.nano/boards/nano-matter/datasheet/datasheet.md
+++ b/content/hardware/03.nano/boards/nano-matter/datasheet/datasheet.md
@@ -2,14 +2,14 @@
identifier: ABX00112
title: Arduino® Nano Matter
type: maker
-author: José Bagur
+author: José Bagur, Christopher Méndez
---
-![](assets/Nano_Matter_Top_View.png)
+![](assets/Nano-Matter_Top.png)
# Description
-
Expand your home automation and building management projects with the Arduino Nano Matter. This board integrates the high-performance MGM240S microcontroller from Silicon Labs and directly brings the advanced Matter standard for Internet of Things (IoT) connectivity to hobbyists and professionals. The Nano Matter's compact and sturdy build, measuring 18 mm x 45 mm, is perfect for projects that demand energy efficiency and diverse connectivity options, such as Bluetooth® Low Energy and OpenThread. Embrace the simplicity and versatility of the Nano Matter to effortlessly interface with any Matter® compatible devices and leverage the Arduino ecosystem's wide range of peripherals and inputs/outputs to enhance your device connectivity and project capabilities.
+
Expand your home automation and building management projects with the Arduino Nano Matter. This board integrates the high-performance MGM240S microcontroller from Silicon Labs and directly brings the advanced Matter standard for Internet of Things (IoT) connectivity to hobbyists and professionals. The Nano Matter's compact and sturdy build, measuring 18 mm x 45 mm, is perfect for projects that demand energy efficiency and diverse connectivity options, such as Bluetooth® Low Energy and OpenThread. Embrace the simplicity and versatility of the Nano Matter to effortlessly interface with any Matter® compatible devices and leverage the Arduino ecosystem's wide range of peripherals and inputs/outputs to enhance your device connectivity and project capabilities.
# Target Areas
@@ -53,7 +53,7 @@ The main features are highlighted in the table shown below.
| Connectivity | 802.15.4 Thread, Bluetooth® Low Energy 5.3, and Bluetooth® Mesh |
| Security | Secure Vault® from Silicon Labs |
| USB Connectivity | USB-C® port for power and data |
-| Power Supply | Various options for easily powering the board: USB-C® port and external power supply connected through the board's Nano-styled header connector pins (IN5V, VIN) |
+| Power Supply | Various options for easily powering the board: USB-C® port and external power supply connected through the board's Nano-styled header connector pins (5V, VIN) |
| Analog Peripherals | 12-bit ADC (x20), up to 12-bit DAC (x4) |
| Digital Peripherals | GPIO (x22 - All exposed I/O can be used as digital), UART (x2), I2C (x2), SPI (x2), PWM (x22) with a maximum of 5 simultaneously operational channels |
| Debugging | JTAG/SWD debug port (accessible through the board's test pads) |
@@ -86,14 +86,13 @@ The table below provides a comprehensive guideline for the optimal use of the Na
| **Parameter** | **Symbol** | **Min** | **Typ** | **Max** | **Unit** |
-|:--------------------------------:|:---------------:|:-------:|:-------:|:-------:|:--------:|
-| USB Supply Input Voltage | VUSB | - | 5.0 | - | V |
-| Supply Input Voltage1 | VIN | - | 5.0 | 5.5 | V |
+| :------------------------------: | :-------------: | :-----: | :-----: | :-----: | :------: |
+| Input voltage from USB connector | VUSB | 4.8 | 5.0 | 5.5 | V |
+| Input voltage from VIN pad | VIN | 6 | 7.0 | 21 | V |
| Operating Temperature | TOP | -40 | - | 85 | °C |
-1 Nano Matter powered through the IN5V pin (+5 VDC).
### Power Consumption
@@ -106,10 +105,10 @@ The table below summarizes the power consumption of the Nano Matter in different
| Typical Mode Current Consumption² | INM | - | 16 | - | mA |
-2 Nano Matter powered through the IN5V pin (+5 VDC), running a Matter color lightbulb example.
+2 Nano Matter powered through the 5V pin (+5 VDC), running a Matter color lightbulb example.
-To use the Nano Matter in low-power mode, the board must be powered through the pin IN5V.
+To use the Nano Matter in low-power mode, the board must be powered through the pin 3.3V.
@@ -125,7 +124,7 @@ The core of the Nano Matter is the MGM240SD22VNA microcontroller from Silicon La
The Nano-styled header connectors pinout is shown in the figure below.
-![](assets/Nano_Matter_Pinout.png)
+![](assets/Nano_Matter_Pinout_2.png)
@@ -133,7 +132,7 @@ The Nano-styled header connectors pinout is shown in the figure below.
An overview of the high-level architecture of the Nano Matter is illustrated in the figure below.
-![](assets/Nano_Matter_Block_Diagram.png)
+![](assets/Nano_Matter_Block_Diagram-v2.png)
@@ -144,11 +143,12 @@ An overview of the high-level architecture of the Nano Matter is illustrated in
The Nano Matter can be powered through one of the following interfaces:
- **Onboard USB-C® port**: Provides a convenient way to power the board using standard USB-C® cables and adapters.
-- **External +5 VDC power supply**: This can be connected to the IN5V pin or the VIN pin of the Nano-styled header connector. For the VIN pin, ensure the VIN jumper is shorted to enable the power supply.
+- **VIN pad**: Applying 6 to 21 VDC to the VIN pin of the Nano-styled header connector.
+- **5V pad**: Applying +5 VDC to the 5V pin of the Nano-styled header connector.
A detailed figure below illustrates the power options available on the Nano Matter and the main system power architecture.
-![](assets/Nano_Matter_Power_Tree.png)
+![](assets/Nano_Matter_Power_Tree_2.png)
Low-Power Tip: For power efficiency, safely cut the LED jumper and connect an external +3.3 VDC power supply to the board's 3V3 pin. This configuration does not power the board's USB bridge.
@@ -172,7 +172,7 @@ If you want to program your Nano Matter offline, install the Arduino Desktop IDE
### Getting Started - Arduino Cloud Editor
-All Arduino devices work out of the box on the Arduino CLoud Editor **[2]** by installing a simple plugin. The Arduino Cloud Editor is hosted online. Therefore, it will always be up-to-date with all the latest features and support for all boards and devices. Follow **[3]** to start coding on the browser and upload your sketches onto your device.
+All Arduino devices work out of the box on the Arduino Cloud Editor **[2]** by installing a simple plugin. The Arduino Cloud Editor is hosted online. Therefore, it will always be up-to-date with all the latest features and support for all boards and devices. Follow **[3]** to start coding on the browser and upload your sketches onto your device.
### Getting Started - Arduino Cloud
@@ -360,8 +360,9 @@ Hereby, Arduino S.r.l. declares that this product is in compliance with essentia
## Document Revision History
-| **Date** | **Revision** | **Changes** |
-|:----------:|:------------:|:-------------------------:|
-| 05/09/2024 | 3 | Cloud Editor updated from Web Editor |
-| 07/05/2024 | 2 | Board update |
-| 21/03/2024 | 1 | Community Preview Release |
+| **Date** | **Revision** | **Changes** |
+| :--------: | :----------: | :-----------------------------------------: |
+| 14/11/2024 | 4 | Official launch revision and power information update |
+| 05/09/2024 | 3 | Cloud Editor updated from Web Editor |
+| 07/05/2024 | 2 | Board update |
+| 21/03/2024 | 1 | Community Preview Release |
diff --git a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-full-pinout.pdf b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-full-pinout.pdf
index 20e54c083a..ae0934e0fd 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-full-pinout.pdf and b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-full-pinout.pdf differ
diff --git a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-schematics.pdf b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-schematics.pdf
index a4d61f78a6..d905cc9cde 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-schematics.pdf and b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-schematics.pdf differ
diff --git a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-step.zip b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-step.zip
index ac9ee9938a..ba50860f8b 100644
Binary files a/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-step.zip and b/content/hardware/03.nano/boards/nano-matter/downloads/ABX00112-step.zip differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/essentials.md b/content/hardware/03.nano/boards/nano-matter/essentials.md
similarity index 100%
rename from content/hardware/_unlisted/boards/nano-matter/essentials.md
rename to content/hardware/03.nano/boards/nano-matter/essentials.md
diff --git a/content/hardware/_unlisted/boards/nano-matter/features.md b/content/hardware/03.nano/boards/nano-matter/features.md
similarity index 70%
rename from content/hardware/_unlisted/boards/nano-matter/features.md
rename to content/hardware/03.nano/boards/nano-matter/features.md
index 513660675d..d76b74e51b 100644
--- a/content/hardware/_unlisted/boards/nano-matter/features.md
+++ b/content/hardware/03.nano/boards/nano-matter/features.md
@@ -1,6 +1,6 @@
- The Nano Matter uses Silicon Labs's powerful [MGM240S](https://www.silabs.com/documents/public/data-sheets/mgm240s-datasheet.pdf) chip, making the popular IoT connectivity standard, Matter®, more accessible in Maker and Professional applications. Its versatile connectivity options, including Bluetooth® Low Energy and Openthread, make it ideal for projects requiring low-power efficiency and broad connectivity.
+ The Nano Matter uses Silicon Labs's powerful [MGM240S](https://www.silabs.com/documents/public/data-sheets/mgm240s-datasheet.pdf) chip; making the popular IoT connectivity standard Matter® more accessible in Maker and Professional applications. Its versatile connectivity options, including Bluetooth® Low Energy and Openthread, make it ideal for projects requiring low-power efficiency and broad connectivity.
Thanks to the Nano Matter and its small form factor, you can easily prototype new Matter devices, expanding your home automation and professional IoT implementations to the next level.
@@ -47,16 +47,9 @@
With a length of 45 mm and a width of 18 mm, the Nano Matter maintains a tiny footprint of the well-known Nano family, allowing easy upgrades for existing projects.
-
+
Protect your project with the industry-leading suite of security features from Silicon Labs escalating Internet of Things (IoT) threats.
-
-
-
-
- **Legal notice**: This Community Preview Product is provided "as is" and we make no express or implied warranties whatsoever with respect to its functionality, operability, or use, including, without limitation, any implied warranties of merchantability, fitness for a particular purpose, or infringement. We expressly disclaim any liability whatsoever for any direct, indirect, consequential, incidental or special damages, including, without limitation, lost revenues, lost profits, losses resulting from business interruption or loss of data, regardless of the form of action or legal theory under which the liability may be asserted, even if advised of the possibility or likelihood of such damages.
-
-
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-matter/image.svg b/content/hardware/03.nano/boards/nano-matter/image.svg
new file mode 100644
index 0000000000..4ac755a784
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-matter/image.svg
@@ -0,0 +1,360 @@
+
diff --git a/content/hardware/03.nano/boards/nano-matter/interactive/ABX00112-pinout.png b/content/hardware/03.nano/boards/nano-matter/interactive/ABX00112-pinout.png
new file mode 100644
index 0000000000..e6130bb594
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/interactive/ABX00112-pinout.png differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/product.md b/content/hardware/03.nano/boards/nano-matter/product.md
similarity index 76%
rename from content/hardware/_unlisted/boards/nano-matter/product.md
rename to content/hardware/03.nano/boards/nano-matter/product.md
index b890cba9b2..7bc3601946 100644
--- a/content/hardware/_unlisted/boards/nano-matter/product.md
+++ b/content/hardware/03.nano/boards/nano-matter/product.md
@@ -10,7 +10,3 @@ certifications: [CE, UKCA]
The Arduino Nano Matter combines Arduino's user-friendly approach with the powerful MGM240S technology from Silicon Labs. This enables Makers and Professionals to work with **[Matter®](https://csa-iot.org/all-solutions/matter/)**, the popular standard for IoT devices, taking advantage of the Nano's low-power and compact design.
-
-
-
-**[Community Preview] The Matter Color Light will be the only officially Matter-certified profile for the Nano Matter Community Preview. Currently under certification.**
\ No newline at end of file
diff --git a/content/hardware/_unlisted/boards/nano-matter/tech-specs.md b/content/hardware/03.nano/boards/nano-matter/tech-specs.md
similarity index 100%
rename from content/hardware/_unlisted/boards/nano-matter/tech-specs.md
rename to content/hardware/03.nano/boards/nano-matter/tech-specs.md
diff --git a/content/hardware/_unlisted/boards/nano-matter/tech-specs.yml b/content/hardware/03.nano/boards/nano-matter/tech-specs.yml
similarity index 96%
rename from content/hardware/_unlisted/boards/nano-matter/tech-specs.yml
rename to content/hardware/03.nano/boards/nano-matter/tech-specs.yml
index e281fad61e..3eb409e502 100644
--- a/content/hardware/_unlisted/boards/nano-matter/tech-specs.yml
+++ b/content/hardware/03.nano/boards/nano-matter/tech-specs.yml
@@ -31,7 +31,8 @@ Pulse Width Modulation (PWM):
External Interrupts: Available within all Digital pins
Power:
Circuit operating voltage: 3.3 V
- Input voltage (VIN): 5 V
+ Input voltage (VIN): 6 - 21 V
+ Input voltage (5V): 5 V
Source Current per I/O Pin: 40 mA
Sink Current per I/O Pin: 28 mA
Memory:
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.
+
+![Matter fan overview](assets/thumbnail-v4.png)
+
+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/download.png)](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.
+
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+![Project wiring diagram](assets/diagram-v4.png)
+
+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**.
+
+![Matter Protocol stack selected](assets/matter-setup-2.png)
+
+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.
+
+![QR Code URL](assets/serial-monitor-v4.png)
+
+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.
+
+![Adding the device to Google Home app](assets/add-device.png)
+
+![Your device is successfully added](assets/add-device-2.png)
+
+## Final Results
+
+Finally, you will be able to control the fan from your smartphone, hub or asking your personal assistant.
+
+![Matter fan final result](assets/animation.gif)
+
+## 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.
+
+![Smart relay overview](assets/thumbnail-v3.png)
+
+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/download.png)](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.
+
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+![Project wiring diagram](assets/diagram-v3.png)
+
+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**.
+
+![Matter Protocol stack selected](assets/matter-setup-2.png)
+
+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.
+
+![QR Code URL](assets/serial-monitor-v3.png)
+
+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.
+
+![Adding the device to Google Home app](assets/add-device.png)
+
+![Your device is successfully added](assets/add-device-2.png)
+
+## Final Results
+
+Finally, you will be able to control the AC lightbulb from your smartphone, hub or asking your personal assistant.
+
+![Smart relay final result](assets/animation.gif)
+
+## 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..e4baa081e2
--- /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.
+
+![RGB light overview](assets/thumbnail-v2.png)
+
+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/download.png)](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.
+
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+![Project wiring diagram](assets/diagram-v2.png)
+
+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**.
+
+![Matter Protocol stack selected](assets/matter-setup-2.png)
+
+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.
+
+![QR Code URL](assets/serial-monitor-v2.png)
+
+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.
+
+![Adding the device to Google Home app](assets/add-device-alexa.png)
+
+![Your device is successfully added](assets/add-device-alexa-2.png)
+
+## Final Results
+
+Finally, you will be able to control the RGB light from your smartphone, hub or asking your personal assistant.
+
+![RGB light final result](assets/animation.gif)
+
+## 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..be82cfcc1b
--- /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.
+
+![Temperature sensor overview](assets/thumbnail-v1.png)
+
+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/download.png)](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.
+
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
+
+## Project Setup
+
+### Schematic Diagram
+
+Use the following connection diagram for the project:
+
+![Project wiring diagram](assets/diagram-v1.png)
+
+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**.
+
+![Matter Protocol stack selected](assets/matter-setup-2.png)
+
+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.
+
+![QR Code URL](assets/serial-monitor.png)
+
+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.
+
+![Adding the device to Google Home app](assets/add-device.png)
+
+![Your device is successfully added](assets/add-device-2.png)
+
+## Final Results
+
+Finally, you will be able to monitor your room temperature from your smartphone, hub or asking your personal assistant.
+
+![Temperature sensor final result](assets/animation.gif)
+
+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.
+
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/BlinkyBLE.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/BlinkyBLE.gif
deleted file mode 100644
index 7a7ca73616..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/BlinkyBLE.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input-2.png
new file mode 100644
index 0000000000..730a7f966b
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input.png
deleted file mode 100644
index 53d85097b8..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/adc-input.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/alexa-matter.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/alexa-matter.gif
new file mode 100644
index 0000000000..de5abe3bff
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/alexa-matter.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple-matter.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple-matter.gif
new file mode 100644
index 0000000000..0c9394598b
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple-matter.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple.gif
deleted file mode 100644
index f6f576f551..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/apple.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture-2.png
new file mode 100644
index 0000000000..1177d65ce2
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture.png
deleted file mode 100644
index 9d102f6fe7..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/architecture.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky-3.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky-3.gif
new file mode 100644
index 0000000000..c7e909ce18
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky-3.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky.gif
new file mode 100644
index 0000000000..c36804ccfd
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-blinky.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-2.png
new file mode 100644
index 0000000000..ff7343ba66
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-3.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-3.png
new file mode 100644
index 0000000000..02a1cb1525
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup-3.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup.png
deleted file mode 100644
index 4fefad3090..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ble-setup.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-2.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-2.gif
new file mode 100644
index 0000000000..636a141a79
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-2.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-rgb-2.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-rgb-2.gif
new file mode 100644
index 0000000000..247a70184c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink-rgb-2.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink.gif
deleted file mode 100644
index cd99d6f1c2..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/blink.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/bsp-install-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/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/user-manual/assets/bsp-install-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/bsp-install.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/bsp-install.png
deleted file mode 100644
index d81fae6081..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/bsp-install.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button-2.png
new file mode 100644
index 0000000000..386d0dd2cc
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button.png
deleted file mode 100644
index 9c401aa7a1..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/button.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-2.png
new file mode 100644
index 0000000000..66130cd9ba
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-small.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-small.png
deleted file mode 100644
index 4260d4bc8d..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/castellated-small.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power-2.png
new file mode 100644
index 0000000000..afe83114f7
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power.png
deleted file mode 100644
index 998ad7553b..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ext-power.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/google-matter.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/google-matter.gif
new file mode 100644
index 0000000000..1c0ccaf169
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/google-matter.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring-2.png
new file mode 100644
index 0000000000..d89b4d63bd
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring.png
deleted file mode 100644
index 16cf980f8a..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/gpio-wiring.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha-matter.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha-matter.gif
new file mode 100644
index 0000000000..29bb242306
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha-matter.gif differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha.gif
deleted file mode 100644
index af20295518..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/ha.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp-2.png
new file mode 100644
index 0000000000..5e890b0585
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp.png
deleted file mode 100644
index 79363387ec..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/home-assistant-temp.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power-2.png
new file mode 100644
index 0000000000..a38d1f7549
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power.png
deleted file mode 100644
index 29c3e8eb94..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/lower-power.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-alexa.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-alexa.gif
deleted file mode 100644
index 561ef54e0a..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-alexa.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples-2.png
new file mode 100644
index 0000000000..e1ea032980
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples.png
deleted file mode 100644
index 737dff5893..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-examples.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-google.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-google.gif
deleted file mode 100644
index a0ba9167ba..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-google.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-setup-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/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/user-manual/assets/matter-setup-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-setup.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-setup.png
deleted file mode 100644
index bf6558811e..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/matter-setup.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner-2.png
new file mode 100644
index 0000000000..5dddec6247
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner.png
deleted file mode 100644
index f4dada6d2c..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/nano-matter-banner.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-blink.gif b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-blink.gif
deleted file mode 100644
index a55b8193b9..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-blink.gif and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led-2.png
new file mode 100644
index 0000000000..11fbf51fb5
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led.png
deleted file mode 100644
index 0b534863fa..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rgb-led.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button-2.png
new file mode 100644
index 0000000000..85b2bf8cc1
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button.png
deleted file mode 100644
index 0b74829e07..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/rst-button.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output-2.png
new file mode 100644
index 0000000000..5a5a5ee69e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output.png
deleted file mode 100644
index c022a4f197..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/saw-output.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout-2.png
new file mode 100644
index 0000000000..e6130bb594
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout.png
deleted file mode 100644
index afd2ecedd0..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/simple-pinout.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output-2.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output-2.png
new file mode 100644
index 0000000000..a5ef985809
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output-2.png differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output.png b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output.png
deleted file mode 100644
index e770e94350..0000000000
Binary files a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/assets/sine-output.png and /dev/null differ
diff --git a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/content.md b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/content.md
index e15982fb3b..4204502cc2 100644
--- a/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/content.md
+++ b/content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/content.md
@@ -22,11 +22,7 @@ software:
This user manual will guide you through a practical journey covering the most interesting features of the Arduino Nano Matter. With this user manual, you will learn how to set up, configure and use this Arduino board.
-![RGB Lightbulb with Nano Matter](assets/matter-google.gif)
-
-## The Community Preview
-
-The actual Arduino Nano Matter board available in the market is a community preview. **The Matter Color Light will be the only officially Matter-certified profile for the Nano Matter Community Preview. Currently under certification.**
+![RGB Lightbulb with Nano Matter](assets/google-matter.gif)
## Hardware and Software Requirements
### Hardware Requirements
@@ -46,7 +42,7 @@ The **Silicon Labs** core contains the libraries and examples you need to work w
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.
-![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install.png)
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
## Product Overview
@@ -57,18 +53,18 @@ It enables 802.15.4 (Thread®) and Bluetooth® Low Energy connectivity, to inter
### Board Architecture Overview
The Nano Matter features a compact and efficient architecture powered by the MGM240S (32-bit Arm® Cortex®-M33) from Silicon Labs, a high-performance wireless module
-optimized for the needs of battery and line-powered IoT devices for 2.4 GHz mesh networks.
+optimized for the needs of battery and line-powered IoT devices for 2.4 GHz mesh networks.
-![Nano Matter's main components](assets/architecture.png)
+![Nano Matter's main components](assets/architecture-2.png)
Here is an overview of the board's main components, as shown in the image above:
-- **Microcontroller**: at the heart of the Nano Matter is the MGM240S, a high-performance wireless module from Silicon Labs. The MGM240S is built around a 32-bit Arm® Cortex®-M33 processor running at 78 MHz.
-- **Wireless connectivity**: the Nano Matter microcontroller also features multi-protocol connectivity to enable Matter IoT protocol and Bluetooth® Low Energy. This allows the Nano Matter to be integrated with smart home systems and communicate wirelessly with other devices.
+- **Microcontroller**: at the heart of the Nano Matter is the MGM240S, a high-performance wireless module from Silicon Labs. The MGM240S is built around a 32-bit Arm® Cortex®-M33 processor running at 78 MHz.
+- **Wireless connectivity**: the Nano Matter microcontroller also features multiprotocol connectivity to enable Matter IoT protocol and Bluetooth® Low Energy. This allows the Nano Matter to be integrated with smart home systems and communicate wirelessly with other devices.
### Pinout
-![Nano Matter Simple pinout](assets/simple-pinout.png)
+![Nano Matter Simple pinout](assets/simple-pinout-2.png)
The full pinout is available and downloadable as PDF from the link below:
@@ -99,24 +95,25 @@ The Nano Matter board features castellated pins, which are ideal for integrating
You can easily solder the Nano Matter in your custom PCB, since the board does not present any bottom-mounted components.
-![Nano Matter castellated pins](assets/castellated-small.png)
+![Nano Matter castellated pins](assets/castellated-2.png)
## First Use
### Powering the Board
The Nano Matter can be powered by:
-- A USB-C® cable (not included).
-- An external **5 V power supply** connected to `IN5V` pin (please, refer to the [board pinout section](#pinout) of the user manual).
+- A USB-C® cable (not included).
+- An external **5 V power supply** connected to `5V` pin (please, refer to the [board pinout section](#pinout) of the user manual).
+- An external **6-21 V power supply** connected to `VIN` pin (please, refer to the [board pinout section](#pinout) of the user manual).
-![Nano Matter externally powered](assets/ext-power.png)
+![Nano Matter externally powered](assets/ext-power-2.png)
For low-power consumption applications, the following hacks are recommended:
- Cut the power status LED jumper off to save energy.
- Power the board with an external **3.3 V power supply** connected to **3.3V** pin. This will not power the *USB bridge IC*, so more energy will be saved.
-![Image showing the LED jumper and external 3.3 V power](assets/lower-power.png)
+![Image showing the LED jumper and external 3.3 V power](assets/lower-power-2.png)
***To power the board through the VIN pin you need to close the jumper pads with solder. The maximum voltage supported is +5 VDC.***
@@ -128,7 +125,7 @@ The **Silicon Labs** core contains the libraries and examples you need to work w
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.
-![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install.png)
+![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
### Hello World Example
@@ -160,7 +157,7 @@ To upload the code to the Nano Matter, click the **Verify** button to compile th
You should now see the red LED of the built-in RGB LED turning on for one second, then off for one second, repeatedly.
-![Hello World example running in the Nano Matter](assets/blink.gif)
+![Hello World example running in the Nano Matter](assets/blink-2.gif)
If everything works as expected, you are ready to continue searching and experimenting with this mighty board.
@@ -168,19 +165,19 @@ If everything works as expected, you are ready to continue searching and experim
Developing Matter-compatible IoT solutions has never been easier with the Arduino ecosystem.
-![Nano Matter](assets/nano-matter-banner.png)
+![Nano Matter](assets/nano-matter-banner-2.png)
The Nano Matter can communicate with Matter hubs through a Thread® network, so the hubs used must be **Thread® border routers**.
The Silicon Labs core in the Arduino IDE comes with several Matter examples ready to be tested with the Nano Matter and works as a starting point for almost any IoT device we can imagine building.
-![Matter examples](assets/matter-examples.png)
+![Matter examples](assets/matter-examples-2.png)
***The _matter_lightbulb_ example is the only officially Matter-certified profile for the Nano Matter __Community Preview__. Consequently, while running any of the other available profile examples, it is expected to get an _Uncertified device_ message in the different Matter-compatible apps. This does not prevent the user from prototyping a solution with different configurations.***
First, to start creating *Matter-enabled* solutions, we need to select the Matter protocol in **Tools > Protocol stack > Matter**:
-![Matter Protocol stack selected](assets/matter-setup.png)
+![Matter Protocol stack selected](assets/matter-setup-2.png)
In the example below, we are going to use the Nano Matter as a *RGB Lightbulb*. For this, navigate to **File > Examples > Matter** and open the built-in sketch called **nano_matter_lightbulb_color**.
@@ -347,7 +344,7 @@ To upload the code to the Nano Matter, click the **Verify** button to compile th
After the code is uploaded, open the Arduino IDE Serial Monitor and reset the board by clicking on the reset button. To commission a Matter device to the network you will need the credentials shown in the terminal.
-![Nano Matter Reset Button](assets/rst-button.png)
+![Nano Matter Reset Button](assets/rst-button-2.png)
You will find a **Manual pairing code** and a **QR code URL** as follows:
@@ -376,7 +373,7 @@ Then, wait for the device to be commissioned and added to the Google Home app:
Finally, you will be able to control the Nano Matter built-in RGB LED as a native smart device. You can turn it on and off and control its color and brightness.
-![RGB Lightbulb with Nano Matter](assets/matter-google.gif)
+![RGB Lightbulb with Nano Matter](assets/google-matter.gif)
You are also able to control your device using voice commands with your personal assistant.
@@ -411,7 +408,7 @@ Read the QR code generated by the Nano Matter sketch, select the **Thread®** ne
Finally, you will be able to control the Nano Matter built-in RGB LED as a native smart device. You can turn it on and off and control its color and brightness.
-![RGB Lightbulb with Nano Matter](assets/matter-alexa.gif)
+![RGB Lightbulb with Nano Matter](assets/alexa-matter.gif)
You are also able to control your device using voice commands with your personal assistant.
@@ -440,7 +437,7 @@ Then, follow the steps for adding and naming the Matter Light bulb:
Finally, you will be able to control the Nano Matter built-in RGB LED as a native smart device. You can turn it on and off and control its color and brightness.
-![RGB Lightbulb with Nano Matter](assets/apple.gif)
+![RGB Lightbulb with Nano Matter](assets/apple-matter.gif)
You are also able to control your device using voice commands with your personal assistant.
@@ -476,7 +473,7 @@ Finally, you will be able to control the Nano Matter built-in RGB LED as a nativ
You can use the Home Assistant web view or mobile app to control your device.
-![RGB Lightbulb with Nano Matter](assets/ha.gif)
+![RGB Lightbulb with Nano Matter](assets/ha-matter.gif)
If you want to commission your Nano Matter solution with another service, follow the steps in the [decommissioning](#device-decommissioning) section.
@@ -496,6 +493,8 @@ If you have a Matter device configured and working with a _specific platform_, f
In simple terms, **decommissioning** refers to unpairing your device from a current service to be able to pair it with a new one.
+***Use the library built-in example found in __File > Examples > Matter > matter_decommission__.***
+
You can integrate this method in your solutions to leverage the Nano Matter built-in button to handle decommissioning:
```arduino
@@ -535,11 +534,12 @@ void decommission_handler() {
if (!Matter.isDeviceCommissioned()) {
Serial.println("Decommission done!");
digitalWrite(LEDR, LOW);
+ Matter.decommission();
} else {
Serial.println("Matter device is commissioned-> Starting Decommission process");
- nvm3_eraseAll(nvm3_defaultHandle); // Decomission command
digitalWrite(LED_BUILTIN, LOW);
Serial.println("Decommission done!");
+ Matter.decommission();
}
break;
}
@@ -673,7 +673,7 @@ Now it is time to commission the Nano Matter with Home Assistant, for this, foll
Once you have everything set up and running you will be able to monitor the Nano Matter temperature in Home Assistant:
-![Nano Matter Temperature in Home Assistant](assets/home-assistant-temp.png)
+![Nano Matter Temperature in Home Assistant](assets/home-assistant-temp-2.png)
***Be aware that the Matter integration for Home Assistant is still in BETA, it can receive major updates and its functionality may vary between different vendors.***
@@ -781,7 +781,7 @@ rest_command:
```
The [RESTful command integration](https://www.home-assistant.io/integrations/rest_command/) lets us define the HTTP request structure to be able to send the Nano Matter temperature sensor data to the Arduino Cloud. We can call this service from an automation.
-As you may noticed, the sensitive data we stored in the "secrets.yaml" file is being called here with the **!secret** prefix.
+As you may noticed, the sensitive data we stored in the "secrets.yaml" file is being called here with the `!secret` prefix.
![configuration.yaml file to define services](assets/ha-setup-config.png)
@@ -817,7 +817,7 @@ This automation will be triggered if the Nano Matter sensor temperature value ch
![Automation defining](assets/automation-define.png)
-***If you used different names for the services or devices, make sure to update them in the YAML code above.***
+***If you use different names for the services or devices, make sure to update them in the YAML code above.***
### Final Results
@@ -827,22 +827,24 @@ With this done, Home Assistant should be forwarding the Nano Matter sensor data
## Bluetooth® Low Energy
-To enable Bluetooth® Low Energy communication on the Nano Matter, you must enable the "BLE" protocol stack in the Arduino IDE board configurations.
+### Silicon Labs BLE Library
-In the upper menu, navigate to **Tools > Protocol stack** and select **BLE**.
+To enable Bluetooth® Low Energy communication on the Nano Matter, you must enable the "BLE" protocol stack in the Arduino IDE board configurations. In this section we will use the official Silabs Bluetooth library.
-![Enable "BLE" Protocol Stack](assets/ble-setup.png)
+In the upper menu, navigate to **Tools > Protocol stack** and select **BLE(Silabs)**.
+
+![Enable "BLE(Silabs)" Protocol Stack](assets/ble-setup-2.png)
For this Bluetooth® Low Energy application example, we are going to control the Nano Matter built-in LED and read the onboard button status. The example sketch to be used can be found in **File > Examples > Silicon Labs > ble_blinky**:
```arduino
/*
BLE blinky example
-*/
+ */
bool btn_notification_enabled = false;
-bool btn_state_changed = false;
-uint8_t btn_state = LOW;
+volatile bool btn_state_changed = false;
+volatile uint8_t btn_state = LOW;
static void btn_state_change_callback();
static void send_button_state_notification();
static void set_led_on(bool state);
@@ -998,7 +1000,7 @@ static void send_button_state_notification()
}
sl_status_t sc = sl_bt_gatt_server_notify_all(btn_report_characteristic_handle,
sizeof(btn_state),
- &btn_state);
+ (const uint8_t*)&btn_state);
if (sc == SL_STATUS_OK) {
Serial.print("Notification sent, button state: ");
Serial.println(btn_state);
@@ -1169,16 +1171,147 @@ The `ble_initialize_gatt_db()` function is responsible for:
***Note that if you want to implement a different or custom Bluetooth® Low Energy service or characteristic, the UUID arrays have to start with the least significant bit (LSB) from left to right.***
-After uploading the sketch to the Nano Matter, it is time to communicate with it through Bluetooth® Low Energy. For this, Silicon Labs has developed a **mobile app** that you can download from here:
+After uploading the sketch to the Nano Matter, it is time to communicate with it via Bluetooth® Low Energy. To do this Silicon Labs has developed a **mobile app** that you can download from here:
+
+- [Android](https://play.google.com/store/apps/details?id=com.siliconlabs.bledemo)
+- [iOS](https://itunes.apple.com/us/app/silicon-labs-blue-gecko-wstk/id1030932759)
+
+Open the **Simplicity Connect** app on your smartphone, in the lower menu, navigate to **Demo** and select **Blinky**:
+
+![Blinky demo controlling the Nano Matter via Bluetooth® Low Energy](assets/ble-blinky.gif)
+
+***You can also manage the LED and button status manually from the Scan tab in the lower menu of the app.***
+
+### Arduino BLE Library
+
+Now let's do the same but using the `ArduinoBLE` library.
+
+In the upper menu, navigate to **Tools > Protocol stack** and select **BLE(Arduino)**.
+
+![Enable "BLE(Arduino)" Protocol Stack](assets/ble-setup-3.png)
+
+For this Bluetooth® Low Energy application example, we are going to control the Nano Matter built-in LED and read the onboard button status, everything from the **Simplicity Connect** app.
+
+```arduino
+#include
+
+BLEService ledService("de8a5aac-a99b-c315-0c80-60d4cbb51224"); // Bluetooth® Low Energy LED Service
+
+// Bluetooth® Low Energy LED Switch Characteristic - custom 128-bit UUID, read and writable by central
+BLEByteCharacteristic ledCharacteristic("5b026510-4088-c297-46d8-be6c736a087a", BLERead | BLEWrite);
+
+// Bluetooth® Low Energy Push Button Characteristic - custom 128-bit UUID, read and notify by central
+BLEByteCharacteristic switchCharacteristic("61a885a4-41c3-60d0-9a53-6d652a70d29c", BLERead | BLENotify);
+
+const int ledPin = LED_BUILTIN; // pin to use for the LED
+volatile bool btn_state_changed = false;
+volatile uint8_t btn_state = LOW;
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial)
+ ;
+
+ // set LED pin to output mode
+ pinMode(ledPin, OUTPUT);
+ digitalWrite(ledPin, HIGH);
+
+ pinMode(BTN_BUILTIN, INPUT_PULLUP);
+ attachInterrupt(BTN_BUILTIN, &btn_handle, CHANGE);
+
+ // begin initialization
+ if (!BLE.begin()) {
+ Serial.println("starting Bluetooth® Low Energy module failed!");
+
+ while (1)
+ ;
+ }
+
+ // set advertised local name and service UUID:
+ BLE.setLocalName("Blinky Example");
+ BLE.setAdvertisedService(ledService);
+
+ // add the characteristic to the service
+ ledService.addCharacteristic(ledCharacteristic);
+ ledService.addCharacteristic(switchCharacteristic);
+
+ // add service
+ BLE.addService(ledService);
+
+ // set the initial value for the characeristic:
+ ledCharacteristic.writeValue(0);
+ switchCharacteristic.writeValue(0);
+
+ // start advertising
+ BLE.advertise();
+
+ Serial.println("BLE LED Peripheral");
+}
+
+void loop() {
+ // listen for Bluetooth® Low Energy peripherals to connect:
+ BLEDevice central = BLE.central();
+
+ // if a central is connected to peripheral:
+ if (central) {
+ Serial.print("Connected to central: ");
+ // print the central's MAC address:
+ Serial.println(central.address());
+
+ // while the central is still connected to peripheral:
+ while (central.connected()) {
+ // if the remote device wrote to the characteristic,
+ // use the value to control the LED:
+ if (ledCharacteristic.written()) {
+ if (ledCharacteristic.value()) { // any value other than 0
+ Serial.println("LED on");
+ digitalWrite(ledPin, LOW); // will turn the LED on
+ } else { // a 0 value
+ Serial.println(F("LED off"));
+ digitalWrite(ledPin, HIGH); // will turn the LED off
+ }
+ }
+
+ if (btn_state_changed) {
+ // button state changed, update characteristics
+ btn_state_changed = false;
+ Serial.println("Button toggle");
+ switchCharacteristic.writeValue(btn_state);
+ }
+ }
+
+ // when the central disconnects, print it out:
+ Serial.print(F("Disconnected from central: "));
+ Serial.println(central.address());
+ }
+}
+
+/**************************************************************************/ /**
+ * Called on button state change - stores the current button state and
+ * sets a flag that a button state change occurred.
+ *****************************************************************************/
+static void btn_handle() {
+ // The real button state is inverted - most boards have an active low button configuration
+ btn_state = !digitalRead(BTN_BUILTIN);
+ btn_state_changed = true;
+}
+```
+
+As you can see, using the `ArduinoBLE` library makes the Bluetooth example more similar to the Bluetooth implementation of other Arduino boards, making it easier to migrate code from one board to another. We end up with a simple `setup()` and `loop()` sketch.
+
+- In the `setup()` function the board outputs and inputs are set and configured alongside the BLE service and characteristics.
+- In the `loop()` function we continuously ask if the peripheral is properly connected to a central and then start notifying the push button status and retrieving the app LED status.
+
+After uploading the sketch to the Nano Matter, it is time to communicate with it via Bluetooth® Low Energy. To do this Silicon Labs has developed a **mobile app** that you can download from here:
- [Android](https://play.google.com/store/apps/details?id=com.siliconlabs.bledemo)
- [iOS](https://itunes.apple.com/us/app/silicon-labs-blue-gecko-wstk/id1030932759)
-Open the *EFR Connect BLE Mobile APP* on your smartphone, in the lower menu, navigate to **Demo** and select **Blinky**:
+Open the **Simplicity Connect** app on your smartphone, in the lower menu, navigate to **Demo** and select **Blinky**:
-![Blinky demo controlling the Nano Matter through Bluetooth® Low Energy](assets/BlinkyBLE.gif)
+![Blinky demo controlling the Nano Matter via Bluetooth® Low Energy](assets/ble-blinky-3.gif)
-***You can also manage the LED control and button status manually from the Scan tab in the lower menu.***
+***You can also manage the LED and button status manually from the Scan tab in the lower menu of the app.***
## Onboard User Interface
@@ -1186,7 +1319,7 @@ Open the *EFR Connect BLE Mobile APP* on your smartphone, in the lower menu, nav
The Nano Matter includes an onboard **push button** that can be used as an input by the user. The button is connected to the GPIO `PA0` and can be read using the `BTN_BUILTIN` macro.
-![Nano Matter Built-in Push Button](assets/button.png)
+![Nano Matter Built-in Push Button](assets/button-2.png)
The button pulls the input to the ground when pressed, so is important to define the **pull-up resistor** to avoid undesired behavior by leaving the input floating.
@@ -1238,7 +1371,7 @@ The Nano Matter features a built-in RGB LED that can be a visual feedback indica
***The RGB LED colors are activated with zeros, this means that you need to set to LOW the color segment you want to turn on.***
-![Built-in RGB LED](assets/rgb-led.png)
+![Built-in RGB LED](assets/rgb-led-2.png)
Here you can find a complete example code to blink the built-in RGB LED of the Nano Matter:
@@ -1268,7 +1401,7 @@ void loop() {
}
```
-![Nano Matter built-in LED blink](assets/rgb-blink.gif)
+![Nano Matter built-in LED blink](assets/blink-rgb-2.gif)
## Pins
@@ -1335,7 +1468,7 @@ digitalWrite(pin, LOW);
The example code shown below uses digital pin `D5` to control an LED and reads the state of a button connected to digital pin `D4`:
-![Digital I/O example wiring](assets/gpio-wiring.png)
+![Digital I/O example wiring](assets/gpio-wiring-2.png)
```arduino
// Define button and LED pin
@@ -1502,7 +1635,7 @@ analogReference(AR_INTERNAL1V2);
The example code shown below reads the analog input value from a potentiometer connected to `A0` and displays it on the IDE Serial Monitor. To understand how to properly connect a potentiometer to the Nano Matter, take the following image as a reference:
-![ADC input example wiring](assets/adc-input.png)
+![ADC input example wiring](assets/adc-input-2.png)
```arduino
int sensorPin = A0; // select the input pin for the potentiometer
@@ -1588,7 +1721,7 @@ void loop()
```
The DAC output should look like the image below:
-![DAC sine wave output](assets/sine-output.png)
+![DAC sine wave output](assets/sine-output-2.png)
The following sketch will create a **sawtooth** wave signal in the `A0` Nano Matter pin:
@@ -1616,7 +1749,7 @@ void loop()
```
The DAC output should look like the image below:
-![DAC sawtooth wave output](assets/saw-output.png)
+![DAC sawtooth wave output](assets/saw-output-2.png)
## Communication
diff --git a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-datasheet.pdf b/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-datasheet.pdf
deleted file mode 100644
index 679a3c4b02..0000000000
Binary files a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-datasheet.pdf and /dev/null differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-full-pinout.pdf b/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-full-pinout.pdf
deleted file mode 100644
index 20e54c083a..0000000000
Binary files a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-full-pinout.pdf and /dev/null differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-schematics.pdf b/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-schematics.pdf
deleted file mode 100644
index a4d61f78a6..0000000000
Binary files a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-schematics.pdf and /dev/null differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-step.zip b/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-step.zip
deleted file mode 100644
index ac9ee9938a..0000000000
Binary files a/content/hardware/_unlisted/boards/nano-matter/downloads/ABX00112-step.zip and /dev/null differ
diff --git a/content/hardware/_unlisted/boards/nano-matter/image.svg b/content/hardware/_unlisted/boards/nano-matter/image.svg
deleted file mode 100644
index 50c1575b1b..0000000000
--- a/content/hardware/_unlisted/boards/nano-matter/image.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/content/hardware/_unlisted/boards/nano-matter/interactive/ABX00112-pinout.png b/content/hardware/_unlisted/boards/nano-matter/interactive/ABX00112-pinout.png
deleted file mode 100644
index 97f1c9a6ba..0000000000
Binary files a/content/hardware/_unlisted/boards/nano-matter/interactive/ABX00112-pinout.png and /dev/null differ