1.. zephyr:board:: arduino_nano_matter
2
3Overview
4********
5
6The Nano Matter merges the well-known Arduino way of making complex technology more accessible with the
7powerful MGM240S from Silicon Labs, to bring Matter closer to the maker world, in one of the
8smallest form factors in the market.
9
10It enables 802.15.4 (Thread®) and Bluetooth® Low Energy connectivity, to interact with Matter-compatible devices
11with a user-friendly software layer ready for quick prototyping.
12
13The Nano Matter features a compact and efficient architecture powered by the
14MGM240S (32-bit Arm® Cortex®-M33) from Silicon Labs, a high-performance wireless module optimized for
15the needs of battery and line-powered IoT devices for 2.4 GHz mesh networks.
16
17Hardware
18********
19
20- MGM240SD22VNA2 Mighty Gecko SiP
21- CPU core: ARM Cortex®-M33 with FPU
22- Flash memory: 1536 kB
23- RAM: 256 kB
24- Transmit power: up to +20 dBm
25- Operation frequency: 2.4 GHz
26- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz).
27- User RGB LED
28- User button
29
30For more information about the EFR32MG24 SoC and the Arduino Nano Matter, refer to these
31documents:
32
33- `MGM240S Website`_
34- `EFR32MG24 Datasheet`_
35- `EFR32xG24 Reference Manual`_
36- `Nano Matter User Manual`_
37
38Supported Features
39==================
40
41.. zephyr:board-supported-hw::
42
43Connections and IOs
44===================
45
46In the following table, the column **Name** contains Pin names. For example, PA2
47means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
48
49+-------+-------------+------------------+
50| Name  | Function    | Usage            |
51+=======+=============+==================+
52| PC1   | GPIO        | LED0             |
53+-------+-------------+------------------+
54| PC2   | GPIO        | LED1             |
55+-------+-------------+------------------+
56| PC3   | GPIO        | LED2             |
57+-------+-------------+------------------+
58| PA0   | GPIO        | Button           |
59+-------+-------------+------------------+
60| PC4   | USART0_TX   | UART Console TX  |
61+-------+-------------+------------------+
62| PC5   | USART0_RX   | UART Console RX  |
63+-------+-------------+------------------+
64
65System Clock
66============
67
68The MGM240S SiP is configured to run at 78 MHz using DPLL and the 39 MHz internal oscillator.
69
70Serial Port
71===========
72
73The MGM240S SiP has one USART and two EUSARTs.
74USART0 is connected to the board controller and is used for the console.
75
76Programming and Debugging
77*************************
78
79The Arduino Nano Matter contains an SAMD11 with CMSIS-DAP, allowing flashing, debugging, logging, etc. over
80the USB port. Doing so requires a version of OpenOCD that includes support for the flash on the MG24
81MCU. Until those changes are included in stock OpenOCD, the version bundled with Arduino can be
82used, or can be installed from the `OpenOCD Arduino Fork`_. When flashing, debugging, etc. you may
83need to include ``--openocd=/usr/local/bin/openocd
84--openocd-search=/usr/local/share/openocd/scripts/`` options to the command.
85
86Flashing
87========
88
89Connect the Arduino Nano Matter board to your host computer using the USB port. A USB CDC ACM serial port
90should appear on the host, that can be used to view logs from the flashed application.
91
92Here is an example for the :zephyr:code-sample:`hello_world` application.
93
94.. zephyr-app-commands::
95   :zephyr-app: samples/hello_world
96   :board: arduino_nano_matter
97   :goals: flash
98
99Open a serial terminal (minicom, putty, etc.) connecting to the UCB CDC ACM serial port.
100
101Reset the board and you should see the following message in the terminal:
102
103.. code-block:: console
104
105   Hello World! arduino_nano_matter
106
107
108.. _Nano Matter User Manual:
109   https://docs.arduino.cc/tutorials/nano-matter/user-manual/
110
111.. _MGM240S Website:
112   https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules/device.mgm240sd22vna
113
114.. _EFR32MG24 Datasheet:
115   https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf
116
117.. _EFR32xG24 Reference Manual:
118   https://www.silabs.com/documents/public/reference-manuals/brd4187c-rm.pdf
119
120.. _OpenOCD Arduino Fork:
121   https://github.com/facchinm/OpenOCD/tree/arduino-0.12.0-rtx5
122