Sort by » date activity comments

291 blog posts

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

by scytulip

Nordic Semiconductor nRF51822 Firmware for Background Data Recording

Nordic Semiconductor nRF51822 Firmware for Background Data Recording

Updating on

Design Objective

This firmware is designed for low-cost long-time low-power unattended data recording.

  • Low-cost: All collected data is preserved in nRF51822, sharing the FLASH memory with the SoftDevice and the program.
  • Unattended: The firmware executes automatic data collection and preservation until data memory area in the FLASH is full.
  • Low-power: The firmware automatically turns off BLE and redundant hardware to extend battery life.

BLE Link could be intentionally enabled to transfer data. When a BLE connection is created, the firmware will report the data reading...

by Hugh

Nordic nRF51822 ARM Cortex-M0 Development using emIDE

Nordic nRF51822 ARM Cortex-M0 Development using emIDE

To avoid the hefty charges with commercial compilers I tried emIDE with some success; here are the settings I used for the EV Kit

Official emIDE website:

Ev Kit:

Exception Vectors

Any code compiled with a resident Soft Device has a vector table at the link address (eg, Soft Device 110 v7 requires user code to be at 0x16000, so the vector table will be at that address). The reset vector at 0x16004 will be the start address of the user...

by Salman

Beacon Kit - Mistake in Ref_Design_UG_v1.0

I connected the programming header as described in "nRF6930_Beacon_Ref_Design_UG_v1.0.pdf" 5.5.4 Programming interface. I was trying to program Beacon Kit but failed many times then I compared it with schematic of of Beacon Kit. I found out that there is a mistake in the documentation. In P2 pin number 6 is not ground its actually P0.11 and pin number 5 is not P0.11 its ground.

Many of you must be facing this same problem.

I am attaching screen shot that will clearly indicate the mistake.image description(/attachment/e0adb43d9ba15501224dce2c643476ba)

by Salman

SD card interfacing


I have written SD & SDHC card routine for reading, writing and erasing data from SD card. It used the hardware SPI of nRF51822.


1)Define the PINs of SD card first before initialing.

2)Define MOSI, MISO and SCK pins only, define the CS pin to some other pin that is not being used( these pin are define in spi_master_config.h )

3)CS pin should be separately define in SD_Routines.c by the name #define MMCSD_PIN_SELECT 29

4)If you are facing problem in using my library then first test you SPI separately.

SD_Routines.c SD_Routines.h

by Stefan Birnir Sverrisson

How different BLE packet types influence throughput

There are several types of write operations, write request with authorization, write request without authorization and write command. You can see message sequence charts for those messages here and here.

Write command is a write without acknowledgement and write request is write with acknowledgement. As described in the sequence chart, the ATT will automatically send ack when you transmit write request from the central device. Write Command on the client side should generate BLE_GATTS_EVT_WRITE(WRITE_CMD, data) event on the server (nRF51822) side.

Packet exchange with Write Requests and Indications

When transferring data with a write request from GATT client or...

by Sebastian

RSSI Viewer

This summer, we offered several internships in our Krakow office, where students could work on various projects. One of these projects was the RSSI viewer developed by Piotr Czerwiec, a set of programs to visualize 2.4 GHz band usage. The RSSI viewer scans this band, records signal level on particular frequencies, and presents combined results in several ways. The tool can be used to look for interferers and to check how channels are utilized. I hope you find the tool useful! Comments and suggestions for improvements are welcome in the comments section.

PC application

There are several ways to...

by Stefan Birnir Sverrisson

Measuring Lithium battery voltage with nRF51

Here is an example of a hardware setup to measure the voltage on a Lithium battery with a voltage divider and a connected capacitor. The Lithium battery typically has a voltage range of 2.7 - 4.2 V and we (Nordic) recommend that you divide the battery voltage with two resistors, R1 = 10 MΩ and R2 = 2.2 MΩ. After you do this you need to connect a 22 nF capacitor (C2 in the figure below) from your ADC analog input pin (AIN) to ground. With this configuration you can sample up to 20 Hz for 8-bit sampling and up...

by RK

Sniffer application for OS X

I've put up on Sourceforge, a Mac OSX application which interfaces with the Nordic BTLE sniffer software and has some of the functionality of the Windows application Nordic ships with that software package. Features include

  • Seeing basic information about plugged-in sniffers
  • Listing advertisers and seeing the name, RSSI and simple details about them
  • Following a specific device
  • Showing the packets in Wireshark, decoded
  • Saving the PCAP (Wireshark format) data for later

The full project is here, and the installation instructions are on the wiki. This is a summary of the things you need in order to get it running...

by Eirik Midttun

Getting started with nRF51 development on Mac OS X

Update: Since this blog was originally written the nrfjprog tool has been ported to OS X (now macOS). This means that the flash programming is much simpler, and it is simply a matter of following the documentation for the tool. Also, nRF Toolbox for iOS is deprecated; use the nRF Connect iOS app instead

I recently decided to try the nRF51 SDK on Mac OS X to see how it was to compile and program the example applications. It worked nicely, and it wasn't even that hard to figure out. But evidently there were things to find out, and...

by EmBlocks

Nordic nRF51 support in Em::Blocks (with softdevice integration)

Em::Blocks supports now the nRF51 devices from Nordic. You can select in the new project wizard which device family (51422 or 51822) and if soft devices are needed or not.

image description

The templates for the softdevices are empty after first installation. The packages must be downloaded from the Nordic download section (after login) and unpacked inside the wizard template sub directories. After the execution of the convSD.bat file there will be c-array files and API includes generated which can be used by the wizard.

The softdevices are placed at the right location by the linker so you don't...

by RK

CrossWorks CrossStudio examples

Since I wrote about CrossWorks a few weeks ago, several people have mailed me and asked me if I have any sample projects. I didn't, so I just created some.

I've created projects which build blinky_example and ble_app_hrs for each of the three boards NRF6310, PCA10001 and PCA10000.

The projects follow the same directory structure that Nordic's examples do and are designed to unpack into the SDK directory (if this concerns you please make a copy of it first). So for instance the current nrf6310 blinky_example directory looks something like this

by Stian

Development with Eclipse and GCC

Updated version here (21.04.15):

I have noticed that there have been several questions on development with Eclipse and GCC, and I have also been trying myself for quite some time to make it work properly. It finally seems like I have figured out an approach that works for me. I.e., successfully importing and debugging of example projects from the nRF51 SDK. So I thought I could make a blog post to share my setup and hopefully help others who are also new to Eclipse and GCC.

Inspired by other devzone...

by giayee

Atomwear - Micro, Modularized, Open source, Nordic based Wearable BLE project, expecting your support on Kickstarter

image description

Atomwear is a micro, modularized, open source, wearable BLE device for DIYers. It makes any BLE(Bluetooth Low Energy) projects easier

Overview - What’s the Atomwear?

Atomwear is a BLE product based on a Nordic BLE chipset. It’s different from other wrist straps available in the market, such as gearfit and jawbone.

Atomwear is designed specifically for DIYers. just like building blocks for kids, Atomwear components allow you to build it into whatever you like, be it a bracelet or otherwise!

Atomwear is fully open source. The aim of Atomwear is to speed up your development cycle. Choose Atomwear...

by Hung Bui

Recover the nRF51 when nrjprog and nRFGo Studio couldn't

You may have a nRF51 chip that is "bricked" and both nRFGo Studio and nrfjprog recover option doesn't work. You can try to use J-link Commander to recover. In some case, J-link Commander showed that it can recover the chip when nrfjprog and nRFGo Studio couldn't.

Jlink Commander should be installed automatically when you install Jlink driver. Here is the screen when you start J-Link Commander and select the J-link programmer (if you have more than one):

image description

When you have the command line ready you can type:


w4 4001e504 2

w4 4001e50c 1

w4 4001e514 1


by Hung Bui

nRF51 SDK v6.0.0 bug report and temporary workarounds

I created this blog post to document the bugs reported on nRF51 SDK v6.0.0

The workaround for each bug would also be provided here as a temporary solution before the bug is fixed in the future release of the SDK.

Issues List

  1. [DeviceManager] Unable to re-connect to the second bonded central (Fixed in SDK v6.1)
  2. [DeviceManager] Unable to re-connect to a bonded central that uses Resolvable Private Address (e.g iOS device) if the application doesn't do whitelist advertising. (Fixed in SDK v6.1)
  3. [S310][BootLoader] S310 BLE bootloader doesn't work with Android and iOS...
by John Leonard

S130 Multi-link SoftDevice released. Tell us what you think.

Our most advanced Bluetooth Smart SoftDevice to date is now - S130. We're excited in a big way about this one covering as it does so many different options in one protocol stack.

Again, we always value feedback from you guys toiling hard out there making great and cool stuff that the world gets to see and use, or just making things because it's fun and cool. So please let us know here - what's great, what's not, improvements, tweaks, it's all great for us, and you in the long run.

cheers, The Nordic Team

S130 Release...

« 1 ... 12 13 14 15 »

User menu

    or sign up

Recent questions