A good reference to Softdevices and peripherals?

May be I just did not fined a good reference manual for the software, but it really frustrating me to try and understand from examples.

Is there some guide which take a developer step by step explaining the Softdevice functions? I don't mean each function behavior and parameters, but the way to use these functions, for example what is the bear minimum for compiling a beacon application? what are the needed functions and so on. I know that there are sample code, but as I said, I have no idea which function are really needed in MY application, which is not an evaluation board.

Same goes for PIP and other staff, for example, I want an input pin event to stop a timer, how to do it?, just browsing sample code takes a whole lot of time, and I did not find the reference manual clear enough.

So maybe it is just me, but I really miss a good tutorial document.

Is there one that I did not find?


  • Hello Johanan,

    For the softdevice, there is not a piece of documentation that will explain every function and what it does, other than in the specification on infocenter.

    The softdevice contains a lot (!) of functions, many which are only used in corner cases, so I would not worry about learning all of them. Just look up in infocenter if you are wondering what a specific function does.

    However, we do have a tutorial page here on DevZone. Especially if you are new to BLE, the 4 tutorials listed under "Bluetooth Low Energy" are particularly useful. The order of the tutorials are not very intuitive since we ported to the new DevZone a couple of weeks ago. You should go through them in the following order:

    1: Bluetooth low energy Advertising, a beginners tutorial

    2: Bluetooth low energy Services, a beginners tutorial

    3: Bluetooth low energy Characteristics. a beginners tutorial

    4: Bluetooth low energy central tutorial

    Regarding the peripherals, there are a few tutorials on this as well, located under "software development kit" on the tutorial main page, such as the "Application Timer Tutorial".

    If you look through this, and then take a look at the example in the SDK, located in


    which is an interrupt example, you are on your way to the timer starting/stopping on pin interrupt scenario that you describe.

    Good luck with the development. Let us know if there is anything else that you are missing.

    Best regards,