Matter hardware and memory requirements

Hardware that runs Matter protocol applications must meet specification requirements, including providing the right amount of flash memory and being able to run Bluetooth LE and Thread or Wi-Fi concurrently.

Supported SoCs

Currently the following SoCs from Nordic Semiconductor are supported for use with the Matter protocol:

  • nRF5340 (Matter over Thread and Matter over Wi-Fi through the nrf7002ek shield)

  • nRF5340 + nRF7002 (Matter over Thread and Matter over Wi-Fi)

  • nRF52840 (Matter over Thread)

  • nRF54L15 (Matter over Thread)

Front-End Modules

SoCs from Nordic Semiconductor that can run the Matter protocol over Thread can also work with external Front-End Modules. For more information about the FEM support in the nRF Connect SDK, see Developing with Front-End Modules and nRF21540 DK.

External flash

For the currently supported SoCs, you must use an external memory with at least 1 MB of flash for nRF52840 and 1.5MB for nRF5340. This is required to perform the DFU operation.

The development kits for the supported SoCs from Nordic Semiconductor are supplied with the MX25R64 type of external flash that meets these memory requirements. However, it is possible to configure the SoCs with different QSPI or SPI memory if it is supported by Zephyr. For this purpose, check the reference design for Nordic DKs for information about how to connect the external memory with SoC, specifically whether the pins are designed for the QSPI or the high-speed SPIM operations.

RAM and flash memory requirements

RAM and flash memory requirement values differ depending on the DK and the programmed sample.

The following tables list memory requirement values for Matter samples.

Values are provided in kilobytes (KB).

The following table lists memory requirements for samples running on the nRF52840 DK (nrf52840dk/nrf52840).

Sample

MCUboot ROM

Application ROM

Factory data

Settings

Total ROM

Total RAM (incl. static HEAP)

Light Bulb (Debug)

28

793

4

32

857

184

Light Bulb (Debug + LTO)

28

730

4

32

794

188

Light Bulb (Release)

28

693

4

32

757

178

Light Switch (Debug)

28

758

4

32

822

175

Light Switch (Debug + LTO)

28

693

4

32

757

179

Light Switch (Release)

28

657

4

32

721

168

Lock (Debug)

28

771

4

32

835

178

Lock (Debug + LTO)

28

705

4

32

769

182

Lock (Release)

28

658

4

32

722

172

Smoke CO Alarm (Debug)

28

746

4

32

810

176

Smoke CO Alarm (Debug + LTO)

28

682

4

32

746

180

Smoke CO Alarm (Release)

28

647

4

32

711

170

Template (Debug)

28

712

4

32

776

173

Template (Debug + LTO)

28

653

4

32

717

177

Template (Release)

28

619

4

32

683

167

Thermostat (Debug)

28

762

4

32

826

174

Thermostat (Debug + LTO)

28

695

4

32

759

178

Thermostat (Release)

28

655

4

32

719

167

Window Covering (Debug)

28

743

4

32

807

174

Window Covering (Debug + LTO)

28

679

4

32

743

178

Window Covering (Release)

28

644

4

32

708

168

Note

The results for Link-Time Optimization (LTO) are based on building the Thread library from sources. If you use the binary Thread library version, the ROM usage may be higher.

Reference Matter memory layouts

The following tabs show how the Matter stack architecture in the nRF Connect SDK translates to actual memory maps for each of the available Matter platform designs (System-on-Chip, multiprotocol). The memory values match RAM and flash memory requirements listed above.

Each tab shows the memory maps for the development kits supported by the Matter protocol, including two memory maps for the Thingy:53: Matter weather station, which uses Nordic Thingy:53.

For more information about configuration of memory layouts in Matter, see Partition layout.

The following memory map is valid for Matter applications running on the nRF52840 DK (nrf52840dk/nrf52840).

Internal flash (size: 0x100000 = 1024kB)

Partition

Offset

Size

Partition elements

Element offset

Element size

Bootloader (mcuboot)

0kB (0x0)

28kB (0x7000)

Application (mcuboot_primary/app)

28kB (0x7000)

960kB (0xf0000)

mcuboot_pad

28kB (0x7000)

512B (0x200)

mcuboot_primary_app

28.5kB (0x7200)

959.5kB (0xefe00)

Factory data (factory_data)

988kB (0xf7000)

4kB (0x1000)

Non-volatile storage (settings_storage)

992kB (0xf8000)

32kB (0x8000)

SRAM primary (size: 0x40000 = 256kB)

SRAM is located at the address 0x20000000 in the memory address space of the application.

Partition

Offset

Size

Partition elements

Element offset

Element size

Static RAM (sram_primary)

0kB (0x0)

256kB (0x40000)

External flash (size: 0x800000 = 8192kB)

Partition

Offset

Size

Partition elements

Element offset

Element size

Application DFU (mcuboot_secondary)

0kB (0x0)

960kB (0xf0000)

Free space (external_flash)

960kB (0xf0000)

7232kB (0x710000)

You can generate Partition Manager’s ASCII representation of these tables by running the following command for your respective board_target:

west build -b board_target -t partition_manager_report

For example, for the nrf7002dk/nrf5340/cpuapp board target, the command is as follows:

west build -b nrf7002dk/nrf5340/cpuapp -t partition_manager_report

Diagnostic logs RAM memory requirements

Diagnostic logs support requires changing the RAM memory layout by adding three retained RAM partitions to keep the log data persistent across device reboots. The Diagnostic logs snippet adds these RAM partitions, and also reduces the amount of SRAM available for the application by the size of the retained partitions. You can adjust the retained partitions for your needs by editing the Diagnostic logs snippet devicetree file for the relevant board.

The following tabs show the RAM memory layout defined for the default configuration of the Diagnostic logs snippet for each development kit.

The following RAM memory layout is valid for Matter applications running on the nRF52840 DK (nrf52840dk_nrf52840).

Base Application core SRAM size (size: 0x40000 = 256kB) SRAM is located at the address 0x20000000 in the memory address space of the application.

Partition

Offset

Size

Application Core SRAM primary

0 (0x0)

248,8125kB (0x3E340)

Crash retention

248,8125kB (0x3E340)

192B (0xC0)

Network Logs retention

249kB (0x3E400)

6k (0x1800)

User Data Logs retention

255kB (0x3FC00)

1k (0x400)