Sort by » date activity comments

287 blog posts

by Audun

Getting started with micro-ESB on nRF51

Proprietary protocols on the nRF51

Although Bluetooth Smart is designed for low power operation and is a great way of connecting your things to a phone or other Bluetooth-enabled device, in the case where you are using an nRF51 in both ends of the wireless link, the use of proprietary protocols becomes an option. Proprietary protocols can give you a higher throughput, increased range, or more optimized power consumption. Or maybe you need a different network topology (and being willing to spend development effort). Note that proprietary protocols can be run concurrently with BLE (using the timeslot API...

by Andrew Fernandes

Using Nordic's SDKs with the GNU G++ Compiler

A persistant problem that people using the C++ compiler from the "GNU Tools for ARM Embedded Processors" toolchain has been the way that G++ handles the inline-assembly for the SVC instruction.

Specifically, you get an impossible constraint in 'asm' error when trying to use any softdevice header.

There have been a few questions about this here on the Nordic Developer Zone, here for example, with putative answers on StackOverflow.

However, myself and others have found that the "insert a cast" answer on StackOverflow does not work with the latest (4.9) G++ under the -Os optimization mode. Digging into the...

by Jason

How to user the DFU in the iOS

The article introduces how to use the OTA (over the air) DFU in iOS.

Step1, Connect your iOS device to iTune image description

  1. Select Apps,
  2. Drop App List to bottom, and select the “nRF Toolbox” app in the “File Sharing”.
  3. Drop your HEX file to the “nRF Toolbox Documents”, or click [Add] to add your HEX file.
  4. Click [Sync] to synchronize the HEX file in to your iPhone.

Step2, Select DFU in the nRF-Toolbox App in your iPhone. image description

Step3, Step3.In DFU section. Click the “Select File” to select your HEX file. image description

More information, please to refer on our web site: uCXpresso...

by Peter

Documentation and Resources for Eclipse Development

You have your choice of development tools for working with the Nordic nRF51x22 chips. If you want to use Eclipse + GCC for development, there are some app-notes and blog posts to help you on the way.

nAN-29 Development with GCC and Eclipse

This application note contains instructions from Nordic Semiconductor on using Eclipse and GCC for development. There are a few things to note, however.

  • The instructions are specific to Windows, though with some imagination, you can adapt them to Linux and OS X.
  • The instructions don't make use of GNU ARM Eclipse Plug-ins. Specifically, they don't use...
by Peter

Tools for OS X Development

I've been working on setting my Mac up for development with the Nordic nRF51x22. Working on a Mac rules out using the Keil µVision IDE (unless I wanted to use Windows virtualization). Fortunately, there are other options.

Nordic Semiconductor provides some support for more than one toolchain. They provide Keil µVision projects and packs, GCC makefiles and linker scripts, and a startup assembly file for IAR. Since Eclipse CDT can use GCC for its toolchain, there's been a lot of community effort to use Eclipse as an IDE for developing for the nRF51422 and nRF52822 chips. There are...

by Reidar Martin Svendsen

How to ping6 an nRF51422 device by using the nRF51 IoT SDK

With the release of the nRF51 IoT SDK, I guess quite a few would like to start playing with it.

To ease starting up, and enabling you to do a simple "hello world", I have written a step-by-step guide on how to ping6 a PCA10028 from a Raspberry Pi.

You may download it here.

Hope you find it useful.

by David Edwin

Baby steps with Bluetooth Smart

Are you looking to make your first steps with Bluetooth Smart?
Are you looking for hands-on help to get started with Bluetooth Smart ?
Playing could be the best form of learning and its time to play.

The Bluetooth SIG has created the Bluetooth Smart starter kit that allows you to quickly get started on BTLE (Bluetooth low energy).

The kit includes the source code (for the Arduino and the phone i.e. iOS, Android, Blackberry and Windows 8.1) and also has the list of hardware to purchase to start using the kit.The required hardware includes a Redbearlab BTLE...

by Eirik Midttun

#HackDublin article with videos

I recently blogged about Nordic and Hackathons, but didn't include too much information; I knew already there was something coming. And now it is finally published: #HackDublin - Ireland's First Design & Hardware Hackathon. In this comprehensive article by InspiredStartups you will find videos of the idea pitches, team interviews, final pitches, and some presentation. If you are involved in the maker movement you probably want to see the talk by Mark Hatch, the founder of TechShop.

If you click on the image below you will see an interview with my favourite team, the CITY+ team. They used the nRF51...

by QuickLogic

QuickLogic Announces TAG-N Wearable Sensor Hub Eval Kit

Today, QuickLogic announced the availability of our TAG-N Wearable Sensor Hub evaluation kit for the Nordic Semi nRF51 DK, Nordic’s all-in-one, multiprotocol development kit for ultra-low power wireless development on the nRF51822 SoC. We’re very excited to be part of the Nordic ecosystem, and just as excited to offer system designers an off-the-shelf, proven sensor hub for immediate integration.

image description

System Description:

The TAG-N system is a self-contained system. It contains the QuickLogic’s ArcticLink 3 S2 sensor hub, running our Gesture and Context Catalog CSSP technology. The TAG-N is Arduino-compatible, enables a direct plug-in into the Nordic DK...

by Krzysztof Loska

Native support for nRF51 SDK in Keil IDE

Recently we introduced support for CMSIS-Pack into our nRF51 SDK. The nRF51 SDK is natively supported in the Keil IDE. This means that nRF51 SDK latest version and example software for nRF51 are easily found in the Keil IDE. To do this install the Keil IDE and use the build-in “Pack Installer” (it is important to use Keil 5.12 or later). This tool also informs you of newest released versions of the SDK. It also has a nice browser to look through available examples.

Here is a short tutorial on using these features.

1.Install Keil IDE 5.12...

by Milan

Programming nRF51 with ST-Link & uVision


I am planning to design a device based on nRF51-dk but with external programmer. I have ST-Link available so I thought I just provide a simple walk through showing how to set it up.

Firstly, here is shown how to wire up the programmer with dk. I used only four wires so only one ground pin. On the devkit P18 connector these are the pins 1,2,3,4.

image description

Next set the debug interface and go to settings.

image description

Select SW port instead of JTAG and if your device is powered and wired up correctly you should see the SW...

by Eliot Stock

Visualising your memory usage

The linker in the GCC toolchain, ld, produces a *.Map file which shows you how the memory on your micro is being used. This file is a goldmine of information but it's a bit difficult for humans to absorb.

I've whipped up a web page which uses the excellent D3.js library to draw a visualisation of your memory usage, using the *.Map file as input. Blocks of memory are drawn proportionally so it's easy to see how much memory you have left and where it's all being used. Click on a block to zoom in...

by Stefan Birnir Sverrisson

Using the ADC with the S110 SoftDevice

A good place to start with getting to know how to use the ADC with the S110 SoftDevice is by using one of the BLE ADC code examples provided on Nordic's Github page, where BLE examples have the "ble_" prefix.

Sampling frequency limitations

During a BLE transmission event the CPU will be blocked. This will limit the sampling frequency of the ADC. The ADC will be able to process up to 50 k samples per second but the SoftDevice will block the CPU during a radio event and limit the ADC sampling frequency. This is because the ADC has...

by Eirik Midttun

Nordic sponsoring hackathons

Right before Web Summit - the "Davos for Geeks" - Nordic Semiconductor sponsored its second Hackathon in Dublin: the Hardware Hackathon. As a sponsor Nordic provides hardware and mentors for the participants at the event. Earlier this year we had our first participation at such an event in Las Vegas at the AT&T Code for car and home hackathon, where we also sponsored a cash prize. The experiences have been good so far, and the plan is to sponsor more events.

Prototype of traffic safety concept

Image: Prototype of a traffic safety concept from the AT&T HAckathon in Las Vegas

For both hackathons there were...

by Asbjørn

Nordic beacons and iOS

The beacon market is going in various directions with regard to format and limitations, but the nRF51822 can support all the various BLE based beacons as it’s just a specific type of non-connectable BLE advertising. The difference is that the content of the advertising package may differ between various beacon implementations. The structure of the beacon package is described well in the spec description from AltBeacon ( and this figure.

You can with the nRF51822 be compatible with different beacon implementations by changing the content of the advertising package. There’s also an option to use the...

by Jason

Make your own "Remote Control" app

Flow us to make your own RC App to control everything so easy.


image description

by Jason

Now, uCXpresso.NRF provides the free evaluation license on the GitHub

uCXpresso.NRF is a RTOS C/C++ Framework,


  1. Develop on Mac OS/X, Linux and Windows with LPCXpresso IDE (free).
  2. Multi-Tasking RTOS supported
  3. Enhanced BLE C++ framework
  4. Tickless Low Power technology ready. Activity avg. @ 26uA (Min. 6uA)
  5. Using SoftDevice 7.1

Go on the GitHub:

by mira67

change device name through BLE

  1. Build a custom BLE service and enable the write attribute
  2. Configure the characteristic "attr_char_value.max_len = MAX_LEN"; max_len should be larger than your device name
  3. In the BLE event handler, read back the data like below

     if ((write_evt->handle == m_custom_service_char.value_handle) && (write_evt->data[0] == RENAME))
                     //device name limited to 10bytes
                     for (uint8_t i = 0; i < MAX_DEVICE_NAME_LEN; i++){
                         device_name[i] = write_evt->data[i+1];
                     ble_gap_conn_sec_mode_t sec_mode;
                     err_code = sd_ble_gap_device_name_set(&sec_mode,(const uint8_t *)device_name,MAX_DEVICE_NAME_LEN);
by Stefan Birnir Sverrisson

nRF51822/nRF51422 getting started and documentation overview

BLE and ANT development kit

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...

by scytulip

Keil in-line program through DFU BLE

I am investigating Master Emulator API and found something interesting that can help you program your device through BLE DFU in Keil. This method calls the python script used in MCP. If you can use MCP DFU to program your device, it will also works for your Keil. BTW, this method emulates the exact BLE DFU procedure and the application is available just after a successful upload. No modification on bootloader or application code is required.


A device (like PCA10000) running Master Emulator.


  1. Download and install the newest IronPython (Python with .Net support) from

« 1 ... 11 12 13 14 15 »