Go Down

Topic: Some Trouble With BLEPeripheral.discoverAttributes() in 2.0.2 (Read 225 times) previous topic - next topic


Have had variable results trying to connect to different BLE devices around the shop. Some are commercial, some are devices of our own creation, so familiar with firmware etc. on the devices.

Using the peripheralExplorer demo - 1 of 3 scenarios can occur for me:

1) Everything works, and services, characteristics, etc. are enumerated as expected. (Yay!)

2) Connection to device works fine, but no services are discovered, even on devices that definitely have services.

3) Connection to device works fine, but call to BLEPeripheral.discoverAttributes() fails, and connection ends early.

All of the devices I am using appear to be valid, and you can connect and enumerate via other utilities such as Nordic RF App, LightBlue, etc.

Is there anything I am missing here - connection intervals, etc. maybe not supported by the Curie?



Hi @tshumay,

I think this is most likely memory related. How many services and characteristics does the peripheral offer?

The limit on the 101 is currently about 8 characteristics now, and will be increased in a later release. The following issue on Github is open to track something similar: https://github.com/01org/corelibs-arduino101/issues/479


Thanks @sandeepmistry,

Sorry for the delayed response here, got sidetracked on something else.

I am connecting to an Adafruit Bluefruit Module - by default it has 3 services: Device Info, UART, and one unknown. 5 characteristics in Device Info, 2 in UART, and 3 in the unknown service.

Definitely sounds like it could be memory related if 8 characteristics are the limit. I will see if I can pare it down.

Go Up