nRf52840 Android Connection Issue

We are facing in BLE connection issue in Android phone.

we are planning to use
1. Android phone with 'nRF Connect' for mobile as BLE central.
2. Long range demo applictaion (github.com/.../nRF52-ble-long-range-demo)(DK52840) act as peripheral.
3. Configured to coded PHY and 1M PHY using button1 on DK.
4. Tx Power to 8dbm & 0dbm in DK52840 using button2 on DK
5. Getting BLE advertisement in Android 15 & Android 16, iPhone 18.7.
6. Facing BLE connection issue in Android 15, some devices in Android 16, iPhone 18.7.

Parents
  • Hi,

    Can you elaborate on the issue? How does it manifest? Do you have logs and sniffer traces that can shed some light on what is going on?

  • We are able to connect to all mobiles to nRF52840 acts peripheral with 'ble_app_blinky' which comes with nRF5_SDK_15.0.0_a53641a in examples folder.

    Long range demo example (downloaded from github.com/.../nRF52-ble-long-range-demo) with nRF52840 EVK: We are not able to connect most of mobiles like iPhone v26.2.1, Android 15(POCO, IQOO), Android 16(realme) and tried with by toggling between Coded PHY, 1M PHY using button1 and between 0dbm, 8dbm using button2.

    'Received an unimplemented BLE event' on UART when facing connection issue from above listed phones. We are getting advertisements on all Android15, Android 16, iPhone phones with long range demo also.
    Log and phone image are attached for your reference.

    we are getting 100meters line-of-sight with ble_app_blinky and 8dbm tx power, 1M PHY.

    we are getting 350meters line-of-sight with long range demo and 8dbm tx power, Coded PHY.

    We are expecting BLE connectivity with recently released phones along with long range.

  • With long range demo example with 1M PHY setting and Coded PHY, facing connection issue in most of the Android 15, Android 16, iPhone (iOS) phones.

    Received an unimplemented BLE event: the value of p_ble_evt->header.evt_id is 0x0023

    Even after changing the code nRF5 SDK 17.1.0 the result is same, it is not connecting to android 15 mobiles with in 1M PHY.

  • Hi,

    I see. 0x0023 is BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST:

      BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 19,   /**< Data Length Update Request.                     \n Reply with @ref sd_ble_gap_data_length_update. \n See @ref ble_gap_evt_data_length_update_request_t. */
    (As BLE_GAP_EVT_BASE is 0x10).

    That should be handled. I would recommend not using the demo you have found as that is outdated, and instead using another sample that is more current. This post shows how you can adapt a sample from SDK 17 to connect on coded PHY. This same will work on SDK 17.1.0. I would recommend nRF Connect SDK, though.

    If you still have problems, pleas share logs from nRF side and phone side, as well as a sniffer trace showing the attempted connection, so that we can see what the problem is. (If you have an additional nRF52 DK or dongle, you can use that with nRF Sniffer for BLE)

  • I copied ble_app_blinky as ble_app_blinky_coded_phy from examples\ble_peripheral folder and followed the guidelines given in URL with nRF5_SDK_17.1.0_ddde560.

    1. Displaying 'N/A' as Name in advertisement and MAC address is updating in the 'nRF Connect App' for Android.
    2. We are able to connect Samsung A26 with Andoird 16 and Realme P4 pro with Android 16.
    3. Facing connection issue in Realme P3 pro with Android 16.
    4. Not visible in Android 15.
    5. Verified range with obstacles ~9 meters in floor.

  • Are you advertising on Coded PHY in this case? Can you make sniffer trace showing what is happening on air both on the non working cases and with a working device as reference? (without a sniffer trace it is not easy to say much). Also, can you share the exact project that you are testing with so that I can see what you are using while referencing the sniffer trace?

  • we have taken it up locally , we can close this ticket now 

Reply Children
No Data
Related