Mesh range / external antenna?


If/when you do remove the antenna, I suggest using something like needlenose pliers so that the antenna connector can be lifted perfectly vertically from the board’s. Just don’t squeeze too hard ;^) . I might be suggesting overkill here I guess. I don’t like those connectors much but I guess that’s what has be put up with to make them so small and electrically ‘proper’ for RF.


I did actually get it moved with just a (moderately) gentle lift on metal tail where the wire goes into the circular main part of the u.FL connector. But as I mentioned before, moving the antenna from the WiFI antenna out to BL did me no good, because then my Argon would not connect to my WiFi.

I did, however, get my other antenna connected to my Xenon, so I’m about to do another quick range test.


Here is a Very unscientific range. Argon Gateway with single Xenon. On a 3 mile walk in a hilly subdivision. Coming back towards the house, I activated D6 to High to a relay. I was approximately 1200ft and over a hill. I crested the hill, D6 activated, 400 steps from the house. Going down hill, at 2.5ft per step, 800 to 900ft range!
The Mesh Network is on the far side of the house.


Is the issue with the number of devices? So far I have 1 Argon as a gateway and 1 Xenon. I’m running the Marco Polo test. I started at 10 feet direct line of sight and had 100% reliability. At 25 feet direct line of sight, it kept the 100% reliability. At 40 feet with 1 residential interior wall in between, it was unable to connect at all. The xenon didn’t get past flashing green and the Marco Polo test dropped to 0.

There doesn’t seem to be a stability issue with the Argon, at least with just one Xenon. But the range seems too short to really be able to do much, I’m going to need extra xenons doing nothing but acting as bridges if I can’t get extra antennae or they don’t help.

I have a few more Xenons I can add and see if the Mesh network remains stable.

Edit: Update, after about 20 minutes, the Argon seems to have messed up. It is still breathing cyain, but it is no longer connected to the cloud (unreachable according to a console ping, as is the attached Xenon) and it is no longer lighting D7 to indicate it’s running the Marco part of the code. After 15 minutes it has not become responsive again. Attempting to reflash the code was also unsuccessful. I had to hard cycle the power to get it running again. A hard crash after 20 minutes.


The issue now is that the firmware is not stable.

We just have to wait for the new firmware to be released in a few days I hear to see how much it helps out with fixing the multiple issues everybody is experiencing.


My kit arrived yesterday. I am impressed you get that sort of range - mine are dropping connection even though they are 5m apart line-of-sight. Any brick walls or glass seems to kill it. Waiting for the next release to see if these issues are solved.


While I think I know the answer from reading between the lines…I’ve not seen a direct answer to the question of using an external antenna on mesh (Xenon). So…: (1) is use of an external antenna currently enabled on mesh; and (2) if so, does anything need to be done other than plugging in the external antenna?




The docs state…

At the time of writing (Device OS 0.8.0-rc.25), mesh antenna selection is not yet supported. Only the internal mesh antenna can be used at this time.


Thanks. Missed that in the docs…dang…not like it is in the first line or anything, too…


I’m getting
90% reliability at 150ft line of site, no obstacles (this is about the max usable and falls off fast after that)
99.9% (not actually measured 99.9 but I don’t see any loss) at 140 ft or less
99.9% (same) 50 ft through 1 brick wall.

So for some scenarios the mesh is plenty and others the above limits come into play


How many nodes are you testing with on the mesh network?


4 right now. 1 argon gateway and 3 xenon. (argon connected to an old, interposing cheap router because of the argon-to-xenon router allergy that causes the xenons connected to an argon to fast flash green).


There will eventually be a setting to set and save the selected mesh antenna (internal vs. external). However, if you want to play around with it now, you can just copy and paste this function and call it to select the external (u.FL connector) mesh antenna. The setting is not saved. The default is internal.

void selectExternalMeshAntenna() {

	digitalWrite(ANTSW1, 1);
	digitalWrite(ANTSW2, 0);
	digitalWrite(ANTSW1, 0);
	digitalWrite(ANTSW1, 0);
	digitalWrite(ANTSW2, 1);

Refund for large pile of Mesh devices
High School Robotics Course using the Mesh Devices Blog
Mesh Hello World

Awesome, thanks @rickkas7! I will definitely give this a try this evening.


Happy to report much improved range with external antennas. Using two xenons running the marco & polo code, there’s no place in my house or on my property where I get dropped messages while standing still. while i was moving I could occasionally lose one, but I couldn’t reproduce it while standing still. I had one xenon in a window on one side of the house, and even when I was outdoors on the opposite side of the house, I was still getting responses in 10s or 20s of milliseconds.


That’s great to hear, though I won’t deny that I’m highly disappointed with the range of the mesh devices with the built-in antenna. Is this something that can be improved with future firmware updates or is this a hardware level issue?


Possibly, with all the stability issues in RC.25, I think the out-of-the-box range can only improve. I just bought some external antennas and I’ll be testing soon. But I’m still ready for the RC.26 firmware to improve things.


Sweet, thank you for posting this result.
Could you please state what antennas you did the test with ?


I used the ones I linked above. I’ve had the marco polo test running for about a week now and sometimes still do miss a response. Once the whole mesh stopped responding and i had to restart the gateway. I’m not really keen on investigating too much more till 0.8.0-rc26 comes out, since folks here are saying that it improves mesh stability significantly.


Hey folks! Wanted to jump into this thread to let folks know that RC.26 has been released with a couple of improvements that should improve the effective range between 3rd Gen devices.

  • Increased the default nRF52840 transmit power by 8dBm
  • Resolved some OpenThread stability issues which limit effective range of a device connected via a gateway device to the Particle Cloud

Instructions for upgrading are available here: