This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52840 Dongle - nrf5 Mesh SDK - light switch demo provisioner not working

Hi,

I tried to evaluate the light switch demo using the boards that I have to my disposal.

These are 1 nrf52-DK and 2 nrf52840 Dongles.

I wanted to use one dongle as a provisioner, one dongle as a server and the DK as a client.

When I program the client and the server, they both show up in the nrfMesh app for android as unprovisioned devices, so that I think that this is working as expected.

However, I have problems flashing the provisioner to the dongle. The LEDs flash at the start and then go out and nothing budges. When I press the button, no LEDs come on.

I also tried adding a simple LED-toggle to the root of the button press handler and it doesn't ever get toggled.

What could the problem be?

Yours sincerely,

Kai

Parents
  • Hello,

    I believe the issue is that the dongles have a bootloader. But if that is the case, then I am surprised that the dongle acting as the server works fine.

    Can you confirm that you use SDK_for_Mesh v 3.2.0 and SDK15.3.0?

    Can you check if you can use the DK as the provisioner and keep the donlge that you use as the server? Are you able to provision the server from the DK?

  • 1) I have version "nRF5_SDK_15.3.0_59ac345" and "nrf5SDKforMeshv320src"

    2) I have programmed the DK as provisioner and one dongle as server. RTT keeps repeating something along the lines of:

    <00> t:   14919096>, provisioner_helper.c,  138, UUID : 84AFC4B461AD94449A6D6EE916EEC44C


    <00> t:   14919099>, provisioner_helper.c,  142, ^RSSI: -33


    <00> t:   14919101>, provisioner_helper.c,  147, ^URI Hash: 74F97940

    And nrfMesh still shows the nRF5x Mesh Light as an unprovisioned device.

  • Hello,

    After thinking about this for a while, I don't think the dongles suffer from the bug that I mentioned will be relevant for the bootloader on the dongles. 

    Have you done any changes to the project before flashing it to the dongle? You need to at least change the preprocessor define BOARD_PCA10056 to BOARD_PCA10059. This is because the LEDs and Buttons are routed differently on the two PCBs.

    So did you change this? Since you can't monitor the log on the Dongle, it may very well be that the provisioner example doesn't get to the part where the radio starts at all. 

    Try to change the preprocessor define BOARD_PCA10056. You will see that when you compile after this, there are some compiler errors that you need to fix. They should be quite self explaining. Let me know if you struggle with any of them.

    Best regards,

    Edvin

  • I did change the define to PCA100059 and updated the appropriate header file such that it includes LED_START and LED_STOP, which was the only modification that needed to be done.

    I then proceeded to flash the dongles using nRFConnect, adding the hex for the s140 SoftDevice. I was, after all, using the nrf52840-s140 project for the dongles.

    (To be clear, I did all this before posting the original post)

    What I did:

    1. Delete the whole nrf5-Mesh-SDK folder to make sure no modifications were done
    2. Unpack the nrf5-Mesh-SDK
    3. Open the Provisioner Project for the nrf52840-s140 in SES
    4. Change the define mentioned above (Relevant changes to LED defines was done in nrf5-SDK)
    5. Build the project
    6. Upload the build in conjunction with the appropriate SoftDevice
    7. ...
    8. Non-Profit :(
  • Try to flash this project that you have now ported to the dongle on the DK. Then you can debug and see whether the application runs into any errors.

Reply Children
No Data
Related