Nordic Semiconductor offers the nRF51 series for BLE and/or ANT wireless connectivity. The nRF51 (nRF51422 or nRF51822) is a System on Chip, which means it has internal microcontroller to perform various operations. There are onboard peripherals like UART, SPI, ADC, timers, configurable GPIOs, etc. For nRF51, there are number of protocol stacks to develop on, BLE peripheral stack (S110), BLE central stack (S120), BLE central+peripheral stack (S130), ANT stack (S210) (for nRF51422 only) and ANT+BLE stack (S310) (for nRF51422 only). For nRF51 development with any of those stacks, we provide the nRF51 development kit. The nRF51 SDK contains various examples for the nRF51 development kit. The SDK can be downloaded from developer.nordicsemi.com
There is a BLE introduction video here and on developer.bluetooth.org site. To get up to speed with BLE, there are a few books on the subject, e.g. this one, this one and this one. The first one includes chapters on how to create BLE apps for IOS and Android phones that connect and communicate with BLE devices. Additionally, if you want to look at these books right away, then they are both available on www.safaribooksonline.com, where they offer 30 day trial period. For in depth information on BLE, look at the Bluetooth core specification.
This video is a good introducton to the nRF51 series. The most important nRF51 documentation is the nRF51 DK User Guide, nRF51 Series Reference Manual and the nRF51 SDK documentation.
For specific data on the nRF51822, look at the nRF51822 Product Specification (PS). The documentation for nRF51822 hardware changes between nRF51 revision 2 and revision 3, look at the PCN-092 document (nRF51 DK contains revision 3). Hardware anomalies are described in nRF51822-PAN document.
For info on the S110 softdevice, look at the S110 Softdevice Specification (SDS). Changes in softdevice versions is documented in the release notes contained in the S110 softdevice bundle which also includes migration document when migrating from older softdevice versions.
Compatibility of different versions of nRF51 hardware is documented in the migration documents, available here for nRF51822 and here for nRF51422, see table 1.
The nRF51 SDK contains various code examples that you can flash to your board and try out. For initially getting started with setting up tools and try out code samples in the nRF51 SDK, look at the nRF51 DK user guide, Getting Started chapter. Then there is also the ble_app_lbs example where you can toggle a LED on nRF51 from a BLE central device (e.g. smartphone) and signal a sentral device by pressing a button on your nRF51 development kit. There is also an accompanied nAN-36 application note which explains how you create the service and characteristics in the ble_app_lbs example. Additionally, there are various code examples for nRF51 available on Nordic's Github site.
nRF51 contains several hardware revisions which are compatible with different versions of SDK and softdevices. The nRF51 compatibility matrix shows what nRF51 components are compatible.
If you want to create non-standard custom BLE profile, you have the ble_app_template example in the SDK, which is basically blank BLE profile, and you can add your custom services and characteristics to that example.
On the app side, you have the Android Bluetooth API and the Android development site , and similar sites for IOS. Then you have the Bluetooth development portal. You can also learn how to build your BLE apps by viewing any of the app source code provided by Nordic.
For designing your product for low current consumpion, look at this nRF51 and BLE low current consumption guide.
The devzone.nordicsemi.com is a good knowledge base for nRF51 product development. For specific questions or requests, contact the Nordic Semiconductor technical support team on the www.nordicsemi.com website. On the "My Page" page, select "Register New Case" in order to send a support request to the Nordic Semiconductor's technical support team.
Links still remain to be broken (e.g., nRF51 Series Reference Manual). Could you please fix?
fixed few broken links.
This is exactly what I was looking for. Thank you a ton Stefan!
404 here: the ble_app_template example in the SDK
I might be biased here, but great post! I think it will be useful for many developers that start with Nordic chips and kits.