Multipeer Connectivity and Core Bluetooth Tx power level

Hi,

My app uses MultiPeerConnectivity framework to do peer-to-peer communications between multiple iOS devices. When we first released our app back in 2015, we found range of connections to be at least 50 meters. Back then we were using iOS 8.x or 9.x on devices like iPhone 4s.

On newer devices with newer iOS (14, 15), we are noticing about half the range, which is inadequate for our application.

I don't believe the framework allows control of transmit power level.

We could change our implementation to use Core Bluetooth instead where one devices is a central and the other a peripheral. But I don't see any ability to set the tx power level in CBPeripheralManager either.

Any options to develop peer-to-peer communications for iOS devices where I the app can control tx power level to increase for maximum range?

Many thanks,

Tim

Do you know that the transport being used is BLE (opposed to P2P WiFi)?

Is your range still poor if you disable WiFi (trying to force Bluetooth transport as an experiment)?

Is the observed performance different if there is a paired Apple Watch or not?

This seems like a good item to create as a feedback to Apple if the performance regressed so significantly. Regarding your question, there isn't any API I want to say that the tx power is 0 db when advertising / acting as a peripheral.

Thanks for your comment, edorphy. One thing I've noticed with MC is if you turn wifi off on either device, the devices will not connect. So in all circumstances, wifi is turned on on both devices. In most circumstances, the two devices are not connected to any available wifi networks, which, I presume, means Bluetooth is the underlying protocol used for connection and communication. Our product is a sports timing system that is normally used with a single iOS device connected to one, two or three Bluetooth peripherals. We have developed the BT peripheral and have its tx power level set to 4 db and we have good range between the iOS device and BT peripherals. Looking for any way to maximize range of MC between two iOS devices. In our testing, neither iOS device is paired with an Apple Watch. Could I develop a solution with Bonjour and/or other lower level network services and, in turn, have some control over tx power level and, therefore, range? Many thanks.

Multipeer Connectivity and Core Bluetooth Tx power level
 
 
Q