This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE legacy advertising with SDK V16 on nRF52820?

I have a nRF528420 [on Skylab module SKB501] and have wired up a custom connection to USB.  I'm able to program NRF52 with both softdevice S140 and BLE Peripheral ble_app_uart without any problem (I built SDK V16 version using Eclipse (2019-12 build) and installed with PE Micro ML Universal, with latest GCC ARM package on Windows 10).  I'm able to connect to NRF52 from Android NRF UART app on Samsung SM-G890A (Android V6.0.1) phone and send data back and forth from Windows PC [running Tera Term].

The only changes I made are the Device Name (changed from "Nordic_UART" to "Nordic_2UART") and changed the advertising timeout to be zero.

However, I'm not able to see it from Nexus 9 [Android 7.1.1] tablet.  Both NRF Connect and NRF UART Android Apps fail to scan the device. 

The unmodified SKB501 has a firmware that advertises as nRF52 and it shows up on both Samsung phone and Nexus 9.

I have searched for advertising and NRF52 and older BLE and found a page with the words " ble_adv_legacy_enabled must be set to true for your advertisments to communicate successfully with older Bluetooth LE devices that do not support extended advertising" and since it was an SDK15 link I thought I would search for SDK16 and https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_sdk%2Fstruct%2Fsdk_nrf5_latest.html&cp=7_1 has the same info.  However, when I searched through the source ${SDK16}/components/ble/ble_advertising/ble_advertising.h, no such structure name can be found.  So, how do I make legacy BLE support work?  Or is there something else going on with Nexus 9?

Thanks for any help!

Related