• Hi, it's been a while I didn't use the watch for my project, and today I experienced a lot of troubles regarding Ble. I set my peripheral in pairing no bonding mode (I first tried in pairing/bonding but no password).
    My phone has succeded in connecting all the time, but not the bangle. I should say the success of the pairing is around 40%. This success rate is not bothering to conduct the tests I want.
    For the rest, i am facing a "Not connected" error (caught after get primaryService method), or a Ble error 0x11 (Busy ).

    Unfortunately, even during the data exchange of values, I faced weird behavior.
    The communication stopped without having the 'gattserverdisconnected' callback triggered.
    Even the Bluetooth communication used for debug to my computer stopped !
    The peripheral, the computer and the bangle always stay close (never farer than 3m).

    I started looking at my RSSI values for the different devices (values for devices 0 to 1m away):
    Phone detecting my peripheral (-50 to -75 using nrf connect ).
    Bangle detecting my peripheral (-85 to -95 using the value from BleScanner app ).
    Phone detecting bangle (-70 to -100 using nrf connect).

    I also used the setRSSIHandler to log the RSSI values of the signal during connection, It disconnect when values are around -85 and above (I can see the rate of the logs decreasing with the RSSI value).

    So the problem for my disconnection seems to be that the signal strengh of the Bangle is too low.
    Is there any way I can improve the signal strengh ? My issue is that the peripheral is behind the user (on his back), the body seems to affect the signal too strongly.

    You can find attached my function I use to pair, but we already exchange about it, I don't think I am doing wrong.

    Sincerely

    Edit :
    I've been able to modify the peripheral strengh of the signal through software (nothing very crazy though) using the sd_ble_gap_tx_power_set function of the nrf SDK library. I also did the same with the bangle library.
    The change on the bangle did not have visible effect. Maybe the disconnection issue is related to the min and max intervals set at the beginning of the connection ?

  • So the problem for my disconnection seems to be that the signal strengh of the Bangle is too low.
    Is there any way I can improve the signal strengh ? My issue is that the peripheral is behind the user (on his back), the body seems to affect the signal too strongly.

    In real world situation this may indeed be a problem even if in more normal conditions the device sensitivity is quite good (which the bangle sadly isn't that much). maybe @enaon could comment as he uses P8, DS-D6 and other watches/fitness trackers with unicycles and connection drops outside when moving even if it works otherwise fine in house when not moving. To make it short - he finetuned antenna length as the default length was not optimal at all. looks like they cut the wire at random length and even in different pieces of same model (P8) the size of the wire was different by quite a lot and changing it did significant difference in reliability of the connection. Not sure how Bangle antenna looks but maybe similar tuning can be done.

About

Avatar for fanoush @fanoush started