Also it should be trivial to build using the GNU Arm Embedded toolchain if the author did not want to install the Zephyr SDK, not sure why this did not work for them.
Hi author, nice hacking and writeup!. Nordic employee here. Note that if instead of the SoftDevice and the SDK you would've used Zephyr then you'd be able to do the same you did but with a fully open source software stack, including all layers of the BLE protocol stack. More here https://github.com/zephyrproject-rtos/zephyr