Smart Bluetooth Low Energy Technology has buzzed out the whole world and specially among the electronics enthusiasts and hobbyists. Many 3rd party vendors came up with its bare minimum modules so developers and Designers lets get started with there other code task.

BLE PCB
Castellated Pin Module – nRF51822 SoC

Bluetooth® Smart is an intelligent, power-friendly version of Bluetooth wireless technology. While the power-efficiency of Bluetooth LE makes it perfect for devices needing to run off a tiny battery for long periods, the magic of Bluetooth LE is its ability to work with an application on the smartphone or tablet you already own. Bluetooth LE is an application-friendly technology supported by every major operating system. The technology costs less and offers flexible development architecture for creating applications to bring everyday objects like heart-rate monitors, toothbrushes, and shoes into the connected world and have them communicate with applications that reside on the Bluetooth Smart compatible smartphones, tablets, or similar devices those consumers already own.

Some BLE Dev boards

  • TI CC2540/CC2650
  • Bluegiga BLE112
  • RFDuino
  • uBlox BLE
  • Blueradios BLE
  • Nordic Semiconductor’s BLE Dev kit suits
BLE SDK by Nordic – Image is from Digikey Media

This is the basic minimal requirement to get started with BLE development. This will cost you not more than $110 and many components are included with this like segger j-link and 5 nrf51822 ICs and supporting connectors. there is another board for it named as “motherboard”. The “motherboard” is not mandatory to start development with nrf BLEs. With this buy, you ill get one KEY or say PRODUCT KEY against which you can download required and necessary softwares like nrf SDK and nrfStudio which will help you in the course of development.

As the hardware dev kit arrived

Things you should find inside the box

  • Segger J-Link Lite Cortex M.
  • PAC10004 nRF Go Board.
  • PAC10001 nRF Go Board with Anetnna.
  • PAC 10000 Dongle.
  • 5 x ICs nrf51822.
  • Ribbon cable to connect from Segger to PAC10001 and PAC10004 board.
  • 5 x ICs nrf51822.
  • USB Cable x 1.

Softwares & SDKs to download

Firstly, create an account in nordic semiconductor’s web site. Next, do add the Product key under your product section. this way you will be unlocking your product, now you can download the softwares. Few softwares are allowed to dowload for free too.

  • nRF51822 Development Kit Software Downloads, required software are listed below…(or pick the latest versions of the same so mentioned below…)
  • Code: S110-SDS, software Bluetooth stack specification.
  • Code: S110-SD-v7, software Bluetooth stack aka SoftDevice.
  • Code: nRF-MCP-xx, Master Control Panel with Master emulator, pick that which suits your OS architecture.
  • Code: nRF51-BLE-Driver, nRF51 Bluetooth Smart GATT/GAP driver for Windows. Used to set up and interact with BLE on an nRF51 device with connectivity firmware and S110 SoftDevice.
  • Code: nRF51-SDK-zip – the installer, nRF software development kit which includes all examples and libraries.
  • Code: nRF51-Tools, nRF51 toolset installer (JLinkARM, JLink CDC, nRFjprog, and mergehex).
  • Code: nRFgo Studio Win xx, pic the best suited for your machine’s architecture. Used to Upload hex to board.

Another interesting thing will be, integrating gcc with eclipse to start developing BLE applications, a proper guide you can get from the same page where you see the list of softwares to download, under APPLICATION NOTES, it is been linked. Now, keep those software with you somewhere safe, although you can download them again as you have unlocked that product.

Integrated Development Environment

Download keil non-free version which has code size(32KB) limitations but to get things started you can use this. Install the keil, and you will find the same examples are also provided in the “Device” folder inside the keil installation folder. onces installation is done you need to setup the hardware now.

//Some basics
//------------------------------------------------
//
//GPIO
//APIs
nrf_gpio_cfg_output( [pin number] ); Set the pin number as output.
nrf_gpio_cfg_input(); Set the pin number as input with pull up or no pull up or pull down.
nrf_gpio_pin_clear(); Clears the pin.
nrf_gpio_pin_set(); Sets the pin.
  • Pin mapping/ numbering
  • Pin counting from zeroth port, pin maps from 0
  • Example P0.0 will be counted as pin 0, and so on

Some source to learn more from

  • DigiKey BLE training modules
  • Nordic devZone

About the SoC

  • Pre compiled bluetooth stack as hex file constantly released for slave, central and both slave and central. Central, means the BLE stack which acts as master.
  • No constrain of OTP(one time programming).
  • Comes with industry standard Cortex-M0 core, amazingly low power consumption, upto 500nA claimed. If you configure it correctly on circuit and also do write a best firmware on top of BLE stack then it does touch 500nA in shut down mode. But most of the time it stays in power_manage();

services.annimbanerjee.in
Embedded Hardware Engineering Services – services.annimbanerjee.in | Fiverr | UpWork

Annim Banerjee – Embedded Engineer with 7 years of work experience in designing and developing PCB, Firmware development, and Linux Device Drivers for Custom Linux SBCs. Rapid prototyping to mass production.

Annim - Embedded Hardware Design Engineer

This is a re-post of the article i have written in February 23, 2015.