High School Robotics Course using the Particle.io Mesh Devices Blog


Any update on High Availability Mesh networking for the Particle Argon and Xenon? I have been doing some other projects for a few months and thought I would touch base.

I am wondering if it would be appropriate of me to post generic Mesh findings here while I mess around with the https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/


Hi @rocksetta,

There is no timetable for the release of high availability mesh networks yet. However, progress is still being made toward this goal. At this time, reliability of individual gateways is still being focused on before branching out into having multiple gateways on a single network

1 Like

I have a video, hackster and github showing how to connect the Particle Photon to IOTA which is supposed to be the cryptocurrency for the Internet of Things. Kind of makes sense connecting it with the Photon.

Now I am bored.

I have been thinking about HA Mesh Networks for a long time, but since I have finished getting machine learning (tensorflowjs in javascript) working with the Photon and recently cryptocurrencies (IOTA) working with the Photon using javascript. I thought I would get back to the original point of this blog; Setting up and testing the Open Source Openthread Network with the Open Source Particle Mesh Products.

I don’t really suggest everybody does this, so far I think I have broken 4 Argons (Lucky I have a class set!). I might be able to revive them but I am just using fresh ones at the moment. Even when they do work, they do not seem to like being flashed from the webIDE anymore. This is not for the faint of heart. Also openthread is a beast, not as smooth as working with Particle software.

Here are some animated gifs: If D0 is set HIGH it sends the Mesh.publish to every device once every 5 seconds.

If D6 is LOW the Argon connects to wifi (breathing cyan). If D6 is HIGH it disconnects wifi. (breathing green)

The middle Argon without wifi is communicating with the other Argons.


Not so easy with the Xenons. Took a while to get it working. Here an Argon sends a Mesh.publish to a Xenon. (Not that impressive since that is the normal behavior, but I thought I would show that this Argon without wifi can communicate with a Xenon.)

The last gif is of the nrf52840 usb dongle connected to the linux border router. This can scan for the connected particle mesh devices but I have no idea how to get them to communicate. Perhaps @rickkas7 has some suggestions.


No idea if this has any outside connectivity, but I am really just interested in the distance Argons can be apart and still send information. That is what I will hopefully be testing.

I am a bit stuck getting the nrf52840 usb dongle connected to my linux border router to talk to the argons, but they do seem connected.

I have a function call (where myCode is an integer that determines the number of D7 flashes myCode = 3)

Mesh.publish(“mySendToAll”, String(myCode));

which I tried

udp send ff02::1 2222 {"command":"mySendToAll","data":"3"}

which did not work. Any suggestions @ScruffR or @peekay123

I have only been working on this for around a week, I have just been trying tons of things. I don’t even consider myself a C++ programmer. Just trying stuff and seeing what works. Most of what I did was summarized on this OpenThread page https://codelabs.developers.google.com/codelabs/openthread-apis/#7 My code is a mess, even the indenting is really bad. Hopefully I can work out the multitude of bugs and post more information soon.

1 Like

I have posted my method to connect multiple Argons and Xenons at

a video is coming. This only works for Mac and Linux users but I will be looking into a cloud solution. To get devices back to normal remember to download the latest release for DFU flashing.

presently at https://github.com/particle-iot/device-os/releases/download/v1.4.1-rc.1/particle_device-os@1.4.1-rc.1.zip

Then to install in DFU mode

particle flash --usb argon-system-part1@1.4.1-rc.1.bin

Just made po-util work on the browser so windows users can work with it.

Open in Gitpod