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

So to continue my quest for getting Particle Mesh working on OpenThread I have started a new thread. Particle Mesh Devices and OpenThread Connections in Anticipation of Google Breaking Changes

Think about it. If I purchased 31 Raspberry Pi’s that only worked if I was expected to pay a monthly fee, the news would go viral, but here at the Particle forum people seem reasonably OK with purchasing hardware that barely does what it was advertised to do.


Speaking of advertising, every time I login to my Instagram I get these ads, reminding me of the 31 Mesh Devices I purchased that are sitting in my cupboard at school.


Anyone else a bit frustrated that things are not really working as advertised?

just be sure to keep a good lock on that cupboard.

Hey Jeremy,
I can't say I'm frustrated. I'm patiently looking forward to the future and checking on how things unfold.
However, I can sympathize with your feelings. It's not cool to expect something to happen or behave a way and then find out is not happening.
I had no expectations about the Gen3 hardware, and I do not mean that in a bad way. When I made the pre-order I was excited to get something from Particle (because it's their products that paved my way into IoT and connected devices) and I was excited to get something futuristic, whatever that means. Mesh, bluetooth and many other features captured my attention and I am still happy with what I got.
No bluetooth API for now? Well, not a big rock on my way since I would like to play with it but I can wait for it. It's coming, it's in the roadmap and I'll be happy when I get it. I'll be happier of course if I would get it tomorrow vs getting it in 5 months, but hey, I'm ok with that. Of course, I will be sad if it takes 10 years but for now, it does not look like that.

I'm sad that you have experienced things this way, and that the kids you were about to teach this tech would not get it because of all the frustration you went through.

Anyway, I'm pretty sure of this:
if there is something I could do to help you de-escalate the frustration and let your students get to play with your Gen3 hardware, please let me know.
Not only that, write about it here in the forums and I'm one thousand percent sure that the community and Particle will try to help you.

I read once that optimistic brains get wired differently than pessimistic ones. Now you know a little bit more on how mine got wired some time ago... Still, I wish mine was wired like this.

All the best,


Great post @gusgonnet. Interesting article The creative brain is wired differently | ScienceDaily I hope that information is used well by society.

Thank you, I have already de-escalated my Mesh frustrations, as @will and I are at least messaging each other.

I am a very positive person, with more creativity and persistence than smarts :joy:, but I am quite proud of my 2 main teaching sites at :

about Teaching Machine Learning using webpage Javascript and Googles Tensorflowjs

about Teaching Robotics using the Particle Photon

which both took a ridiculous amount of time to make and also were very frustrating as nothing ever works the first time, or the tenth time for that matter.

Thanks for your post @gusgonnet. It is a bit of validation about what it must be like for most Mesh hardware owners who have a more flexible timeline than my perceived one.

I'm aware of those qualities from reading your posts around the community. I learn a lot from them, and I'm sure I'm not the only one. I guess not only your students learn a lot from you.

Thank you for mentioning your teaching sites, I want to learn a bit of tensorflow.js so I'll check them out. Nice choice of yellow, BTW. Unforgettable :slight_smile: :yellow_heart:

Keep it up, please.

The almost daily updated github version of the same website is blue, I used to have them both the same color and would wonder why my code didn't work, when I was checking the wrong website! Just checked and I have changed the repository 5,400 times (commits).

Some people might wonder why I mention Javascript or Machine Learning in a Mesh Devices blog.

**Imagine, almost unlimited sensors and actuators interacting using Particle Mesh devices also connected through fast Javascript internet websockets to Raspberry Pi's, Cell Phones or Cloud Machine Learning software, continuously learning and reacting to the massive flow of data in real time from: your body, your car, your home, your farm, your business. Get the picture! That's like year 2025 concepts. **

For most of the above scenario I have a working proof of concept, I just need the Mesh Devices connecting.

If you want to learn Javascript or Machine Learning, last month was definitely the time to start. Tensoflowjs just reached version 1.0.0 which means breaking changes should be minimal for a few years (months :persevere:). Breaking changes mean everything done till then is basically useless for teaching. It has happened twice, since I started using the original Google Tensorflowjs called Deeplearnjs. (Yes, changing the entire name of the product is considered a breaking change.)

Here is a link to my, as yet unfinished, javascript online, fully interactive, (means you can change the code and see what it does on the page!) tutorial about javascript basics

1 Like

Great comments, thank you again!

Just checking in. It’s been a couple busy months for me, too. (Boy, when you miss a little here, you miss a LOT! :wink:

@Rocksetta, than you for your hints and pages and articles about your efforts along the way. They’ve certainly helped me on my learning curve! I’m sure there are many ohers who have benefited by reading yoru posts as well.

I didn’t get the USB dongle, but rather a small board with 2x5 IO pins, but then read the fine print to see that my Pi Zero W wouldn’t work (that I’d need an ethernet conenction in order to plumb the wireless drivers. I did order a new B model and kit, but that’s when I ran out of time, and building in OpenThread gateway on a Pi as my home gateway is stalled until a few other projects are completed. (And work has been claiming more time than usuall in the past couple months.)

I think you still have my personal email. I’d be interested to hear more about your progress in the term ahead, if you aren’t going to be posting about it here.

When I get back to this, I’ll post more about my progress.

Current status: I have three Xenons, one on an Ether dock, reporting basic data, but I got stalled trying to get local publish/subscribe working. That’s where I started trying to get a RPi to use an 802.15.4 dongle as a wireless sniffer, to look for the mesh networking packets (not the payload, but the underlaying network mapping).

Good luck, everyone, with all of your other projects.    -Z-

Thanks @Zonker for the kind words. I have also stalled a bit while waiting for the Particle Cloud HA network to be active.


I think my Mesh Hello World program got local Mesh publish/subscribe working quite well. Even if the mesh devices got broken into pods each pod of devices communicated fine, but I haven't used it for a while.


I recently had a long talk with @will, and I am back to being more of a team player. He reminded me that the pre-order people should be able to use 10 gateways and up to 100 devices for testing. Which takes a lot of pressure off my concerns about my teaching with 15 Argons and 31 devices having a monthly cost. (Only for pre-order people unfortunately).

I did mention my concerns about the Particle Cloud Border Router and @will mentioned perhaps a local Particle Border Router (Linux machine) might be something in the future. That sounds really interesting, with lots of positives, but that might not be for a while, if ever.

So that is my update, instead of stressing about the Mesh devices I think I will buy this puppy. image

the kids are on board, just have to confirm things with my wife. :roll_eyes:

1 Like

After years of only using the console with my students for testing output:

Particle.publish("Analog Read A0 = ", String(analogRead(A0)), 60, PRIVATE);

because my school locks down the Windows Device Manager and finding the correct COM port to use serial is a bit random, I just found out that the windows command shell either CMD or PowerShell command


gives all the data I need to then use putty.org to communicate in serial mode

Status for device COM25:
    Baud:            9600
    Parity:          None
    Data Bits:       0
    Stop Bits:       1
    Timeout:         OFF
    XON/XOFF:        OFF
    CTS handshaking: OFF
    DSR handshaking: OFF
    DSR sensitivity: OFF
    DTR circuit:     OFF
    RTS circuit:     ON

I still love using the console and it is fine for testing most things, but it needs a delay(1000); after each publish, so for much faster communication serial is needed, such as working with sound, acceleration etc…

Here is a link to my serial testing files on github:

You might try Teraterm. It automatically shows what comm ports are available which usually is the port of the particle device.

1 Like

Been working on this Machine Learning in Javascript with the Particle Photon (Using websockets and a cell phone)

Thanks @mstanley for editing my post High School Robotics Course using the Particle.io Mesh Devices Blog . I like your [redacted] parts.

@will and I have already talked through our differences and the minor mess up of the zoom.us meetings. Both @will and I were fine with moving forward. On a forum we are allowed to have respectful differences of opinion and occasionally make mistakes.

Have things changed? My opinion is that the product I purchsed should work. I ordered 31 mesh devices in Feb 2018, it is now May 2019, can we now connect 2 Argons together, it has been 15 months?

When I teach students, and someone does something out of line, I try to find something they have done really well. @mstanley, did you like that I have used Machine Learning with your product, connecting a cell phone through websockets to the Particle.io Photon to control a toy car based on a persons body posture, link here. Something few people on earth have got working or even thought of doing.

Do we need to talk!

1 Like

No worries. The only content changed was the [redacted] information. Since the zoom account is premium, they are static--and I didn't want to leave them on an open message board. Web scrapers are nasty things! There was no ill will in the editing of the message. :slight_smile:

Happy to hear you and Will were able to work things out!

It is somewhat possible to do what you're asking. We do not have high availability networks (2 simultaneous gateways talking to the cloud in one network) yet. However, it is possible add gateway devices as nodes. For instance, an Argon can be added to an existing mesh network, and it will act like a Xenon. It'll talk mesh, just not cloud.

High availability will come in time. The focus is to improve reliability of existing services. Some recent efforts have gone into cloud side reliability--especially in terms of sleepy devices. This has a significant positive impact on gateway connectivity for mesh.

Constant efforts are made to improve device reliability. At the time of this writing v1.2.1-rc.1 is our latest release. I encourage you to always update to the latest device OS and experiment.



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 Developing with OpenThread APIs 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