Bluetooth Mesh low power Node using nrf52820

Hai

 We are already using nrf52820 for various projects and already having stock of around 10k.

Now we are planning to work on Bluetooth mesh. I found NRF52820 will support Bluetooth mesh from document.

But from this devzone I found that memory of nrf52820 will not be sufficient for Bluetooth mesh.

we are going to develop low power node. (End Node). just a simple light switch.

is there is any way to optimize the code to support Bluetooth Mesh?

only Device has to send button press to the mesh network.

Best Regards

Bose

  • Hello,

    My first impression is that it would be difficult to fit the stack on the nRF52820. Perhaps in the nRF5 SDK, but Zephyr is difficult. In addition, there is no way you would be able to do DFU over the Air on this device. At least not without external flash. I can check with our Mesh team if they know any configs that would make the stack small enough for the nRF52820, but to be honest, I don't think it is possible.

    I will get back to you next week.

    Best regards,

    Edvin

  • Hai  

    Thank you for your quick response.

    we are not planning for DFU for this device. the application will be only one button interface.

    anyway, just check with your team and let me know.

    Best Regards,

    Bose

  • Hello Bose,

    According to our Bluetooth Mesh team, they struggled with fitting anything useful into the internal flash on the nRF52820, so therefore we don't have a certified Bluetooth Mesh stack for it. Also, the qualification FW doesn't fit the nRF52820's 256KB flash, so I don't imagine it will be certified in the future. 

    "It is quite difficult to do anything useful with 256KB of flash. Some bare-boness stuff may be possible, but anything standardized like lighting samples is quite difficult to fit".

    In my book, the lighting samples are quite basic, so anything more lightweight than that is difficult to imagine. I would say you need a bigger device for Mesh. They didn't have any easy optimization configs either. This was an issue already in nRF5 SDK for Mesh, so it is not supported there either. 

    Best regards,

    Edvin

  • They also wrote:

    Options they can experiment with:

    CONFIG_LOG=n
    CONFIG_NORDIC_QSPI_NOR=n
    CONFIG_UART_CONSOLE=n
    CONFIG_UART_NRFX=n
    CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
    CONFIG_LTO=y
    

    Additionally (highly risky, as I don't know if entire zephyr and mesh code would work 'safely' without assert statements) - and therefore I'm highly uncertain if this should even be suggested to customers:

    CONFIG_ASSERT=n

    So there are some things you can test, but as you can see, it is a bit risky, and not something that we can officially say will work.

  • Hai  

    Thank you for information.

    I took the light switch example and selected the board as "nrf52833dk_nrf52820" 

    I tried to optimize the program. But I got stuck in the RAM size.

    arm-zephyr-eabi/bin/ld.bfd.exe: region `RAM' overflowed by 11554 bytes

    How can I optimize the RAM? In light switch example I'm initializing only one Model for ONOFF.

    Best Regards

    Bose

Related