OpenThread memory requirements

This page provides information about the layout and the amount of flash memory and RAM that is required by samples that use the OpenThread stack. Use these values to see whether your application has enough space for running on particular platforms for different application configurations.

How to read the tables

The memory requirement tables list flash memory and RAM requirements for the Thread CLI sample that was built from sources.

The values change depending on device type and hardware platform. Moreover, take into account the following considerations:

  • The sample was compiled using the default prj.conf plus harnessoverlay-cert.conf plus the corresponding OPENTHREAD_NORDIC_LIBRARY and OPENTHREAD_THREAD_VERSION choices.

  • The single protocol sample was configured by setting CONFIG_BT to n.

  • Values for the Thread CLI sample, which works with all OpenThread calls, are the highest possible for the OpenThread stack using the master image library configuration.

The tables provide memory requirements for the following device type variants:

  • FTD - Full Thread Device.

  • MTD - Minimal Thread Device.

Some tables also list a master variant, which is an FTD with additional features, such as being able to have the commissioner or border router commissioning roles. See Feature sets for more information.

nRF5340 DK RAM and flash memory requirements

The following tables present memory requirements for samples running on the nRF5340 DK (nrf5340dk_nrf5340) with the software cryptography support provided by the nrf_oberon crypto library module.

nRF5340 multiprotocol Thread 1.2 memory requirements

master

FTD

MTD

ROM OT stack + App [kB]

409

372

320

ROM Bluetooth LE stack [kB]

28

27

28

Persistent storage [kB]

24

24

24

Free ROM [kB]

563

601

652

RAM OT stack + App [kB]

113

101

91

RAM Bluetooth LE stack [kB]

8

8

8

Free RAM [kB]

391

403

413

nRF5340 single protocol Thread 1.2 memory requirements

master

FTD

MTD

ROM OT stack + App [kB]

409

372

320

ROM Bluetooth LE stack [kB]

0

0

0

Persistent storage [kB]

24

24

24

Free ROM [kB]

591

628

680

RAM OT stack + App [kB]

113

101

91

RAM Bluetooth LE stack [kB]

0

0

0

Free RAM [kB]

399

411

421

nRF52840 DK RAM and flash memory requirements

The following tables present memory requirements for samples running on the nRF52840 DK (nrf52840dk_nrf52840) with the software cryptography support provided by the nrf_oberon crypto library module.

nRF52840 multiprotocol Thread 1.2 memory requirements

master

FTD

MTD

ROM OT stack + App [kB]

453

415

363

ROM Bluetooth LE stack [kB]

81

81

82

Persistent storage [kB]

32

32

32

Free ROM [kB]

458

496

547

RAM OT stack + App [kB]

108

96

86

RAM Bluetooth LE stack [kB]

13

13

13

Free RAM [kB]

135

147

157

nRF52840 single protocol Thread 1.2 memory requirements

master

FTD

MTD

ROM OT stack + App [kB]

453

415

363

ROM Bluetooth LE stack [kB]

0

0

0

Persistent storage [kB]

32

32

32

Free ROM [kB]

539

577

629

RAM OT stack + App [kB]

108

96

86

RAM Bluetooth LE stack [kB]

0

0

0

Free RAM [kB]

148

160

170

nRF52833 DK RAM and flash memory requirements

The following tables present memory requirements for samples running on the nRF52833 DK (nrf52833dk_nrf52833) with the software cryptography support provided by the nrf_oberon crypto library module.

nRF52833 multiprotocol Thread 1.2 memory requirements

FTD

MTD

ROM OT stack + App [kB]

403

352

ROM Bluetooth LE stack [kB]

81

81

Persistent storage [kB]

16

16

Free ROM [kB]

12

63

RAM OT stack + App [kB]

91

82

RAM Bluetooth LE stack [kB]

14

13

Free RAM [kB]

23

33

nRF52833 single protocol Thread 1.2 memory requirements

FTD

MTD

ROM OT stack + App [kB]

403

352

ROM Bluetooth LE stack [kB]

0

0

Persistent storage [kB]

16

16

Free ROM [kB]

93

144

RAM OT stack + App [kB]

91

82

RAM Bluetooth LE stack [kB]

0

0

Free RAM [kB]

37

46