Arm Mbed OS support forum

nRF51822-based device in Central mode can't discover characteristics


I’ve already spent a lot of time digging into the issue but no luck, so I have to ask for help.
I have an nRF51822-based device (sort of this one, it has 256/16 memory configuration, IC rev. 2) and I try to import and launch a common Central Test program (with or w/o libraries updated) on it. It flashes well, is able to connect to BLE peripheral devices, parse their advert data, etc., but when it comes to launchServiceDiscovery the sad story begins - only service discovery callbacks get called, but I’ve never seen any characteristics discovered. So, the question is - what can be done? Do I have to specify/change connection or scanning params (or else) to fix it?

That link to a BLE demo is from OS2 around 2017 and no longer supported so unlikely to get much further, can you try updating to OS6 and see how you get on, BLE has moved on quite a bit.

According to this link only SoftDevice s120 and s130 can be used for Central roles:

Now I’m still not sure how the Mbed BLE libraries work with these Nordic BLE devices but looking at the TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_15_0 folder within the Mbed OS 6 folder, I can only see S112, S132 and S140 available.

As I can see, today nRF51822 itself may be considered outdated, but I have found no alternatives of that price. You are right about Mbed 2 used in the program, but as of my available device (256/16KB of memory, IC rev. 2) there is no option to move to Mbed OS 5+. All the similar known platforms (like Nordic nRF51822 or RedBearLab nRF51822) are locked to Mbed 2. Please, correct me if I’m wrong.

If I can read it right, SDK 6.1.0 is the last one I can count on.( Though I have a suspicious feeling that the guys from Nordic stopped updating this table at some moment.

As I can see, today nRF51822 itself may be considered outdated, but I have found no alternatives of that price.

Try looking for nRF52832 modules. Aliexpress has some dev boards for $3. e.g. YJ-16002 BLE module. Note that I’ve not purchased this dev board, so no idea what it’s like. I have used other nRF52832 modules with Mbed 6.x BLE library and it works.

1 Like

Thanks, I’ll give it a try if there will be no solution for nRF51 and my current problem. And what board/platform should be selected as a target in Mbed to build for nRF52?

Yes target is nRF52_DK. If you hover the mouse pointer over target name you should get further details. Always best to check that device name reads nRF52832_xxAA,

1 Like