Skip to content

Commit 37da086

Browse files
committed
User Manual update
1 parent 7a3bfda commit 37da086

31 files changed

+30
-28
lines changed
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

content/hardware/03.nano/boards/nano-matter/tutorials/user-manual/content.md

+30-28
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ The **Silicon Labs** core contains the libraries and examples you need to work w
4646

4747
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.
4848

49-
![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install.png)
49+
![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
5050

5151
## Product Overview
5252

@@ -59,7 +59,7 @@ It enables 802.15.4 (Thread®) and Bluetooth® Low Energy connectivity, to inter
5959
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
6060
optimized for the needs of battery and line-powered IoT devices for 2.4 GHz mesh networks.
6161

62-
![Nano Matter's main components](assets/architecture.png)
62+
![Nano Matter's main components](assets/architecture-2.png)
6363

6464
Here is an overview of the board's main components, as shown in the image above:
6565

@@ -68,7 +68,7 @@ Here is an overview of the board's main components, as shown in the image above:
6868

6969
### Pinout
7070

71-
![Nano Matter Simple pinout](assets/simple-pinout.png)
71+
![Nano Matter Simple pinout](assets/simple-pinout-2.png)
7272

7373
The full pinout is available and downloadable as PDF from the link below:
7474

@@ -99,24 +99,25 @@ The Nano Matter board features castellated pins, which are ideal for integrating
9999

100100
You can easily solder the Nano Matter in your custom PCB, since the board does not present any bottom-mounted components.
101101

102-
![Nano Matter castellated pins](assets/castellated-small.png)
102+
![Nano Matter castellated pins](assets/castellated-2.png)
103103

104104
## First Use
105105
### Powering the Board
106106

107107
The Nano Matter can be powered by:
108108

109109
- A USB-C® cable (not included).
110-
- An external **5 V power supply** connected to `IN5V` pin (please, refer to the [board pinout section](#pinout) of the user manual).
110+
- An external **5 V power supply** connected to `5V` pin (please, refer to the [board pinout section](#pinout) of the user manual).
111+
- An external **6 - 21 V power supply** connected to `VIN` pin (please, refer to the [board pinout section](#pinout) of the user manual).
111112

112-
![Nano Matter externally powered](assets/ext-power.png)
113+
![Nano Matter externally powered](assets/ext-power-2.png)
113114

114115
For low-power consumption applications, the following hacks are recommended:
115116

116117
- Cut the power status LED jumper off to save energy.
117118
- 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.
118119

119-
![Image showing the LED jumper and external 3.3 V power](assets/lower-power.png)
120+
![Image showing the LED jumper and external 3.3 V power](assets/lower-power-2.png)
120121

121122
***To power the board through the VIN pin you need to close the jumper pads with solder. The maximum voltage supported is +5 VDC.***
122123

@@ -128,7 +129,7 @@ The **Silicon Labs** core contains the libraries and examples you need to work w
128129

129130
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.
130131

131-
![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install.png)
132+
![Installing the Silicon Labs core in the Arduino IDE](assets/bsp-install-2.png)
132133

133134
### Hello World Example
134135

@@ -160,27 +161,27 @@ To upload the code to the Nano Matter, click the **Verify** button to compile th
160161

161162
You should now see the red LED of the built-in RGB LED turning on for one second, then off for one second, repeatedly.
162163

163-
![Hello World example running in the Nano Matter](assets/blink.gif)
164+
![Hello World example running in the Nano Matter](assets/blink-2.gif)
164165

165166
If everything works as expected, you are ready to continue searching and experimenting with this mighty board.
166167

167168
## Matter
168169

169170
Developing Matter-compatible IoT solutions has never been easier with the Arduino ecosystem.
170171

171-
![Nano Matter](assets/nano-matter-banner.png)
172+
![Nano Matter](assets/nano-matter-banner-2.png)
172173

173174
The Nano Matter can communicate with Matter hubs through a Thread® network, so the hubs used must be **Thread® border routers**.
174175

175176
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.
176177

177-
![Matter examples](assets/matter-examples.png)
178+
![Matter examples](assets/matter-examples-2.png)
178179

179180
***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.***
180181

181182
First, to start creating *Matter-enabled* solutions, we need to select the Matter protocol in **Tools > Protocol stack > Matter**:
182183

183-
![Matter Protocol stack selected](assets/matter-setup.png)
184+
![Matter Protocol stack selected](assets/matter-setup-2.png)
184185

185186
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**.
186187

@@ -347,7 +348,7 @@ To upload the code to the Nano Matter, click the **Verify** button to compile th
347348

348349
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.
349350

350-
![Nano Matter Reset Button](assets/rst-button.png)
351+
![Nano Matter Reset Button](assets/rst-button-2.png)
351352

352353
You will find a **Manual pairing code** and a **QR code URL** as follows:
353354

@@ -535,11 +536,12 @@ void decommission_handler() {
535536
if (!Matter.isDeviceCommissioned()) {
536537
Serial.println("Decommission done!");
537538
digitalWrite(LEDR, LOW);
539+
Matter.decommission();
538540
} else {
539541
Serial.println("Matter device is commissioned-> Starting Decommission process");
540-
nvm3_eraseAll(nvm3_defaultHandle); // Decomission command
541542
digitalWrite(LED_BUILTIN, LOW);
542543
Serial.println("Decommission done!");
544+
Matter.decommission();
543545
}
544546
break;
545547
}
@@ -673,7 +675,7 @@ Now it is time to commission the Nano Matter with Home Assistant, for this, foll
673675

674676
Once you have everything set up and running you will be able to monitor the Nano Matter temperature in Home Assistant:
675677

676-
![Nano Matter Temperature in Home Assistant](assets/home-assistant-temp.png)
678+
![Nano Matter Temperature in Home Assistant](assets/home-assistant-temp-2.png)
677679

678680
***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.***
679681

@@ -781,7 +783,7 @@ rest_command:
781783
```
782784
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.
783785

784-
As you may noticed, the sensitive data we stored in the "secrets.yaml" file is being called here with the **!secret** prefix.
786+
As you may noticed, the sensitive data we stored in the "secrets.yaml" file is being called here with the `!secret` prefix.
785787

786788
![configuration.yaml file to define services](assets/ha-setup-config.png)
787789

@@ -817,7 +819,7 @@ This automation will be triggered if the Nano Matter sensor temperature value ch
817819

818820
![Automation defining](assets/automation-define.png)
819821

820-
***If you used different names for the services or devices, make sure to update them in the YAML code above.***
822+
***If you use different names for the services or devices, make sure to update them in the YAML code above.***
821823

822824
### Final Results
823825

@@ -829,20 +831,20 @@ With this done, Home Assistant should be forwarding the Nano Matter sensor data
829831

830832
To enable Bluetooth® Low Energy communication on the Nano Matter, you must enable the "BLE" protocol stack in the Arduino IDE board configurations.
831833

832-
In the upper menu, navigate to **Tools > Protocol stack** and select **BLE**.
834+
In the upper menu, navigate to **Tools > Protocol stack** and select **BLE(Silabs)**.
833835

834-
![Enable "BLE" Protocol Stack](assets/ble-setup.png)
836+
![Enable "BLE" Protocol Stack](assets/ble-setup-2.png)
835837

836838
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**:
837839

838840
```arduino
839841
/*
840842
BLE blinky example
841-
*/
843+
*/
842844
843845
bool btn_notification_enabled = false;
844-
bool btn_state_changed = false;
845-
uint8_t btn_state = LOW;
846+
volatile bool btn_state_changed = false;
847+
volatile uint8_t btn_state = LOW;
846848
static void btn_state_change_callback();
847849
static void send_button_state_notification();
848850
static void set_led_on(bool state);
@@ -998,7 +1000,7 @@ static void send_button_state_notification()
9981000
}
9991001
sl_status_t sc = sl_bt_gatt_server_notify_all(btn_report_characteristic_handle,
10001002
sizeof(btn_state),
1001-
&btn_state);
1003+
(const uint8_t*)&btn_state);
10021004
if (sc == SL_STATUS_OK) {
10031005
Serial.print("Notification sent, button state: ");
10041006
Serial.println(btn_state);
@@ -1169,14 +1171,14 @@ The `ble_initialize_gatt_db()` function is responsible for:
11691171

11701172
***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.***
11711173

1172-
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:
1174+
After uploading the sketch to the Nano Matter, it is time to communicate with it via Bluetooth® Low Energy. For this, Silicon Labs has developed a **mobile app** that you can download from here:
11731175

11741176
- [Android](https://play.google.com/store/apps/details?id=com.siliconlabs.bledemo)
11751177
- [iOS](https://itunes.apple.com/us/app/silicon-labs-blue-gecko-wstk/id1030932759)
11761178

1177-
Open the *EFR Connect BLE Mobile APP* on your smartphone, in the lower menu, navigate to **Demo** and select **Blinky**:
1179+
Open the **Simplicity Connect** app on your smartphone, in the lower menu, navigate to **Demo** and select **Blinky**:
11781180

1179-
![Blinky demo controlling the Nano Matter through Bluetooth® Low Energy](assets/BlinkyBLE.gif)
1181+
![Blinky demo controlling the Nano Matter via Bluetooth® Low Energy](assets/BlinkyBLE.gif)
11801182

11811183
***You can also manage the LED control and button status manually from the Scan tab in the lower menu.***
11821184

@@ -1186,7 +1188,7 @@ Open the *EFR Connect BLE Mobile APP* on your smartphone, in the lower menu, nav
11861188

11871189
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.
11881190

1189-
![Nano Matter Built-in Push Button](assets/button.png)
1191+
![Nano Matter Built-in Push Button](assets/button-2.png)
11901192

11911193
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.
11921194

@@ -1238,7 +1240,7 @@ The Nano Matter features a built-in RGB LED that can be a visual feedback indica
12381240

12391241
***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.***
12401242

1241-
![Built-in RGB LED](assets/rgb-led.png)
1243+
![Built-in RGB LED](assets/rgb-led-2.png)
12421244

12431245

12441246
Here you can find a complete example code to blink the built-in RGB LED of the Nano Matter:

0 commit comments

Comments
 (0)