There is NRF.setTxPower(), default is 0 so only value 4 may improve it. With some devices people reported doubling the range with value 4.
Maybe you also have noisy environment. Typically usb 3.0 devices produce lot of noise in 2.4GHz range. I had to wrap ssd in usb 3.0 adapter connected to my raspberrry into lot of aluminium foil otherwise it kills BLE usage for me and it worked like you describe.
The Bangle's Bluetooth range isn't that great so 5m max for connections is about what I'd expect. However I'm very surprised it keeps dropping out - usually there are a certain amount of retries before a connection fails, so even if it's an unreliable connection it usually stays up.
Unfortunately what @fanoush suggests with NRF.setTxPower is already done internally, so it's already at max power. I guess there may be a way to increase the amount of dropped packets it'll tolerate before trying to close the connection.
But it is possible it's something to do with high radio traffic/noise in your area as @fanoush points out.
Noice is also produced by usb chargerd without a load, because the are all switched.
so better unplug them if not used ;-)
Comparing with P8 with Fanoush's Espruino firmware, the Bluetooth signal of Bangle.js is very very weak (About a few inches). But I think it is not the only problem. Its Bluetooth is not stable. When Espruino Web IDE tries to connect to it, It shows different signal strengths while the Bangle.JS is beside the computer and is not moving.
It connects to P8 easily and downloads apps to it and shows the list of existing apps in P8 and can delete them from P8. But After connection to Bangle.JS at the bottom of the page "Getting app list..." remains forever.
It's best to answer you in the other thread you started: http://forum.espruino.com/conversations/347485/#comment15377959
Bangle is amazing but Unfortunately Bangle Bluetooth signal is weak and could be an issue.
I've being testing his range and I have seen that when BLE is connected the BLE range is far better than if it needs to establish a new connection at the same place and same distance.
If you lose BLE signal it's very difficult to reconnect again, unless to put the Bangle near the Bluetooth antenna. But if is connected your can communicate with the pc.
If there is any chance to make better the reconnect and the loss of connection then we can increase the range that way.
Gordon said: "I guess there may be a way to increase the amount of dropped packets it'll tolerate before trying to close the connection." <--- Maybe its a good idea, but how can we do this?
Any suggestions to control the ble connection, communication quality or other?
If it's significantly harder to connect than to keep connection, it may be because of a lot of Radio interference on the standard Bluetooth LE advertising bands - BLE only uses 3 bands for advertising but once a connection is started it'll start to use a bunch more.
I did have a quick look before about increasing the error tolerance for connections and I couldn't see an easy way I'm afraid.
One thing that might really help you with starting a connection is to send advertisements faster though. If you run this on boot:
It'll send advertising packets every 50ms rather than 375 which is the default. It should make connections much easier and faster.
Yes Gordon, it reconnects faster and helps a little bit. Thanks
I discover today that Bluetooth range is different between Bangles.
I tested my Bangles with same peace of software and same firmware and side by side one bangle detect and connect via bluetooth and the other one not. Very strange.....
Maybe something related to the hardware or battery level of each Bangle or something else. I will continue made my tests. If I discover something new I post here. Until then if someone have something to say in order to help to understand/fix this, please be my guest.
Interesting. I will test it with my second one.
BTW: In my case I can confirm the 5m.
Last week I received my Bangle.js. Unfortunately, I hat no time to write own apps, but I played with the apps in the store.
Everything is fine, but: the bluetooth signal is very weak. I use gadgetbridge for receiving notifications. When the distance between the phone and the bangle is more then about 1 meter, the connection is lost every few minutes.
I tested with two phones: Sony XA2 and Fairphone 2. At a distance of 2 meters the connection is lost more then 5 times in 10 minutes. After a distance of about 5 meters, no connection is possible.
Is there anything I can do to improve the signal? What distances can reach other users?