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

A bit better at home.

I tried the Argon (Wifi, Mesh and Bluetooth) without the antennae as my Photons worked fine without an antennae. It did fully connect until I moved it to about 5 m from my router.

Bit surprised when it wanted a mesh network name and password but made up something.

So the Argon works, got Tinker going, blinked D7 so all is good. Attached the Antennae so it could work at my computer about 10 m away from the router. I remember that with the Photon the first connection needed to be close to the router but once it had a connection I could often get quiet far away from the router. With my Argon I walked about 60 m up the street outside my house and the Argon was still working.

Then tried the Xenon (Mesh and Bluetooth). As far as I can tell the Xenon does not work without an assisting mesh device. (Please someone tell me that a single Xenon can work somehow).

So I then used my Argon as the commissioner to connect the Xenon.

Strange the app did not recognize that the assisting mesh device was an Argon. The App seems to think it is also a Xenon.

So after several attempts it did manage to add the xenon to the cloud.

I then got both devices breathing cyan and was able to briefly turn on and off D7, but the Xenon (might just be the one I took home) is very flaky with it’s connection to the Argon. Spent about 90% of the time disconnected and 10% of the time connected.

For a first attempt this was not a bad day. The Argon works comparable to the Photon. I am looking forward to getting many Argon’s going to be able to test out the mesh abilities.

Tomorrow I will try the Xenon with the Ethernet Featherwing and see if I can get better connectivity. Honestly I am a bit confused with the Xenon. I assume when I get more used to it I will be able to connect it to my phone using just bluetooth without having to be confused by the mesh connectivity issues. Perhaps I just use the cloud to program it and then I don’t need it after that.

Next steps. Rewrite my main .ino file to include the mesh devices. Have a good night.

1 Like

So I came in an hour early to school today, since in the past setting up Photons in a busy wifi school is almost impossible. I tried connecting the Xenon and Argon. Can’t! The school WIFI has an SSID, login and password. The Photon only uses an SSID and a password like most home Wifi networks.

Tried my Photons from last year which used a guest login. The password has changed.

I have contacted the tech department to see if they will make a private network just for the Photons, or at least tell me the guest login password. Typically tech requests take about 3 months, I can speed up the request by pointing out that this is a curricular course that starts in February 2019 and needs the devices working and debugged.

I tried having a student to login using the student network. Found something very interesting and a solution.

Many students android cell phones can’t scan the qrcode on the Mesh Devices. The phones do not focus that close. My Samsung S8 was fine. Herre is an image of what the students phones see.

The easy solution for the students was to use my phone to take a picture of the QR style code and then use their phone to scan my image.

Worked great, except for the above login issue.

1 Like

Just some thoughts…Some phones require a minimum distance to focus. Did you try backing the phone off? Even if the code is smaller than the window, it may still scan. Some phones also have a macro setting you have to enable… look for this icon: image. Also try using a flashlight or other light source to shine on the device so that the camera has more light.

@rocksetta, on my Samsung A5 the issue I have is that the focus takes over 15 sec to activate and sometimes not at all regardless of distance and lighting conditions. I have reported this to Particle several times. The picture trick worked for me as well.


It would for me even if the image was up to 1 foot away.

My Samsung S8 with an excellent camera only worked within 4 inches of the device. For both of my students who tried scanning without success, moving farther back did not help. @ninjatill idea about the micro setting is something I will try.

So still at school and am trying my Ethernet Featherwing with a fresh Argon. Seems to be installing the software, but yesterday I could not get any farther, probably the same issue with the wifi login.

So everything installed but now it is frozen on this screen

To bad because the featherwing could have solved all my school connectivity issues.

On reboot of the app it is trying to connect to the internet, however this step should be really fast not several minutes. I will have to try this again at home as my school network may have some security hoops to jump through unlike on home network.

Interesting point here, that while the Argon is trying to connect to the internet it seems to ignore the 3 second push on the Mode button to switch back to setup mode. I had to disconnect the Ethernet cable before I could reset the Argon.

Here is a link to a little request I have that fit a different topic

So back at home, I am able to get the Ethernet Featherwing working and a mesh network setup. I have 3 Argons and 1 Xenon working. This different Xenon is also flaky unless connected to the internet using the Ethernet Featherwing (Thank goodness for it, on my home network it is fast and reliable. Setting up devices is much quicker). Problem though, adding to a mesh network seems very confusing.

Sometimes I get the commissioner screen which is a pain but does seem to work

but most of the times I enter the Mesh Network name and password and it wants me to create the network. The system seems to be fine with having several mesh networks all with the same name and password.

The console shows one of my Mesh network with one device attached and has a link to add more devices which just directs me to the App.

Why does the app not know about Mesh networks already setup? Any ideas @peekay123

Just did it again. It says you can create or add to a previous mesh network but only creates the network never lets you add to a network.

but all it lets me do is

and then I set a password and it creates the mesh network even if I already made one with that same name.

Probably explains why my Xenons are so flaky since they are not really getting setup properly to a mesh network.

If I understand correctly, you have a bunch of Argons and trying to add them to a mesh network? Currently, you can’t add an Argon to an existing mesh network. That is considered a high availability (HA) network and hasn’t been implemented yet. I haven’t seen a timeline for implementation of HA yet. I suppose you could create all your mesh networks with the same name but don’t expect them to be on the same mesh “subnet” (for lack of a better term) and communicate with each other. You can only add Xenons to an existing mesh at the moment.

Reading some of your posts above, looks like You already know this about HA but are having issues just with the assisting device?

I found the concept of the assisting device confusing at first. Admittedly, I had to repeat the process because I screwed it up the first time. But I’ve only done it once. I will try to add another Xenon to my Argon network tonight.


Holly smoke @ninjatill I did not know that at all. I thought the whole point of the MESH, was that you could have multiple Borons, Argons and Xenons that creat a MESH of connectivity. So I guess 1 Argon can have up to 9 Xenons connected on a free micro-network. Now at least I am glad I purchased 15 Xenons. :smiley:

So that explains the payment structure where you have to pay $10 per month for 3 Argons and 1 Boron with up to 30 Devices and 10MB of data per month.

Personally I am a bit upset, but at least that explains the frustration I have been having. Time to bring home a bunch of Xenons.

That’s what I was expecting also. After playing with all of it for the last few days I’m not putting it to the side until the new firmware get’s rolled out so we can see what’s getting fixed and what still needs fixed.

Now I’m playing with some Digi XBee Pro 900Mhz HP radios that are setup in DigiMesh network and connected to a stable Photon. Much more expensive than a Xenon but also 1 mile range a stable platform to work on now to keep moving forward on a concept that can require 50-200 nodes.

I can see Particle MESH being beneficial in many situations once it all gets worked out.

1 Like

That was my expectation also when I placed my pre-order.
The beauty of the Photon and others of the 2nd generation was the flexibility to be able to do almost anything imaginable.

I assumed it would be the same with Mesh. My imagination may have run wild, as I described a possible use case in this thread:

I hope Particle gets to that point where it all gets worked out. I am also uncertain of the pricing structure; it may require careful though how I define my networks.
I can still foresee a lot of opportunity for ParticleMesh.

PS. I have total empathy for your kid; I completely understand. Good luck at engineering school.

1 Like

I now remember why I was so pumped about the mesh devices. I teach robotics and will often have 15 Photons going at one time in the classroom. Most days everything is fine but some days 2 to 3 Photons will not connect well. Sometimes its the location in the class, sometimes its the Photon does not work as well as the others. I have found, that I can improve the connectivity by activating all the photons in the morning.

Needless to say, for the students with the bad Photons the class is very frustrating. I often set up a hot spot with my own cell phone data plan just to reduce the tension.

