Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nRF Connect @ Android: Poor distance even with coded phy s8 (long range) #155

Closed
SokoFromNZ opened this issue Aug 27, 2021 · 3 comments
Closed

Comments

@SokoFromNZ
Copy link

Hi guys,

I'm researching the maximum direct connection distance between two Android phones for transfering small amount of data - which lead me to BLE Coded PHY S8 as a promising option. As a first test I used your nRF Connect Android app (v4.24.3) to do some field testing.

But I cannot get any longer distance connection via coded phy to work. After 20 meters I loose the connection. So maybe (hopefully) I'm doing something wrong or coded phy is far away from the 1000m I've read about...

I hope this is the right place to ask. If not please let me know.

Anyhow... here are the details of my test:

Phone 1 (server) is a Nokia 2.3 (Android 11, update 5.7.2021):
Screenshot_20210827-171107

I set up a GANTT server (get current time for testing purposes):
Screenshot_20210827-170503

And started an advertiser:
Screenshot_20210827-170624

Phone 2 (client) is a OnePlus 7 Pro (Android 11 Oxygen OS 11.0.2.1.GM21BA):
Screenshot_20210827-171042

Where I've scanned and connected to the Nokia 2.3, and read the PHY which is set to LE Coded:
Screenshot_20210827-170742

But once I walk away with the client phone from the server the read/refresh of time fails and the connection gets lost after 20m or so.

The server phone is placed inside at the window sill and I'm walking away outside on the lawn with no obstacles in between.

Things I've tried:

  • Changing the Tx Power Level and the interval of the Advertiser on the server phone.
  • Setting S8 "manually" on both phones after the connection was established via:
    Screenshot_20210827-173100

I hope I did something wrong in the setup or settings of the app as I don't see any range improvement compared to "standard" Bluetooth connection.

Thanks
Soko

@philips77
Copy link
Member

Hi,
It all depends on the phone capabilities. Actually, not many of them can scan a device advertising on coded phy as primary channel, although they can advertise as such if they support that phy. One Plus are actually rate exceptions, at least were some time ago.
What you may try is to click the dots on the CONNECT button and select Connect with preferred phy, but i don't think it will help, you already seen to have coded phy...
If you'd check e.g. nRF52840 DK from Nordic, and connect 2 of them, you'll get huge distance. But this phy is still not popular for phones... Unfortunately.

@SokoFromNZ
Copy link
Author

SokoFromNZ commented Aug 28, 2021

Hi Phil and thanks for your time.

I've tried already "Select with preffered PHY"... same result. Let me see if I read correctly between your lines:

  • There is no issue in my approach using/testing with nRF Connect. It should work theoretically.
  • The OnePlus 7 Pro should be able to do it, the Nokia is the issue.
  • Swapping sides (OnePlus as server and Nokia as client) won't help.
  • Bonding both phones before the test won't help.
  • Even that I see coded phy in the log it does not mean that Android (or the phone itself) really uses it on the primary channel.
  • With my OnePlus and a nRF52840 DK (or a second OnePlus) I should get huge distances with the nRF Connect app.

I have already two Arduino Nano 33 BLE Sense (https://store.arduino.cc/products/arduino-nano-33-ble-sense-with-headers) at home which apparently have your chip on it :)
So a long distances between my OnePlus and the Nano (or the two Nanos) should be possible, right? But as far as my research went down that road I've figured the Arduino Libraries don't support CODED PHY S8 :(

Thanks again for your thoughts.
Soko

PS: I've just read (https://devzone.nordicsemi.com/f/nordic-q-a/33060/is-there-any-smartphone-with-supporting-of-bluetooth-5-long-range-feature) that Huawei P30 Pro should support it. My wife has one. So maybe I swap the Nokia 2.3 for the P30 Pro in my test.

PPS: What confuses me though: The device information shows support for CODED PHY on my Nokia but it isn't really supported. Why is that? Maybe the list in my PS also just uses your device information as a data source... which apparently doesn't mean it works in real life...

@philips77
Copy link
Member

PPS: What confuses me though: The device information shows support for CODED PHY on my Nokia but it isn't really supported. Why is that? Maybe the list in my PS also just uses your device information as a data source... which apparently doesn't mean it works in real life...

I think those devices can advertise with PHY Coded, or scan but only with secondary PHY as Coded. The primary must be LE 1M. So it's like a partial support. Unfortunately, there's no way to get the support type from the API. It may be e.g. controller dependent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants