BLE-mesh hundreds nodes test bench by means of nRF52840-Dongle, starting from nRF52840DK

Hi,

We have the opportunity to study and test a BLE-mesh network with a few hundred nodes.

One idea to limit the costs and avoid rebuilding wheels is to implement it using your nRF52840-Dongle devices, their are cheap enough to fit our budget.

We already have a few nRF5340DK's and nRF52840DK's along with nRF52840-Dongle samples.

We already successfully built small mesh networks using your mesh-light and mesh-switch example projects, everything is working as expected.

Using the DK boards everything went smooth: we got the examples, we modified little details to test and start learning the nRF Connect ecosystem and the VS Code extensions... All worked as intended and expected, we are pleased and satisfied.

Now we want to start building the real test bench for our project: we need to flash some nRF52840-Dongle with the project we already tested on the nRF52840DK.

Of course we need to deal with a little different memory shape to account for the MBR and the bootloader.

We browsed the internet and some post in the devzone, we tried simple steps, but we were not able to flash a working image using the "programmer" found inside the "nRF Connect for Desktop" suite.

We understand that without the correct memory layout we cannot achieve anything, may be we are too much of newbies to understand the right steps.

We found the following references, but they appear somewhat outdated and/or not dealing with the BLE-mesh examples and/or the new toolchain/workflow (I mean the nRF Connect SDK).

 nRF52840 Dongle Programming Tutorial 

 Flashing nRF52840 dongle from Visual Studio Code using nrfjprog as in the Makefile 

 nRF Connect VS Code flash nrf52840 Dongle 

We wish to understand what is the "best practice" and/or official approach to transfer a working "nRF Connect SDK" Ble-mesh example from a nRF52840DK to a file that can be flashed into a nRF52840-Dongle using the "nRF Connect Programmer" using the USB connection only (no J-link approach).

Is there a reference document? May be we missed some academy course on the topic? If not, can you kindly provide some explanation/documentation/suggestion related to the current nRF Connect SDK and avoiding NRF5 SDK?

Inside the first post I just linked we read:

"The nRF52840 Dongle is a superb companion for several nRF Connect for Desktop apps and is a good device for doing large scale mesh test setups and similar, with its low cost and small size. It can also be used for development, and easily programmed over USB DFU from nRF Connect Programmer. "

So, please help us in making that sentence true: we are building a hundred node BLE-mesh prototype.

Our idea is to develop our mesh application using the DK boards, then as soon as new prototype fw will be verified and debugged inside the DK, we wish to prepare a different build to obtain the same application flashable into the "dongles" using nRFConnect Programmer and/or DFU mechanisms.

Thank you in advance and kind regards.

  Davide De Nardis

Parents
  • Hi,

    I have looked into porting nRF Connect SDK mesh samples to the nRF52840 Dongle today. In theory porting any sample to the Dongle should be pretty straight-forward, but in practice I have not (yet) succeeded in porting a working nRF Connect SDK mesh sample.

    Currently I am at a stage where I have programmed the mesh application onto the Dongle, after the following steps:

    1. Make a build configuration for the nrf52840dongle_nrf52840 board.
    2. Build the project.
    3. Find the merged.hex in the zephyr subfolder of the build folder.
    4a. Using that hex file, follow the instructions under "Program application using nRF Connect Programmer" in the nRF52840 Dongle Programming Tutorial.
    4b. Alternatively, instead of 4a: Follow the slightly longer path of "Programming an example using nrfutil". With the latest versions of nrfutil (version 7 and newer) you must first do "nrfutil install nrf5sdk-tools" for installing the legacy commands. Follow the description for creating an upgrade DFU package containing only an application, and use 0x00 for --sd-req.

    However: Even though everything seems to have been done by the book, with an application programmed to the dongle, and the bootloader seemingly still working fine, the mesh application seems to be not working. I wish I could be more descriptive than "not working," but what I can say for sure is there are no LEDs blinking, and the nRF Mesh app is unable to scan the device. Debugging this is, of course, a bit challenging, thanks to the fact we are on a dongle and not on a DK.

    Maybe it is as simple as the application requiring buttons, leds, etc. not present on the dongle. Maybe it is more subtle. I will continue looking into this tomorrow, for then to (hopefully) provide a full description of what is needed, for getting an nRF Connect SDK mesh sample up and running on the nRF52840 Dongle.

    Regards,
    Terje

  • Hi Terje,

    Thank you for your efforts.

    We will wait for updates.

    Switching from DK to Dongle will obviously require to adjust LEDs and buttons. May be the example your are going to provide, could map the four DK board leds to the Dongle single led LD1 and the remaining three into the RGB channels of LD2? And then maybe the first DK pushbutton to the Dongle SW1?

    As extreme solution to check what's going on, one can connect to the Dongle P1 using the DK's "Debug out".. we hope you will find a solution avoiding this ;)

    We look forward hoping in a "clean  easy" solution.

     kind regards

      Davide

Reply
  • Hi Terje,

    Thank you for your efforts.

    We will wait for updates.

    Switching from DK to Dongle will obviously require to adjust LEDs and buttons. May be the example your are going to provide, could map the four DK board leds to the Dongle single led LD1 and the remaining three into the RGB channels of LD2? And then maybe the first DK pushbutton to the Dongle SW1?

    As extreme solution to check what's going on, one can connect to the Dongle P1 using the DK's "Debug out".. we hope you will find a solution avoiding this ;)

    We look forward hoping in a "clean  easy" solution.

     kind regards

      Davide

Children
No Data
Related