Getting maximum range out of XIAO nrf52840 with bluefruit.h

Hey @msfujino

Thank you! That would be plenty enough for us.

Could you please provide all details? Which board FW, which version, which exact board (Sense or not?), which code etc?

Thanks so much!!

Here is the code I used.
(https://forum.seeedstudio.com/uploads/short-url/egpPEy4TjlhsrXK49dozhsZz3KL.zip 1)

Peripheral : XIAO BLE Sense + battery
Central : XIAO BLE on Expansion Board + battery
BSP : Seeed nRF52 Borads 1.1.1
Board select : Seeed nRF52 Borads / Seeed XIAO nRF52840 (or Sense)

1 Like

Thank you, again!
I do not understand how you get that “far”. I mean, 25m is nowhere near what @Seeed_Seraphina got in her tests, but it’s way better then what I get.
I do not use the “Sense” version, but that cannot really be the difference I believe?

Peripheral were placed on the metal railing of the second floor window. Central was mounted on XIAO Expansion Board so that RSSI could be observed on the display, and moved a little further away to measure the distance at which the connection was broken. The metal rail might have the effect of reinforcing the antenna. Tomorrow I will experiment with non-Sense XIAO.

1 Like

Hi there, SO not scientific but Basically I put it on a tree and walked 80-104’ measured with tape measure, about what msfujino is getting approx. Here’s a Video.

I will say this It doesn’t ALWAYS reconnect Every time? I conducted the walk in the video several times.
I would have NO issue’s with anything at 80-85’.
HTH
GL :slight_smile: PJ

1 Like

I re-tested in a park with no metal around, and there was a huge difference between Sense and non-Sense. There was a difference in the distance needed to connect and the distance to disconnect.
The non-sense has four short wires that are connected and may be affected.

              connect         disconnect
Sense           10m             25m
non-Sense       5m              6m
1 Like

Thanks to both of you!! Awesome efforts from everyone.

What exactly do you mean by that? That you soldered some wires to its ports?
It could make some sense that some of us are having no troubles at all and others have troubles with range, if it’s the non-Sense that makes those problems?

@Seeed_Seraphina would you please recheck the difference between the Sense and non-Sense version?
I could imagine your engineers did not re-match the antenna with its components for the non-Sense version, so it‘s not perfectly matched…

That you soldered some wires to its ports?

An I2C sensor is connected to the board via a wire.
I’m curious about this issue and will re-test with a board that has nothing wired.

1 Like

Thank you @msfujino , I am very much looking forward to your results. It’s the hottest idea where the problem might be coming from at the moment!

Hi raffiniert,
I rewired Sense and non Sense to the same state and re-tested.
I changed some BLE parameters to increase the frequency of communication.
RSSI_TEST.zip (4.8 KB)
The measurement was not the distance at which the connection could be maintained (it is not reproducible and unstable), but the distance at which the connection could be initiated. I connected the battery with a long wire as shown in the picture, but the measurements remained the same.

nRF52840    short waire    long wire
Sense            17m           18m
non Sense        28m           28m

The results differed significantly from the previous results, with non Sense performing better.

EDIT
I was researching and found an article that says that HPY=1 extends the distance. comment out lines 127 and 128 of the Peripheral sketch and then try this.
127 //connection->requestPHY();
128 //delay(1000);

1 Like

Haha, just after I ordered 10 new Sense-boards :smiley:
Anyway, they should work good enough when I see your results.
Testing now and will get back asap.

Really thankful for your work @msfujino !

Ok, after some testing, everything stayed the same or got worse. I commented out (removed) the lines 127 and 128, and I also had to remove the 2nd delay (basically only leaving “connection->requestConnectionParameter(6);” as a change), because otherwise my 2 peripherals would not connect with my one central (you remember @msfujino ? :slight_smile: ), but the disconnects happen around the same distance as before, no matter what I try.

but the disconnects happen around the same distance as before, no matter what I try.

Do you mean 6-8m? Is the 32mm antenna soldered on?
I just remembered that I was wearing my iPhone and Apple watch when I experimented today. It may be interfering with the XIAO connection.

Yes, the antenna is soldered on, and on all 3 XIAOs. I use two non-sense (nonsense? ;-)) XIAOs as peripherals and one sense as central currently.

Do you mean it could make things worse?
I have some non-sense XIAOs laying around, will test later with bare boards.

Latest results are 6-8m?

Antenna length and mounting methods are very tricky, so I think you should check if the current situation is the best.
In my experiment, I did not install any particular antenna.
If it doesn’t rain tomorrow, I will re-measure without wearing PHONE and WATCH.

Indoors, yes. I will need to test outdoors once it stops raining in Switzerland :slight_smile:

Yeah maybe I should just remove the additional antenna, will test. 12+ meters are all I would need.

Hello,
We will conduct tests on the Bluetooth communication distance between two XIAO devices in the future. Please note that we rely on the onboard Bluetooth antenna and do not use external antennas. Thank you for your understanding and patience. We will provide feedback on the results in this thread as soon as possible.

1 Like

I re-measured without wearing anything that emits radio waves. There was no difference between Sense and non Sense.

          connect    disconnect
Sense       18m        30m
non Sense   18m        25m

The distance of connection is reproducible, but the distance of disconnection is unstable and not very reproducible. My measurements are one Peripheral and one Central.

What I find most concerning about this: My project involves an SPI-sensor (Sensirion SHT4x) on both peripherals. We printed a flex PCB for it to connect it to the XIAO with minimal thermal mass. If connecting a sensor to SPI makes such a huge difference in range on the XIAO, that’s really not good for our project :-o

Hi there,
I did a JLPCB for a couple and found the keep out area to be Directly along the back of the Xiao where my finger is in PIC , the first try I had signal propagation problems when i laid out components where the c3 is. after putting big (rev 3)ground plan around the bottom slightly around the sides It works easy 8 Meters indoors.

this one worked good until I connected anything to the PINS…no expansion there.


this one worked the best… note nothing but c3
small_PCB

most dev boards have the fin antenna over the edge also.
my 02.
HTH
GL :slight_smile: PJ