I was hoping that with the mesh devices we could have 15 Argons working with Wifi and Mesh conectivity and if 2 or 3 were having a bad Wifi day the mesh connection would kick in as a backup form of connection. Now I find out that even 2 Argons can not be connected on a free Mesh network.

Now I guess I could have 2 Argons each with its own mesh network of 7 Xenons for free, but presently my Xenons are connecting worse than any Photon I have used so that is not looking like any kind of a classroom solution.

Bit disappointed.

1 Like

One proposal I planned to raise with Particle was to allow multiple devices that could act as gateways but can be “down-rated” to be mere repeaters or even endnodes to avoid the HA fee.
While reactivating the gateway functionality would only be possible via new firmware (no on-the-fly changing) and also limit the mesh to only accept one gateway at any time with some cool-down phase when switching gateway.

But I didn’t have chance to directly talk to them eye-to-eye about this.


I also wonder about how to swap out a gateway. What happens when you have deployed a mesh network to the field and say you find a need to swap out the gateway? Boron to Argon. Argon to Xenon Ethernet. Xenon Ethernet to Argon. Or even Argon to Argon (if one gets flaky or dies). Etc. Right now, I want to swap out the Xenon Ethernet endpoint on my mesh with a new Argon. Currently, there’s no way to do that. I have to setup the Argon with a new mesh network and then go to each Xenon endpoint and re-do the setup process to get them all on the Argon mesh network. Hopefully they have something planned for this.


So I went through the process of setting up a new mesh network last night. I grabbed a new Argon and Xenon out of the box and went through the steps. NOTE: for anyone who finds this at a later date, these setup steps could change with future firmware and mobile app updates.


  1. Insert into breadboard, attach WiFi antenna and apply power via USB. Goes into fast blinking blue.
  2. Fire up the Particle mobile app and start the “add new device” process. While stepping through the app, the app updates the firmware on the Argon and then sits there with a spinning particle symbol. I had to exit the setup and restart twice. On the 3rd attempt, it finally recognized the Argon had the correct firmware and continued on to naming the device and creating a new mesh network. I named the device something unique but the mesh network I named the same as another existing mesh network.
  3. For the sake of this exercise, I exited the setup process instead of continuing to add a new device. If I recall correctly, when you just continue to add devices you do not have to go through the “Pair assisting device” screen and rather it already knows the mesh network and just adds the Xenons one after the other.


  1. Insert into breadboard and apply power via USB. Goes into fast blinking blue.
  2. Restart the Particle app and add a new device. Stepping through this process, it applies a firmware update and then scans for existing mesh networks. It sees the network I created with the Argon, I click it. Now it pauses and shows the “Pair assisting device” screen.
  3. Go to the Argon, hold down mode for 3 seconds until blinking blue then scan the Argon with mobile device. The app does it’s thing and gets the Xenon connected.
  4. Done. New mesh up and running with a single Xenon endpoint. Both running the default “Tinker” firmware.

Not sure if this is pertinent anymore now that you figured out the handful of Argons you had won’t function on the same mesh network at the moment.

1 Like

My iphone 5s also cannot see the QR code well enough (and the Particle App doesn’t let me pinch/zoom). My work-around was to have another person take a picture of the code, then I could pinch/zoom on their phone, and then use the Particle App on my phone to scan the image on their screen…

When my pre-order arrives, I’ll be putting a yellow brother label sticker (small font) with a numbered sequence for the Xenons, and A1, A2, … An for the Argon devices. Then I’ll take photos of them, crop them, and print them, so I can just pull the photos out of a folder while coding (since some devices will be built into cases or mounted into positions which would make scanning hard or a slow process).


I started writing this blog at a different spot. Oops.

So a student showed me an easy way to login to our school network, without the normal user and password.:grinning:

So I got an Argon working as the network gateway and am attaching Xenons to it. The setup for Xenons is a bit faster than for Argons, seems to be only a 1 part installation.

The Ethernet Featherwing is a bit faster than using the Mesh connection but not by much about 5 minutes to do the software upgrade with the Featherwing and perhaps 8 minutes with the Mesh connection. One real positive is I am doing this during class time (all with 1400 students on the internet instead of learning :roll_eyes: ) something I could never do with the Photon.

When setup properly the Xenons seem much more stable than my first attempts. 3 Xenons and 1 Argon Mesh seem to be working nicely.

Reset a Xenon and it took about 10 seconds to reconnect to the mesh.

Reset the Argon and the entire mesh dies. Took about 1 minute for the Argon to reconnect, remember I am on a very busy Wifi network. Unfortunately the Xenons are not smoothly reconnecting. Flashing green. unplug and plug in the Xenons, no improvement.

Unplug and plug in the Argon wait till it breaths cyan, then unplug and plug in the Xenons one at a time. Xenons reconnect very quickly.

That is interesting, I may have to redo that again.

This time I pulled the plug on the Argon. The other devices stayed breathing cyan. I am not sure if they are connected or simply don’t know that the Mesh gateway is dead. However this time everything rebooted very smoothly when I plugged the Argon back into power, as soon as I plugged in the Argon the Xenons detected that the network was down and reset on their own properly.

Lets reset the Argon again instead of pulling the plug. This is where it has some issues. The Argon resets fine, the Xenons know the Mesh has died and search for it flashing green but the Xenons do not reset even after they have been unplugged and plugged back in. The key to the whole issue is that the Argon must be physically unplugged and plugged back in not just reset before the Xenons will reboot.

Third try. I reset the Argon, it reboots but the Xenons dont reset to the mesh. I unplug the Argon and plug it back in. Now the Xenons reset fine without being touched.

Forth attempt as above except one Xenon has a hard time re-attaching to the mesh. Pull its plug and it reboots fine.

The fun continues.

So I have my 1 Argon and 3 Xenons working at school. I load my simple blink program on a Xenon. The targeted Xenon device flashes pink properly and all the Xenon devices reset properly, but the code does not work.

I think it might be my Photon code so I load Blink-an-LED from particle. Try another Xenon and the same thing. This time I try the Argon and not only does it not blink but same as the above post, the mesh devices do not reconnect until the Argon is unplugged and plugged in.

Also the Argon D7 never blinked. Any idea what is happening here…anyone…

I might connect an Argon without the Mesh and see if it works with the blink program

I just loaded up my trusty photon to check if the LED blink program actually worked and connected in seconds flashed and was blinking fine in about 9 seconds. So I guess I will try an Argon off-mesh and see if it works better.

Thanks @RWB, @cyclin_al and @jtmoderate876 for the replies, kind of feels like we are lone, unpaid, beta testers at the moment. Well actually we are a small group of unpaid beta testers.

Knowing the device works prompted me to look deeper. I tried an Argon off-Mesh and it still didn’t work but then looked at the firmware and noticed this


The default setup is not what was on my device. I think with the photon whenever that happened it would flash the new firmware, but I guess at the moment the Mesh devices don’t auto detect and update the firmware.

Anyway. Happy story my Argon works!

Next. Mesh.publish anyone got a simple program that allows each mesh device to brodcast some information that flashes D7 a distinct number of times. So as I watch my devices and add or subtract Xenons I can see if the Mesh knows they are there or gone.

I just saw today that rc.26 has gone. The old method to increase a version was to select the version and install an .ino. (Careful you couldn’t go back to an old version without a full factory reset, not sure if that has changed) If your photon was at the top of the list (default) then every time you installed an .ino the Photon would update if needed. This was a huge problem with bad Wifi, so I would often pick a version and have my class set every photon to that version, then if a new version came out I would test it, switch briefly to default update every photon and then switch to that version instead of default. Only because of bad wifi. The Argon seems to handle my school wifi better than the Photon so that might not be a problem now.

So Last night I tried to setup my 1 Argon and 3 Xenon network and I got the Argon working but the 3 Xenon’s just flashed green. This morning I tried again with the Argon which worked, but the xenons didn’t (just flashed green). I updated and installed a 4th Xenon and not really sure when but the old Xenons started working. Briefly I had all 4 Xenons breathing cyan.

About 5 minutes later all my Xenons are flashing cyan which I think means they have lost the Mesh, Argon stable. Will leave things for a while and see what happens.

Note: Not having much luck with adding multiple Xenons to one Argon with the app, after adding a Xenons it says do you want to add another. This has not worked well for me. If you have an issue it kicks you out of the add another so I have resigned myself to add each xenon individually.

P.S. I would be great if the app allowed multiple steps. On step to update a device, another step to assign Wifi and another step to Add Mesh devices to a mesh network. I am always starting from scratch, have entered my home Wifi password multiple times. Also since most laptops have Bluetooth it would be nice if there was a web or windows desktop app to do all this installing. I seem to remember some kind of web softapp for the photon.

People need to have a look at this page https://community.particle.io/u?period=all and click on the heading titles. To put things into perspective I started with the Spark Core about 4 years ago and only have 253 Likes. Check out these other forum users.

@ScruffR 8,900 Likes
@peekay123 6,000 Likes
@rickkas7 4,000 Likes (Actually employed by Particle)
@bko 3,700 Likes
@Moors7 3,300 Likes
@kennethlimcp 3,000 Likes
@BDub 2,900 Likes (Another one actually employed by Particle)

The list has 37 users before you get to my level. This community and some great hardware is what makes the Particle product so impressive. Just thought I would send a shout-out to all the helpers out there.

All 4 of my Xenons have crashed again, so I can’t test out any Mesh networking until Particle allows us to add Argons to a network like was mentioned in this post Help Understanding Mesh Network Pricing After Free Gateways Are Used Up?

On a positive note: The Parent Advisory Committee at my school (the PAC) just gave me money to make 8 RC and Wifi (Photon or Argon) Self driving and Wifi controlled cars. Teacher’s your PAC is a huge resource if you follow their rules. I can’t use the cars for teaching but can use them in a club!

I made a test version a few years ago with this failed kickstarter . Recently my students and I solved the time lag issue with a websocket. We got the Particle Cloud time lag of about 1200 ms down to 7 ms using a websocket the video is here github for websocket here

Just arrived 1 of the 8 RC Cars . This is an RC Pro Shredder a fair bit cheaper than Traxxas Cars.


I have done a few other posts

and also

So I think that I have done all I can here until Particle fixes the Xenon connection issues and allows Developers to add multiple Argons to a mesh (So important to give a Mesh some redundancy, presently if your only Argon dies your entire mesh becomes useless). (Can someone tweet @rocksetta if these changes happen any time soon.)

Might as well go back to Machine Learning, Neural Networks and Artificial Intelligence since it is less frustrating. Anyone else interested in combining AI with Particle products might want to check out my Deep Learning site at https://www.rocksetta.com/tensorflowjs/

An exampe of some AI that I am working on is here, for which a webcam can detect human faces https://hpssjellis.github.io/face-api.js-for-beginners/


I am not really very good at giving up. :smirk:

I tried the Ethernet Featherwing at home and realized that it was not being used at all for installing the OS update that was all from my phone using Wfif and Bluetooth. However the Featherwing worked great at home. The Xenon connected to it and was very stable.

However at home the mesh stuff was not very good. Worked a bit better but did not last more than about 10 seconds of connectivity.

At school a different story. The Ehternet Featherwing does not work. The internet connectivity is a bit more complex, However, VERY STRANGE: Everything works fine at school!

I can connect the Argon to Wifi, I can connect several Xenons to the Argon. If I disconnect the Argon all the Xenons stay connected (AND COMMUNICATE WITH EACH OTHER WITHOUT THE ARGON!). I can reset a Xenon and it will reconnect without shutting down the other devices.

I can go mobile with the Xenons, each Xenon about 25 meters from the other for a total distance down the halls of about 75 meters using 3 Xenons.

Looking good from school, not so good from home.

Really good Mesh Hello World code at