Adding mesh devices to an existing mesh network - WITHOUT - scanning the Gateway


I have a mesh network consisting of one Boron (acting as a Gateway) and two Xenons. Is there a way to attach a third, fourth … Xenon to that mesh network, but WITHOUT access to the Boron Gateway?

I do have access to the Boron of course but the system is installed outdoors where accessing the Gateway and scanning QR codes etc. is cumbersome.

I realize that for security reasons, one needs the device to be authenticated by the Gateway but the problem I am trying to avoid is not to have to join the network by scanning QR codes in a remote site.

I can envision a similar problem where a customer wants more Xenon units to join an existing network where access to its Gateway would not be feasible.

Thanks in advance.


That is a use case that has been discussed in the Gen3 council but is not yet being developed AFAIK. If it gets developed then it will be when there is Mesh stability, BLE, NFC - so it is getting closer.

To do what you require would need secure storage of the mesh network name and mesh security password on the device and then a programmatic approach/API to allow the mesh device application to listen for available mesh networks and join the mesh network it had credentials for - a similar process to joining a WiFi network. The mesh join functions are there but yet exposed to application developers.


Pretty sure you can scan any device that’s already part of the Mesh, not necessarily the Gateway. Does that help?


Thank you @Moors7. Yes, this does help as I thought one needs to scan the Gateway.

It does help “a bit” as some of the Xenons are more accessible in my access, but an approach such as the one described by @armor above is more superior.


You should be able to do it completely from your computer with the Particle CLI. I’ve got instructions for local device setup for an Argon in my cookbook project. I haven’t had a chance to go back and verify & write up the Xenon instructions yet, but it should follow a similar path, minus the Argon-specific bits. Basically: update the Xenon firmware with DFU, add it to your mesh network with particle mesh add, and claim it with particle device add.


Thank you @dougal.


Hi @armor, do you have news on this topic? Now I really need a way to add newer xenons to a distant mesh network (with a Boron gateway), because if my customer will deploy the devices I will no longer have physical access to them. But in the future, they may want to add new nodes. Is there a secure way to do that OTA? Or add the new devices to the network via e.g. CLI, without the network (or any helper device) being present?


@Attila The most I can tell you is that a requirement for new APIs similar to Mesh.setCredentials() and Mesh.connect(mesh_network) has been made to Particle Product Management - if and when such sort of features get added I can’t say. I understand that there is some consideration being given to Thread Specification 1.2 that was published in June. 1.2 is taking Thread (which is what Particle Mesh is based upon) from smart home into office/commercial use. This would include headless deployment - i.e. without needing an assisting device.


Thank you @armor for the feedback. I feel from your answer, that this feature is not actively developed, and there is no timeline either.
Earlier you wrote: “The mesh join functions are there but yet exposed to application developers.”
Is there any way to test and use those functions (for my responsibility of course)?

Or is there any “workaround” to solve this problem? E.g. to use a physical user interface (buttons+display) connected to the new device and to one of the already mesh member devices (as a helper)? But I can not ask my end users to disassemble the product, scan stickers, plug in USB and use CLI, or use Bluetooth and special apps on mobile devices…


I am not a Particle product manager so I can’t say when the requested feature will be included in a development plan if at all. Particle have been focused on improving the quality of the products and ensuring they are of Enterprise Standard - Mesh is one thing that requires more development. There is no “workaround” other than using the CLI rather than the Particle App. As things standard you would need to pre-configure a mesh network before shipping.