LP-EM-CC2340R53: CC2340r53

Part Number: LP-EM-CC2340R53


Tool/software:

Hello TI Team,

I’m working on Zephyr 3.7.0 with TI SDK 0.16.9 and facing issues with BLE Mesh network setup using SIMPLELINK APP:

  1. When a node is removed from the mesh, it becomes unresponsive and requires re-flashing.

  2. If a node is disconnected, it does not automatically reconnect/rejoin.

Could you clarify the expected behavior here and if additional application logic is needed?

In addition, I would like guidance on configuring BLE Mesh and creating a Mesh UART bridge:

  • How to set up a transparent UART < -- > Mesh < -- > UART tunnel between two devices.
  • Limitations regarding payload size, number of nodes, or reliability in this configuration.
  • Hello TI Team,

    We are currently blocked on our development due to the issues mentioned above. Could you please let us know by when we can expect a response or guidance? This is urgent for our project timelines, and your support would be greatly appreciated.

    Thank you.

  • Hi,

    My apologies for the delay. Let me loop in our Zephyr expert to assist.

    Best Regards,

    Jan

  • Hello Tarun,

    Apologies for the delay here! Please let me look into this and get back to you ASAP!

    Best Regards,

    Tarek D

  • Hello Tarek, thanks for your support.

    I am also interested in creating a "hopping" network with the mesh technology. Could you provide guidance on the following:

    * How to configure the mesh network for this "hopping" functionality?
    * Are there any specific considerations or limitations regarding the "hopping" network setup with BLE Mesh?
    * What are the recommended configurations for optimal performance and reliability in such a network?

  • Hello Tarek any update ?

  • Hello Tarun,

    I apologize again for the delay here. Upon looking further into this, here are my thoughts:

    When a node is removed from the mesh, it becomes unresponsive and requires re-flashing.

    In BLE mesh, when a node is removed, as in unprovisioned, it should remove any and all provisioning data and return to an provisioned state. The issue here sounds like the device does not restart the provisioning advertising. To fix this, I would recommend adding a bt_mesh_prov_enable(BT_MESH_PROV_ADV | BT_MESH_PROV_GATT); when a disconnection event is detected.

    If a node is disconnected, it does not automatically reconnect/rejoin.

    Could you elaborate on what's happening here?

    I would like guidance on configuring BLE Mesh and creating a Mesh UART bridge

    I would recommend taking a look at the mesh_uart_bridge example found inside the Zephyr repo. I have personally tested it and can ensure it works as expected!

    I hope this answers all your questions!

    Best Regards,

    Tarek D

  • Thanks for your support i will verify this and while working on mesh UART example there is some delay between payload.

    I am also interested in creating a "hopping" network with the mesh technology. Could you provide guidance on the following:

    * How to configure the mesh network for this "hopping" functionality?
    * Are there any specific considerations or limitations regarding the "hopping" network setup with BLE Mesh?
    * What are the recommended configurations for optimal performance and reliability in such a network?

  • Hello Tarun,

    These are very broad questions unfortunately. Could you please specify what you're asking about?

    Typically in BLE mesh applications, there are multiple roles that perform different tasks. The main ones are:

    • Node: Any device connected to a BLE Mesh network.
    • Relay Node: A node that receives and retransmits messages to extend the network's range.
    • Proxy Node: A special node that allows a device that does not natively support BLE Mesh (like a smartphone) to connect to and interact with the mesh network via a standard BLE connection.
    • Low Power Node (LPN): An energy-efficient node that only wakes up periodically to poll a "Friend" node for queued messages. This is ideal for battery-powered devices.
    • Friend Node: A node that stores messages for an associated Low Power Node, enabling the LPN to remain in a low-power state for longer.
    • Provisioner: A device that adds new, unprovisioned devices to the mesh network securely.

    Each of these will have it's own considerations and limitations.

    I hope this helps!

    Best Regards,

    Tarek D

  • Hi Tarek,

    Since I'm referring to the Zephyr "mesh_uart_bridge" example, how can I configure a node, specifically as a relay node, so I can extend the network's range via "hopping"?

  • Hello Tarun,

    I believe the example is already configured to be a relay node! Inside of the project configuration file, you will notice that CONFIG_BT_MESH_RELAY=y which enables it to be a relay node.

    Best Regards,

    Tarek D

  • Hi Tarek,

    Yes in example it is configured as relay but how do i provision this as a relay node and test the hopping?
    as I am provisioning the mesh network with simple link mobile application.

  • Hey Tarun,

    To provision using the SimpleLink connect app:

    1. Generate an Application key. This can be done by going to the mesh section of the SimpleLink Connect app, pressing on the three dots on the top right corner, and selecting "Configure app keys". Here you'll press "+ Add Key", which will automatically generate an app key for you
    2. Add the node to the mesh network. To do this, you'll select "Add node" option, which will start scanning for nearby mesh devices. Once you find you device, select it and press "provision"

    3. If you would like to publish to another device, you'll need to bind the the app key generated in step 1. To do that, just select the application key setting inside the "Configure Node" screen, and select the generated app key.

    4. Now to use the UART_mesh_bridge example, go to the vendor model and bind the app key.

    5. Finally, set the publication to publish to the unicast address of the device you're interacting with

    I hope this answers your question!

    Best Regards,

    Tarek D

  • Hey Tarek ,

    That right i configured exactly this and i am using 3 -4 nodes but all are communicating in star network not as the extended network or relay node.

    what could be the possible issue ?

    Node1 <--> Node2 <--> Node3

    My requirement is if i send the payload from Node 1 to Node3 and node 3 is not on the range of Node 1 but it should send the payload through Node2.
     

    I hope you understand my question!

    Best Regards,

  • Hey Tarun,

    Understood! What does you setup look like? Are you placing Node 3 outside of the range of Node 1 and Node 2 in the middle? Is it clear line of sight? And Have you confirmed that Node 2 is in range with both devices?

    Best Regards,

    Tarek D

  • Hey Tarek ,

    My setup has 3 nodes. and i am placing Node 3 between in the range of both Node 1 and Node 2.
    and yes it is a line of sight.

    Best Regards,

  • Hello Tarun,

    Understood! I will attempt to test this on my end and let you know my findings. Please expect an update by Wednesday (11/5).

    Best Regards,

    Tarek D

  • Hello Tarek,

    Thanks for your support.

  • Hello Tarek ,

    Any update on the above.

    Best Regards,

    Tarun Kaushik

  • Hello Tarun,

    My apologies for the delay! I was able to run the test on my end and I can confirm that the device does posses the capability to relay messages out of box. The middle node may be too far from one of the nodes which is causing it to miss a lot of the packets in your setup.

    But again, I can confirm that the devices do function as expected.

    Best Regards,

    Tarek D

  • Hello Tarek ,

    Thanks for the update.
    Can you share your setup details like SDK version , hardware and configuration of mesh network?
    and help us in setup of mesh configuration for the relay nodes.

    Best Regards,

    Tarun Kaushik

  • Hello Tarun,

    Absolutely! I'm using the TI Zephyr Github Repository, v3.7.0-ti-9.10. From a hardware perspective, I'm using 3 CC2340R53 launchpads flashed with the same default mesh_uart_bridge found inside the TI Repo. 

    I configured the 3 nodes using the SimpleLink Connect App on my smartphone (although any mesh app should work) and make sure to provision all three devices, and set them to publish to the desired node. Since you have node 2 in the middle and nodes 1 and 3 on opposite sides, you will have to set node 1 to publish to node 3 and vice versa.

    Placement can be slightly tricky, but you should place nodes 1 and 3 far enough from each other where the can't receive messages from each other, but are able to receive messages from node 2.

    For more info on our Zephyr offerings, I highly recommend checking out our Zephyr SimpleLink Academy trainings: dev.ti.com/.../index.html

    I hope this helps!

    Best Regards,

    Tarek D

  • Hi Tarek,

    I am using the TI zephyr Github Repository, v3.7.0-ti-8.40.00.ea. also using the 3 CC2340R53 custom modules flashed with the same default "mesh_uart_bridge" found inside the TI Repo.

    And i configured the all three nodes to publish and subscribe to the same application key and a common group address.

    and Placement is same as you mentioned.

    So what could be the reason.

    Best Regards,

    Tarun Kaushik.

  • Hello Tarun,

    Could you please use the latest Zephyr repo? There were a lot of fixes in the 9.10 version.
    github.com/.../simplelink-zephyr

    Best Regards,

    Tarek D

  • Hello Tarek,

    As i am using latest 9.10 tag in west init so it gives me this error.



    that this bitbucket repo is not accessible.

    Best Regards,

    Tarun Kaushik


  • Hello Tarun,

    My apologies I should have mentioned this. This is a known issue that we plan to fix in our next release. Just pressing "enter" and skipping giving a bitbucket username is sufficient, the repo will still be functional.

    Best Regards,

    Tarek D