Memory requirements
This page provides information about the amount of flash memory and RAM that is required by the Samples, as well as stack memory requirements for main and zboss threads.
Use it to check if your application has enough space for a given configuration.
Values are provided for ZBOSS libraries.
Samples were built using the available ZBOSS Zigbee stack.
Unless stated otherwise, the default prj.conf was used.
Memory layout in DTS
The Samples define flash partitions in Devicetree (DTS).
The Zigbee R23 add-on ships ready-made partition files under dts/ in the Zigbee R23 add-on repository.
Use them as-is, or copy and adjust them for your board.
Each layout starts with a base .dtsi file for your SoC.
To use MCUboot, FOTA, or Matter together, include a matching .dtsi file after the base file.
Some .dtsi files apply to any board with a given SoC.
Others apply only to a specific development kit (DK).
Every base layout reserves the end of internal flash for:
storage_partition- Zephyr settings storagezboss_nvram- ZBOSS non-volatile datazboss-product-config- ZBOSS product configuration
The following table lists the available files, which targets they cover, and when to use each variant:
Variant |
Path |
Targets |
When to use |
|---|---|---|---|
Base |
|
nRF52833 (SoC)
nRF52840 (SoC)
nRF52840 Dongle (DK only)
nRF5340 application and network cores (SoC)
nRF54L05 (SoC)
nRF54L10 (SoC)
nRF54L15 (SoC)
nRF54LM20 (SoC)
|
Required starting point for any Zigbee application. |
MCUboot (USB transport) |
|
nRF52833 (SoC)
nRF52840 (SoC)
nRF5340 application core (SoC)
nRF54LM20 (SoC)
|
Adds |
Matter and Zigbee |
|
nRF54LM20 DK (DK only)
|
Adds |
Matter and Zigbee (external flash) |
|
nRF54L15 DK (DK only)
nRF54LM20 DK (DK only)
|
Same as the Matter and Zigbee layout, but places |
External flash (FOTA) |
|
nRF52833 DK (DK only)
nRF52840 DK (DK only)
nRF5340 DK (DK only)
nRF54L10 DK (DK only)
nRF54L15 DK (DK only)
nRF54LM20 DK (DK only)
|
Keeps the primary image on internal flash and places the secondary upgrade slot ( |
To add an overlay file to your application, add an #include line to app.overlay or to a board overlay in boards/.
Always include the base .dtsi first, then any optional overlay.
See an example for the nRF54LM20 DK with external-flash FOTA in the boards/nrf54lm20dk_nrf54lm20a_cpuapp.overlay file:
#include <nrf54lm20_cpuapp_partitions.dtsi>
#include <ext_flash/nrf54lm20dk_cpuapp_partitions.dtsi>
RAM and flash memory requirements
RAM and flash memory requirement values differ depending on the programmed sample.
The following tables and bar charts list memory requirement values for Zigbee samples.
Memory layout is taken from the DTS files used by each sample variant, while memory usage is taken from the build output.
Values are provided in kilobytes (KB).
Unsupported sample variants are omitted from each board view.
-- indicates that a partition is not used by the sample configuration.
Table columns are grouped by internal NVM, external NVM (when used), and RAM.
Application, MCUboot, upgrade slot, and RAM cells show used and free space separated by /.
Other NVM columns list the reserved partition size for that region.
Memory requirements for samples running on the nRF52833 DK (nrf52833dk).
Memory requirements for samples running on the nRF52840 DK (nrf52840dk).
Memory requirements for samples running on the nRF52840 Dongle DK (nrf52840dongle).
Memory requirements for samples running on the nRF5340 DK (nrf5340dk).
Memory requirements for samples running on the nRF54L05 emulation on the nRF54L15 DK (nrf54l15dk).
Memory requirements for samples running on the nRF54L10 emulation on the nRF54L15 DK (nrf54l15dk).
Memory requirements for samples running on the nRF54L15 DK (nrf54l15dk).
Light bulb with Matter extension (debug)
Light bulb with Matter extension (release)
Light switch with Zigbee FOTA
Light switch with Matter extension (debug)
Light switch with Matter extension (release)
Memory requirements for samples running on the nRF54LM20 DK (nrf54lm20dk) with the nrf54lm20dk/nrf54lm20a/cpuapp or nrf54lm20dk/nrf54lm20b/cpuapp board targets.
Light bulb with Matter extension (debug)
Light bulb with Matter extension (release)
Light switch with Zigbee FOTA
Light switch with Matter extension (debug)
Light switch with Matter extension (release)
The following table lists memory requirements for samples running on the nRF52833 DK (nrf52833dk).
| Sample | Internal NVM (512 kB) | RAM (128 kB) | ||||||
|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | used / free | |
| 0 | 383 / 101 | -- | -- | 8 | 16 | 4 | 75 / 53 | |
| 51 / 13 | 411 / 9 | -- | -- | 8 | 16 | 4 | 83 / 45 | |
The following table lists memory requirements for samples running on the nRF52840 DK (nrf52840dk).
| Sample | Internal NVM (1024 kB) | External NVM (932 kB) | RAM (256 kB) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | Upgrade slot (external) (used / free) | used / free | |
| 0 | 382 / 598 | -- | -- | 8 | 32 | 4 | -- | 72 / 184 | |
| 0 | 406 / 574 | -- | -- | 8 | 32 | 4 | -- | 62 / 194 | |
| 0 | 312 / 668 | -- | -- | 8 | 32 | 4 | -- | 42 / 214 | |
Light switch with Zigbee FOTA |
33 / 15 | 337 / 595 | -- | -- | 8 | 32 | 4 | 196 / 736 | 45 / 211 |
| 0 | 440 / 540 | -- | -- | 8 | 32 | 4 | -- | 59 / 197 | |
| 0 | 405 / 575 | -- | -- | 8 | 32 | 4 | -- | 79 / 177 | |
| 58 / 6 | 433 / 483 | -- | -- | 8 | 32 | 4 | -- | 87 / 169 | |
| 0 | 382 / 598 | -- | -- | 8 | 32 | 4 | -- | 61 / 195 | |
| 0 | 468 / 512 | -- | -- | 8 | 32 | 4 | -- | 78 / 178 | |
| 0 | 492 / 488 | -- | -- | 8 | 32 | 4 | -- | 86 / 170 | |
The following table lists memory requirements for samples running on the nRF52840 Dongle DK (nrf52840dongle).
| Sample | Internal NVM (1024 kB) | RAM (256 kB) | ||||||
|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | used / free | |
| 0 | 428 / 548 | -- | -- | 8 | 32 | 4 | 87 / 169 | |
| 0 | 490 / 486 | -- | -- | 8 | 32 | 4 | 86 / 170 | |
The following table lists memory requirements for samples running on the nRF5340 DK (nrf5340dk).
| Sample | Internal NVM (1024 kB) | External NVM (1172 kB) | RAM (448 kB) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | Upgrade slot (external) (used / free) | Net core upgrade slot (external) (used / free) | used / free | |
| 0 | 351 / 629 | -- | -- | 8 | 32 | 4 | -- | -- | 81 / 367 | |
| 0 | 375 / 605 | -- | -- | 8 | 32 | 4 | -- | -- | 71 / 377 | |
| 0 | 281 / 699 | -- | -- | 8 | 32 | 4 | -- | -- | 51 / 397 | |
Light switch with Zigbee FOTA |
38 / 26 | 307 / 609 | -- | -- | 8 | 32 | 4 | 177 / 739 | 159 / 97 | 58 / 390 |
| 0 | 351 / 629 | -- | -- | 8 | 32 | 4 | -- | -- | 67 / 381 | |
Light switch with Multiprotocol Bluetooth LE extension and Zigbee FOTA |
38 / 26 | 376 / 540 | -- | -- | 8 | 32 | 4 | 213 / 703 | 159 / 97 | 80 / 368 |
| 0 | 374 / 606 | -- | -- | 8 | 32 | 4 | -- | -- | 88 / 360 | |
| 57 / 7 | 401 / 515 | -- | -- | 8 | 32 | 4 | -- | -- | 96 / 352 | |
| 0 | 350 / 630 | -- | -- | 8 | 32 | 4 | -- | -- | 70 / 378 | |
| 0 | 437 / 543 | -- | -- | 8 | 32 | 4 | -- | -- | 87 / 361 | |
| 0 | 461 / 519 | -- | -- | 8 | 32 | 4 | -- | -- | 95 / 353 | |
The following table lists memory requirements for samples running on the nRF54L05 emulation on the nRF54L15 DK (nrf54l15dk).
| Sample | Internal NVM (500 kB) | RAM (96 kB) | ||||||
|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | used / free | |
| 0 | 404 / 52 | -- | -- | 8 | 32 | 4 | 80 / 16 | |
The following table lists memory requirements for samples running on the nRF54L10 emulation on the nRF54L15 DK (nrf54l15dk).
| Sample | Internal NVM (1012 kB) | External NVM (888 kB) | RAM (192 kB) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | Upgrade slot (external) (used / free) | used / free | |
| 0 | 380 / 588 | -- | -- | 8 | 32 | 4 | -- | 73 / 119 | |
| 0 | 407 / 561 | -- | -- | 8 | 32 | 4 | -- | 63 / 129 | |
| 0 | 309 / 659 | -- | -- | 8 | 32 | 4 | -- | 43 / 149 | |
Light switch with Zigbee FOTA |
56 / 24 | 335 / 553 | -- | -- | 8 | 32 | 4 | 194 / 694 | 46 / 146 |
| 0 | 419 / 549 | -- | -- | 8 | 32 | 4 | -- | 59 / 133 | |
| 0 | 404 / 564 | -- | -- | 8 | 32 | 4 | -- | 80 / 112 | |
| 0 | 376 / 592 | -- | -- | 8 | 32 | 4 | -- | 62 / 130 | |
| 0 | 465 / 503 | -- | -- | 8 | 32 | 4 | -- | 79 / 113 | |
The following table lists memory requirements for samples running on the nRF54L15 DK (nrf54l15dk).
| Sample | Internal NVM (1524 kB) | External NVM (1364 kB) | RAM (256 kB) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | Upgrade slot (external) (used / free) | used / free | |
| 0 | 381 / 1099 | -- | -- | 8 | 32 | 4 | -- | 73 / 183 | |
| 0 | 407 / 1073 | -- | -- | 8 | 32 | 4 | -- | 63 / 193 | |
Light bulb with Matter extension (debug) |
56 / 24 | 1056 / 308 | -- | 4 | 40 | 32 | 4 | 601 / 763 | 228 / 28 |
Light bulb with Matter extension (release) |
56 / 24 | 962 / 402 | -- | 4 | 40 | 32 | 4 | 564 / 800 | 227 / 29 |
| 0 | 309 / 1171 | -- | -- | 8 | 32 | 4 | -- | 43 / 213 | |
Light switch with Zigbee FOTA |
56 / 24 | 335 / 1065 | -- | -- | 8 | 32 | 4 | 194 / 1206 | 46 / 210 |
| 0 | 419 / 1061 | -- | -- | 8 | 32 | 4 | -- | 59 / 197 | |
Light switch with Multiprotocol Bluetooth LE extension and Zigbee FOTA |
56 / 24 | 444 / 956 | -- | -- | 8 | 32 | 4 | 257 / 1143 | 66 / 190 |
Light switch with Matter extension (debug) |
56 / 24 | 928 / 436 | -- | 4 | 40 | 32 | 4 | 525 / 839 | 200 / 56 |
Light switch with Matter extension (release) |
56 / 24 | 835 / 529 | -- | 4 | 40 | 32 | 4 | 488 / 876 | 200 / 56 |
| 0 | 404 / 1076 | -- | -- | 8 | 32 | 4 | -- | 80 / 176 | |
| 0 | 376 / 1104 | -- | -- | 8 | 32 | 4 | -- | 62 / 194 | |
| 0 | 465 / 1015 | -- | -- | 8 | 32 | 4 | -- | 79 / 177 | |
The following table lists memory requirements for samples running on the nRF54LM20 DK (nrf54lm20dk) with the nrf54lm20dk/nrf54lm20a/cpuapp or nrf54lm20dk/nrf54lm20b/cpuapp board targets.
| Sample | Internal NVM (2036 kB) | External NVM (1940 kB) | RAM (511 kB) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| MCUboot (used / free) | Application (used / free) | Upgrade slot (used / free) | Factory data | Storage | ZBOSS NVRAM | ZBOSS product config | Upgrade slot (external) (used / free) | used / free | |
| 0 | 369 / 1623 | -- | -- | 8 | 32 | 4 | -- | 73 / 438 | |
| 0 | 395 / 1597 | -- | -- | 8 | 32 | 4 | -- | 63 / 448 | |
Light bulb with Matter extension (debug) |
38 / 2 | 1050 / 90 | 597 / 171 | 4 | 48 | 32 | 4 | -- | 228 / 283 |
Light bulb with Matter extension (release) |
38 / 2 | 958 / 182 | 561 / 207 | 4 | 48 | 32 | 4 | -- | 228 / 283 |
| 0 | 297 / 1695 | -- | -- | 8 | 32 | 4 | -- | 43 / 468 | |
Light switch with Zigbee FOTA |
48 / 8 | 335 / 1605 | -- | -- | 8 | 32 | 4 | 193 / 1747 | 46 / 465 |
| 0 | 406 / 1586 | -- | -- | 8 | 32 | 4 | -- | 59 / 452 | |
Light switch with Multiprotocol Bluetooth LE extension and Zigbee FOTA |
48 / 8 | 443 / 1497 | -- | -- | 8 | 32 | 4 | 256 / 1684 | 67 / 444 |
Light switch with Matter extension (debug) |
38 / 2 | 921 / 219 | 521 / 247 | 4 | 48 | 32 | 4 | -- | 200 / 311 |
Light switch with Matter extension (release) |
38 / 2 | 829 / 311 | 484 / 284 | 4 | 48 | 32 | 4 | -- | 200 / 311 |
| 0 | 393 / 1599 | -- | -- | 8 | 32 | 4 | -- | 80 / 431 | |
| 57 / 7 | 427 / 1501 | -- | -- | 8 | 32 | 4 | -- | 90 / 421 | |
| 0 | 368 / 1624 | -- | -- | 8 | 32 | 4 | -- | 62 / 449 | |
| 0 | 452 / 1540 | -- | -- | 8 | 32 | 4 | -- | 79 / 432 | |
| 0 | 485 / 1507 | -- | -- | 8 | 32 | 4 | -- | 89 / 422 | |
Stack memory requirements
The following tables and bar charts list stack memory requirement values for main and zboss threads.
These measurements were carried out with Zephyr’s Thread analyzer, using the following Kconfig options for configuration:
For the stack memory size of the
mainthread -CONFIG_MAIN_STACK_SIZEFor the stack memory size of the
zbossthread -CONFIG_ZBOSS_DEFAULT_THREAD_STACK_SIZE
Values are provided in bytes (B).
Stack usage for samples running on the nRF52840 DK (nrf52840dk).
Stack usage for samples running on the nRF5340 DK (nrf5340dk).
Stack usage for samples running on the nRF54L15 DK (nrf54l15dk).
Stack usage for samples running on the nRF54LM20 DK (nrf54lm20dk) with the nrf54lm20dk/nrf54lm20a/cpuapp or nrf54lm20dk/nrf54lm20b/cpuapp board targets.
The following table lists stack usage for samples running on the nRF52840 DK (nrf52840dk).
| Sample | main thread | zboss thread | ||
|---|---|---|---|---|
| stack usage | stack size | stack usage | stack size | |
| 656 | 2048 | 3032 | 5120 | |
| 664 | 2048 | 3036 | 5120 | |
| 728 | 2048 | 3008 | 5120 | |
The following table lists stack usage for samples running on the nRF5340 DK (nrf5340dk).
| Sample | main thread | zboss thread | ||
|---|---|---|---|---|
| stack usage | stack size | stack usage | stack size | |
| 756 | 2048 | 1376 | 5120 | |
| 756 | 2048 | 1376 | 5120 | |
| 760 | 2048 | 1376 | 5120 | |
The following table lists stack usage for samples running on the nRF54L15 DK (nrf54l15dk).
| Sample | main thread | zboss thread | ||
|---|---|---|---|---|
| stack usage | stack size | stack usage | stack size | |
| 840 | 2048 | 2312 | 5120 | |
| 840 | 2048 | 2112 | 5120 | |
| 912 | 2048 | 2128 | 5120 | |
The following table lists stack usage for samples running on the nRF54LM20 DK (nrf54lm20dk) with the nrf54lm20dk/nrf54lm20a/cpuapp or nrf54lm20dk/nrf54lm20b/cpuapp board targets.
| Sample | main thread | zboss thread | ||
|---|---|---|---|---|
| stack usage | stack size | stack usage | stack size | |
| 832 | 2048 | 2288 | 5120 | |
| 912 | 2048 | 2104 | 5120 | |
| 984 | 2048 | 2104 | 5120 | |