I started seeing if I could get these Nordic eval boards to talk to my BLE phone. Not yet is the answer.
The funny thing is that I’m having no trouble at all getting those little StickNFind things to show up on the phone. I can even tell the phone to make them beep, or flash.
Now to be fair I don’t know what I’m actually doing. I have downloaded some Nordic example coad, compiled it without error, and tried to run it. There are actually seven different example BLE programs that I can compile and load, but none of them produces a thing. Even the “beacon” code which is supposed to be about the same as a stickNfind doesn’t work.
So I reckon the next step is to see if I can get some radio sniffer program to report in.
So there seems to be a rather good packet sniffer program called Wireshark. It seems to pick up packets from the FitBit on my wrist, and and and all of the StickNFinds. But I’m not getting any data out of the Nordic board. I think it is a fair guess that the software is not emitting anything.
I’ve tried both boards and neither produces any radio traffic that the sniffer can see. This has to be something fundamental.
Started to try and debug the example code. Two weird things: 1) the code seems very reluctant to load – the previous program resumes; I can’t get the debugger to work. This has to be something even more fundamental. Retiring to read a bunch of stuff.
It is fundamental indeed
Dah, There it is on page 2/35: “program the S110 Softdevice onto the chip using the….”. The softdevice (the standard stuff that implements the BLE stack) has to be loaded spearately from my program. There was I expecting it to be bundled with my program code, but of course you don’t want to have to load it every time, do you? It resides in the top part of memory.
To program the softdevice into the 51822 you have to first install their special program called nRFgo Studio. So… yet another download, and installation.
Then you have to get permission to download the Softdevice itself. This requires credentials. There are multiple softdevices. S110 seems to be a stack for the “Peripheral” role, while s120 is the stack for the “central” role. You can’t both initiate connections, and accept them from others!
So I install the S110 softdevice and notice that it consumes 88K, leaving only 168K for all the application code, and in our case, for the code we need to drive the DW stack.
|nRFgo Studio: Downloading the S110 softdevice
Ah… that makes quite a difference. I follow instructions and download the heart rate monitor simulator program. It woiks. PROGRESS!
|Nordic Heart Rate Monitor Simulator
After playing around with this system for a while I have to say it doesn’t seem very robust!