The Arduino Nano Matter is a compact 45 × 18 mm wireless development board built around Silicon Labs’ MGM240SD22VNA module.
Its main purpose is low-power smart-home and IoT development using:
- Matter;
- Thread / OpenThread;
- Bluetooth Low Energy 5.3;
- Zigbee in the current Arduino Silicon Labs core;
- standard Arduino GPIO, ADC, DAC, SPI, I²C and UART.
The processor is a 32-bit Arm Cortex-M33 with 1.5 MB Flash and 256 kB RAM. The board operates at 3.3 V logic, includes a user RGB LED and button, and uses a USB-C connector connected through an onboard SAMD11 bridge for programming, serial and SWD debugging.
One important distinction is that Nano Matter is not a Wi-Fi board.
For a normal Matter-over-Thread project, the architecture is:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Nano Matter │ ├── BLE │ └── commissioning │ └── Thread / IEEE 802.15.4 │ Thread Border Router │ Ethernet / Wi-Fi LAN │ Matter controller |
This guide covers the pinout first, then explains Thread, Matter, BLE, Arduino’s current Silicon Labs core, USB debugging, power options and the hardware details that matter when designing a real Nano Matter project.
Arduino Nano Matter Specifications
| Feature | Arduino Nano Matter |
|---|---|
| Main module | Silicon Labs MGM240SD22VNA |
| Processor | 32-bit Arm Cortex-M33 |
| Maximum MCU frequency | 78 MHz |
| Flash | 1536 kB |
| RAM | 256 kB |
| Operating logic voltage | 3.3 V |
| Wireless radio | 2.4 GHz IEEE 802.15.4 + Bluetooth LE |
| Matter transport | Thread |
| Bluetooth | Bluetooth LE 5.3 |
| Zigbee | Supported by current Silicon Labs Arduino core |
| Exposed I/O | 22 digital-capable positions |
| ADC | 12-bit ADC hardware |
| DAC | Up to four 12-bit DAC channels |
| Hardware I²C | 2 buses |
| Hardware SPI | 2 buses |
| UART / USART | 2 interfaces available in MCU |
| PWM | All exposed I/O are PWM-capable; maximum 5 simultaneous channels |
| USB connector | USB-C |
| USB bridge/debugger | ATSAMD11 |
| Dimensions | 45 × 18 mm |
Complete Nano Matter Header Pinout
The current official Arduino pinout assigns the following functions to the Nano-style headers:
| Arduino pin | Main default / alternate functions |
|---|---|
| D0 | Digital I/O, PIN_SERIAL_TX1, SPI1 MOSI |
| D1 | Digital I/O, PIN_SERIAL_RX1, SPI1 MISO |
| D2 | Digital I/O, SPI1 SCK |
| D3 | Digital I/O, SPI1 SS |
| D4 | Digital I/O, I²C1 SDA |
| D5 | Digital I/O, I²C1 SCL |
| D6 | Digital I/O |
| D7 | Digital I/O |
| D8 | Digital I/O |
| D9 | Digital I/O |
| D10 | Digital I/O, SPI0 SS |
| D11 | Digital I/O, SPI0 MOSI |
| D12 | Digital I/O, SPI0 MISO |
| D13 | Digital I/O, SPI0 SCK |
| A0 / D14 | Analog input, digital I/O, DAC0 |
| A1 / D15 | Analog input, digital I/O, DAC2 |
| A2 / D16 | Analog input, digital I/O |
| A3 / D17 | Analog input, digital I/O |
| A4 / D18 | Analog input, digital I/O, I²C0 SDA |
| A5 / D19 | Analog input, digital I/O, I²C0 SCL |
| A6 / D20 | Analog input, digital I/O, DAC1 |
| A7 / D21 | Analog input, digital I/O, DAC3 |
Physical Nano Header Layout
With the USB-C connector at the top, the board keeps the familiar Nano dual-row format:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Left side Right side D13 / SPI0 SCK D12 / SPI0 MISO 3V3 D11 / SPI0 MOSI AREF D10 / SPI0 SS A0 / DAC0 D9 A1 / DAC2 D8 A2 D7 A3 D6 A4 / SDA D5 / I2C1 SCL A5 / SCL D4 / I2C1 SDA A6 / DAC1 D3 / SPI1 SS A7 / DAC3 D2 / SPI1 SCK 5V GND NC RST GND D1 / RX VIN D0 / TX |
Nano Matter follows the newer Nano-family convention where D0 is the transmit pin and D1 is the receive pin.
3.3 V Logic: Do Not Feed GPIO with 5 V
Nano Matter is a 3.3 V logic board.
Do not directly connect a 5 V output to:
- D0-D13;
- A0-A7;
- AREF;
- other exposed MCU signals.
Use a suitable level shifter or resistor divider where required.
This is an important difference from classic Nano, Nano Every and Nano R4, which are 5 V platforms.
22 Digital-Capable I/O Positions
Arduino’s current datasheet states that all 22 exposed I/O positions can be used digitally.
That means the normal digital pins:
|
1 2 3 4 |
D0-D13 |
plus the analog-labelled pins:
|
1 2 3 4 |
A0-A7 |
can be used through the normal Arduino GPIO API where their active peripheral function is not required.
For example:
|
1 2 3 4 5 |
pinMode(A2, OUTPUT); digitalWrite(A2, HIGH); |
PWM on All Exposed I/O
One unusual Nano Matter feature is that the MCU can route PWM to all exposed I/O positions.
Arduino specifies:
|
1 2 3 4 5 |
22 PWM-capable exposed I/O maximum 5 simultaneous PWM channels |
So unlike classic AVR boards, PWM is not limited to a small fixed group of pins.
For ordinary use:
|
1 2 3 4 |
analogWrite(D7, 128); |
can be used on a supported free GPIO.
Why Only Five PWM Channels at Once?
The GPIO routing is flexible, but the number of active timer/comparator resources is finite.
So “every pin is PWM-capable” does not mean:
|
1 2 3 4 |
22 independent PWM generators |
running simultaneously.
For a large LED or motor-control design, count actual simultaneous channels rather than just available header positions.
Analog Inputs
The pinout marks A0-A7 as the obvious analog header inputs:
|
1 2 3 4 5 6 7 8 9 10 11 |
A0 A1 A2 A3 A4 A5 A6 A7 |
The MGM240S contains a 12-bit ADC and Silicon Labs’ hardware is considerably more flexible than those eight printed analog labels suggest.
Arduino’s current user documentation notes that most exposed digital I/O can also be used as analog inputs, with specific exceptions depending on the pin/peripheral mapping.
For portable sketches, A0-A7 remain the clearest choices.
12-Bit ADC
A normal 12-bit conversion provides:
|
1 2 3 4 |
0 to 4095 |
ideal codes.
Remember that 12-bit resolution does not automatically mean 12-bit absolute accuracy.
Real measurement performance depends on:
- reference accuracy;
- sensor impedance;
- noise;
- grounding;
- ADC gain and offset error.
DAC Outputs
The current official pinout marks four DAC-capable analog positions:
|
1 2 3 4 5 6 7 |
A0 → DAC0 A6 → DAC1 A1 → DAC2 A7 → DAC3 |
This gives Nano Matter considerably more native analog-output capability than many small Arduino boards.
The MGM240S supports up to 12-bit DAC operation.
DAC Is Different from PWM
A DAC creates an analog voltage level.
PWM instead creates a digital pulse train whose average value can be filtered.
Use a DAC where the receiving circuit genuinely needs an analog voltage rather than a duty-cycle signal.
Main I²C Bus
The default Arduino I²C bus uses:
|
1 2 3 4 5 |
A4 = SDA A5 = SCL |
and is labelled:
|
1 2 3 4 |
I2C0 |
on the official pinout.
Normal Arduino code:
|
1 2 3 4 5 6 7 8 |
#include <Wire.h> void setup() { Wire.begin(); } |
Second I²C Bus
A second hardware I²C mapping is exposed on:
|
1 2 3 4 5 |
D4 = SDA1 D5 = SCL1 |
This provides a useful extra bus for:
- duplicate-address sensors;
- separating fast and slow peripherals;
- isolating groups of devices;
- advanced board-specific applications.
The exact Arduino object/API used for the second bus depends on the Silicon Labs core version and library interface, so check the current core examples before hard-coding a generic Wire1 assumption from another Arduino architecture.
SPI0: Default SPI Bus
The familiar Nano SPI positions are:
|
1 2 3 4 5 6 7 |
D10 = SS D11 = MOSI D12 = MISO D13 = SCK |
These are labelled SPI0 on the official pinout.
Example:
|
1 2 3 4 5 6 7 8 |
#include <SPI.h> void setup() { SPI.begin(); } |
SPI1: Second SPI Mapping
The second SPI peripheral is partially exposed through:
|
1 2 3 4 5 6 7 |
D0 = MOSI1 D1 = MISO1 D2 = SCK1 D3 = SS1 |
This mapping overlaps the default external serial pins on D0/D1.
So you cannot blindly use both interfaces simultaneously on those same physical pins.
UART / Serial Pins
The default external serial mapping is:
|
1 2 3 4 5 |
D0 = PIN_SERIAL_TX1 D1 = PIN_SERIAL_RX1 |
This ordering is easy to misread if you are accustomed to the classic Nano.
Always follow the Nano Matter pinout rather than assuming:
|
1 2 3 4 5 |
D0 = RX D1 = TX |
from older boards.
USB-C Is Not Native USB on the MGM240S
The Nano Matter’s USB-C connector is connected through an onboard ATSAMD11 board-controller/debugger.
The main MGM240S does not directly own the USB connector as a native USB application peripheral in the way an ESP32-S3 or RA4M1 board can.
The board-controller path provides:
- sketch upload;
- serial communication;
- SWD debugging;
- board programming support.
Debugging over USB
Arduino specifically advertises Nano Matter as supporting debugging without a separate external probe.
The SAMD11 bridge exposes the MGM240S SWD interface to development tools.
In the current Silicon Labs Arduino core, Nano Matter can use OpenOCD for:
- breakpoints;
- single stepping;
- variable inspection;
- debug sessions from Arduino IDE.
Matter, Thread and BLE Are Different Layers
This is the most important networking concept to understand.
|
1 2 3 4 5 6 7 8 9 10 11 |
Matter = application protocol and device model Thread = low-power IPv6 mesh transport Bluetooth LE = commonly used for commissioning |
A Matter-over-Thread accessory normally starts uncommissioned.
A phone or Matter controller uses BLE to discover and commission it, transfers the Thread network credentials, and then normal operational Matter traffic runs over Thread.
Nano Matter Has No Wi-Fi Radio
The MGM240S provides:
- IEEE 802.15.4;
- Bluetooth Low Energy;
but not conventional Wi-Fi.
That is different from ESP32-C6, which has Wi-Fi, BLE and IEEE 802.15.4 in one chip.
If you specifically want to compare the architectures, see our ESP32 Matter, Thread and Zigbee chip comparison.
You Need a Thread Border Router
A Thread Border Router connects the Thread IPv6 mesh to the normal home or building IP network.
The architecture is:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Nano Matter │ Thread │ Thread Border Router │ LAN │ Matter controller |
The Border Router and Matter controller are different roles, although one physical smart-home product may implement both.
For a detailed explanation of this network architecture, see our Matter over Thread and Home Assistant guide. The ESP32-C6 hardware is different, but the Matter/Thread/BLE networking concepts are the same.
Thread Is an IP Network
Thread is not simply another proprietary low-power radio protocol.
It carries IPv6 over IEEE 802.15.4.
This allows Matter devices to participate in an IP architecture while using a low-power mesh designed for IoT devices.
BLE 5.3
Nano Matter supports Bluetooth Low Energy 5.3.
BLE has two important roles:
- Matter commissioning;
- normal custom BLE applications.
The current Silicon Labs Arduino core allows BLE functionality to coexist with the Matter stack, although Matter commissioning has priority during initial setup.
BLE After Matter Commissioning
Current core documentation notes that custom BLE features can be used after Matter commissioning has completed.
This allows applications such as:
- local configuration;
- nearby diagnostics;
- BLE sensor interaction;
- custom mobile-app communication;
alongside Thread/Matter operation.
Current Arduino Protocol Stack Selection
The Silicon Labs Arduino platform currently provides selectable radio stacks under:
|
1 2 3 4 5 |
Tools → Protocol stack |
Options include:
- Matter;
- Zigbee;
- BLE using ArduinoBLE;
- BLE using the Silicon Labs API;
- None.
Choose the stack that matches the application.
Matter Stack Uses Significant Memory
The current core specifically notes that Matter is a relatively heavy protocol stack.
If you are using Nano Matter simply as a normal 3.3 V Arduino without wireless networking, selecting:
|
1 2 3 4 5 |
Protocol stack → None |
avoids linking a large radio stack and leaves considerably more Flash and RAM available to the application.
Matter Library
The Silicon Labs Arduino core bundles an Arduino Matter library.
It supports standard Matter device classes including:
- on/off and dimmable lights;
- outlets;
- temperature sensors;
- humidity sensors;
- contact sensors;
- occupancy sensors;
- door locks;
- fans;
- thermostats;
- air-quality sensors;
- window coverings;
- water valves;
- switches.
Matter Commissioning Flow
The normal workflow is:
- Select the Matter protocol stack in Arduino IDE.
- Flash the Nano Matter bootloader when required by the current setup workflow.
- Upload a Matter example or sketch.
- Open Serial Monitor.
- Read the generated commissioning QR-code URL or manual pairing code.
- Add a new Matter device in the smart-home app.
- Pair over BLE.
- The controller transfers Thread credentials.
- Nano Matter joins the Thread mesh.
- Normal Matter traffic runs over Thread.
Bootloader and Matter Network Credentials
The current Arduino Silicon Labs core performs a full chip erase when you explicitly burn the bootloader.
This is useful to know because Matter network keys and credentials are stored in non-volatile memory.
If you deliberately re-burn the bootloader, expect the device to require commissioning again.
Do Not Recommission After Every Normal Upload
Normal Matter network credentials persist through ordinary resets and sketch uploads.
You should not have to pair the board again every time you make a small application-code change.
Commissioning should normally be a one-time process unless:
- you decommission the device;
- you erase persistent storage;
- you burn the bootloader/full-chip erase;
- you change provisioning in a way that requires a fresh identity.
Current Core Also Supports Zigbee
Nano Matter is no longer limited to only Matter/Thread experiments in Arduino’s current software stack.
The current Silicon Labs core also offers a Zigbee stack.
This uses the same 2.4 GHz IEEE 802.15.4 radio hardware but a different network/application stack.
Choose:
|
1 2 3 4 |
Matter / Thread |
when you want a Matter-compatible IP accessory.
Choose:
|
1 2 3 4 |
Zigbee |
when you deliberately want a Zigbee device rather than Matter.
Secure Vault
The MGM240S platform includes Silicon Labs Secure Vault security features.
These are relevant to connected-device applications because Matter relies heavily on:
- device identity;
- cryptographic credentials;
- secure commissioning;
- encrypted sessions.
A development board makes those features accessible, but building a commercial certified Matter product involves manufacturing credentials and certification requirements beyond a normal Arduino sketch.
User RGB LED
Nano Matter includes an onboard RGB LED exposed through:
|
1 2 3 4 5 6 |
LEDR LEDG LEDB |
This is useful for indicating:
- commissioning mode;
- Thread connection;
- Matter online/offline state;
- sensor alarms;
- application status.
User Button
The board also includes a dedicated user push button available as:
|
1 2 3 4 |
BTN_BUILTIN |
This is convenient for:
- local control;
- factory-reset actions;
- commissioning triggers;
- demo applications.
For robust product-style firmware, use a long press rather than an accidental short press for destructive operations such as network reset or decommissioning.
Powering Nano Matter
The current Arduino datasheet supports several power methods:
- USB-C at 5 V;
- VIN from approximately 6 to 21 V;
- 5 V directly through the 5V header pin;
- 3.3 V direct power for specialised low-power configurations.
VIN
The current power architecture includes a buck converter and Arduino specifies:
|
1 2 3 4 5 |
VIN 6 to 21 V |
as the external input range.
This is useful when Nano Matter is installed into a device with a higher-voltage supply.
5 V Pin
The 5 V header position can be used as a 5 V supply input.
When Nano Matter is USB powered, the official pinout also notes that this pin can output USB-derived 5 V.
Do not confuse the presence of a 5 V power rail with GPIO voltage: the GPIO remains 3.3 V logic.
Low-Power Configuration
Arduino specifically designed Nano Matter for low-power IoT applications.
The board includes solder jumpers that allow you to:
- disable the power LED;
- disconnect board power rails for specialised power configurations;
- configure the external ADC reference.
If battery life matters, onboard LEDs and the USB bridge can dominate current compared with the sleeping radio/MCU.
Measure the complete board rather than quoting only the MGM240S silicon sleep current.
Power LED Jumper
The underside includes a jumper that can be cut to disable the always-on power LED.
This is a simple but valuable modification for battery projects where a permanent indicator LED would waste more energy than the sleeping application itself.
AREF Jumper
The bottom-side pinout also documents a solder jumper for enabling the external analog-reference path.
Do not modify AREF circuitry casually; configure the ADC reference according to the current Arduino/Silicon Labs API and the MGM240S electrical limits.
Nano Matter vs Nano ESP32
| Feature | Nano Matter | Nano ESP32 |
|---|---|---|
| Main MCU | MGM240S / Cortex-M33 | ESP32-S3 / dual-core LX7 |
| Logic | 3.3 V | 3.3 V |
| Wi-Fi | No | Yes |
| Bluetooth LE | Yes | Yes |
| IEEE 802.15.4 | Yes | No |
| Thread | Yes | No native 802.15.4 Thread radio |
| Matter over Thread | Yes | No |
| Zigbee | Yes in current core | No native 802.15.4 radio |
| PSRAM | No comparable external 8 MB PSRAM | 8 MB |
| Native application USB | USB through SAMD11 bridge | Native ESP32-S3 USB |
See our Arduino Nano ESP32 pinout guide for the Wi-Fi/BLE alternative.
When Nano Matter Is a Good Choice
Choose Nano Matter when you need:
- a native Thread endpoint;
- Matter-over-Thread development;
- Zigbee experimentation;
- Bluetooth LE alongside 802.15.4;
- low-power mesh networking;
- more analog flexibility than many small wireless boards;
- Arduino IDE plus Silicon Labs ecosystem access;
- built-in SWD debugging over USB.
When It Is Not the Best Choice
Nano Matter is less suitable when your application primarily needs:
- Wi-Fi networking;
- high-bandwidth web serving;
- large graphics buffers;
- camera workloads;
- large PSRAM;
- native USB device classes directly on the application MCU.
For those workloads, ESP32-S3 or another higher-memory wireless MCU may be more appropriate.
Quick Pin Reference
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
UART / USART D0 = TX D1 = RX SPI0 D10 = SS D11 = MOSI D12 = MISO D13 = SCK SPI1 D0 = MOSI1 D1 = MISO1 D2 = SCK1 D3 = SS1 I2C0 A4 = SDA A5 = SCL I2C1 D4 = SDA1 D5 = SCL1 Analog A0-A7 12-bit ADC DAC A0 = DAC0 A6 = DAC1 A1 = DAC2 A7 = DAC3 PWM all exposed I/O capable maximum 5 simultaneous channels Wireless IEEE 802.15.4 Thread / OpenThread Matter over Thread BLE 5.3 Zigbee in current Arduino core USB USB-C through onboard SAMD11 SWD debugging available Logic voltage 3.3 V VIN 6-21 V |
Best Practices
- Remember that Nano Matter GPIO is 3.3 V, even though the board exposes a 5 V power pin.
- Use A4/A5 for the default I²C bus and D10-D13 for default SPI.
- Remember D0 is TX and D1 is RX on Nano Matter.
- Do not assume all 22 PWM-capable pins can generate PWM simultaneously; Arduino specifies five simultaneous channels.
- Select the correct radio protocol stack in Arduino IDE before building the application.
- Use the Matter stack only when you actually need Matter; it consumes substantial Flash/RAM.
- Expect Matter-over-Thread projects to require a Thread Border Router.
- Keep BLE commissioning separate conceptually from normal Thread data transport.
- Use the power-LED jumper and low-power supply options when battery life matters.
- Use the onboard USB/SWD debugging support before reaching for an external probe.
Final Thoughts
Arduino Nano Matter is fundamentally different from a Nano ESP32 or classic Nano because its defining hardware feature is the integrated IEEE 802.15.4 radio.
That radio allows the board to operate directly as a Thread or Zigbee device, while Bluetooth LE handles commissioning and other local wireless functions.
The core pin mappings to remember are:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
D0 / D1 → Serial TX / RX D10-D13 → SPI0 D0-D3 → alternate SPI1 A4 / A5 → I2C0 D4 / D5 → I2C1 A0-A7 → analog inputs A0 / A6 / A1 / A7 → four DAC-labelled outputs all exposed I/O → digital capable → PWM capable → max 5 PWM channels simultaneously |
For connected projects, the networking model is equally important:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
BLE → initial Matter commissioning Thread → low-power IPv6 mesh Matter → interoperable device protocol Thread Border Router → connects the Thread mesh to the normal LAN |
Once those layers are separated, Nano Matter becomes much easier to understand: it is a low-power, 3.3 V, Cortex-M33 Arduino designed around Thread/Matter and 802.15.4 rather than Wi-Fi.