Issues in Scaling Bluetooth Mesh Network with nRF52840 Provisioner

Hi all,

I am developing my own provisioner with the nrf52840 chip. My idea is to be able to add at least 2000 nodes to a bluetooth mesh network with the provisioner but I am having several problems. When I add a node to the network and configure it correctly, the log looks like this:

This log shows the configuration of a node once it has been added to the network. However, when I reach a certain number of nodes added, the log shows the following failure:

It seems that the failure is related to a memory fault in the device when saving the configuration in the cdb. The configuration of my device is shown below:

It requires the following memory:

I have a few questions about my problem. Is it possible to add 2000 devices with one provisioner using the nrf52840 chip? If so, what am I doing wrong? If not possible, could the cdb be stored in an external memory?

Any suggestions are welcome.

Thanks in advance,

Ivan

[nRF Connect SDK v2.8.0, nrf52840]

Parents
  • Hi,

    2000 might be a bit on the high side, but depending on the size of the application you could be able to find space on the nRF52840 for that number of nodes.

    Flash storage by the Bluetooth Mesh stack, most importantly the configuration database (CDB) and the replay protection list (RPL), uses the Settings subsystem of nRF Connect SDK. Assuming a single image build with standard configurations, including use of NVS as the flash backend for the settings subsystem, you should increase the size of the settings storage through CONFIG_SETTINGS_NVS_SECTOR_COUNT. The default configuration of 8 provides 8 * 4096 = 32 k of settings storage. Increasing this storage should provide room for storing larger CDB and RPL, in turn allowing for provisioning more devices.

    Please note that if you plan on doing BLE OTA DFU, then you need around double the amount of flash space for the application, since you need to keep the current application while you download the new version of the application to upgrade to.

    Regards,
    Terje

Reply
  • Hi,

    2000 might be a bit on the high side, but depending on the size of the application you could be able to find space on the nRF52840 for that number of nodes.

    Flash storage by the Bluetooth Mesh stack, most importantly the configuration database (CDB) and the replay protection list (RPL), uses the Settings subsystem of nRF Connect SDK. Assuming a single image build with standard configurations, including use of NVS as the flash backend for the settings subsystem, you should increase the size of the settings storage through CONFIG_SETTINGS_NVS_SECTOR_COUNT. The default configuration of 8 provides 8 * 4096 = 32 k of settings storage. Increasing this storage should provide room for storing larger CDB and RPL, in turn allowing for provisioning more devices.

    Please note that if you plan on doing BLE OTA DFU, then you need around double the amount of flash space for the application, since you need to keep the current application while you download the new version of the application to upgrade to.

    Regards,
    Terje

Children
No Data
Related