Sort by » date activity comments

23 blog posts tagged with nrf51

by Jeevan Anga

The world's smallest breakout board compatible BTLE module: Automate your curtains for less than $90 with BluChip!

Ever wanted to automate your curtains and control it from the comfort of an app? Look no further.

The BluChip is the world's smallest breakout board compatible BTLE module. Build your very own Automated Home Curtains with this incredibly tiny breadboard-friendly BLE module!

Check out this easy-to-build automated home curtains tutorial and seamlessly control your curtains with the nRF Connect App.

Automated Home Curtains Instructables

The use of the Nordic NRF51 based Taiyo Yuden BTLE module means the entire package is FCC certified and can be incorporated into commercial products!

Learn more about this awesome DIY project at GitHub

by Mahesh Venkitachalam

Flashing and Debugging nRF51/52 with a cheap blackmagic probe compatible SWD programmer

image description

When we built our Bluey nRF52 BLE dev board, we were looking for an inexpensive option for our users to upload code to bluey and debug it using ARM GDB. We then came across the blackmagic probe (BMP) project - an Open Source debugging tool for embedded microprocessors. It greatly simplifies the debugging and code uploading process using just ARM GDB - no need to run a GDB server or use an additional complex tool like openocd. Although the BMP hardware is excellent, it's bit beyond the budget of our target audience as an add-on programmer. But luckily, their firmware supports...

by Marco Russi

Contract/freelance firmware engineer - Nordic nrf5x devices

Good morning, my name is Marco Russi and I live in London, UK.

I am a contract/freelance embedded software engineer with 10 years of experience. I have been involved in projects mainly for smart sensors, actuators control and battery powered devices. I have already worked with a few companies in UK designing and developing firmware and software or following an entire embedded system development, including hardware, from requirements to first prototype and then to production.

My main experience is on Bluetooth Low Energy applications based on Nordic nrf51 devices but I also have a good knowledge of WiFi, Ethernet...

by Ken L

Fast Production Screening based upon Bluetooth DTM

The challenge

As a product is getting into the production phase, the need of a fast and standalone screening facility on the production line arises. Here I'm introducing a production screening setup based on Bluetooth Direct Test Mode (DTM).

What a Production Screening is ... and is not ...

A production screening is a rapid screening process sorting out those units which are not functioning because of manufacturing issues, such as cold soldering, usage of incorrect materials, usage of bad materials, etc.

A production screening is NOT a functional test which correctness of the application functionality is verified. Functional tests must...

by David Edwin

Get started on PC Software for Mesh and Mesh DFU

nRF-connect-Mesh PC tool allows the user to demonstrate the nRF OpenMesh and the Mesh Device Firmware Update (DFU). The Mesh DFU will be used for nRF OpenMesh and the Bluetooth Mesh when it is made available. The nRF OpenMesh used is v0.8.7. The tool will be updated to support the Bluetooth Mesh when it is available.

image description

DFU quick start guide in the nRF OpenMesh repo

Tools Required


Any one of the below x 2 or more, all of the same type is best during the evaluation

  • nRF51-DK
  • nRF51-Dongle
  • nRF52-DK
  • USB Wall Charger or USB battery pack (optional...
by Eirik Midttun

nRF5 Series - a popular platform for open source RTOS

There is seemingly a gap to fill in the world of Internet of Things (IoT) when it comes to proving a suitable operation system. Real-time operating systems (RTOS) that are specialized for network connectivity has existed for a while, but they all provide quite different benefits and drawbacks, and as such there is no on OS that rules the MCU market. In all this new OSes continue to appear.

What these OSes have in common is that they target resource constrained devices, focusing on low memory usage and low power to allow long battery life. The OSes are designed for...

by Daniel Veilleux

Show And Tell: Lys - An Automation Example

A few weeks ago I was experimenting with the nRF52's radio performance and found myself stuck in a routine that consisted of:

  1. Tweaking some parameters in a small piece of firmware
  2. Recompiling
  3. Downloading
  4. Running
  5. Documenting the result
  6. GOTO 1

I was working against a deadline at the time so I just had to deal with it but the following weekend I decided to revisit the topic.

The Idea

The basic solution seemed obvious: a simple, reusable mechanism for exchanging data between a PC and an embedded device. The process would go something like this:

  1. Compile and download the firmware...
by Daniel Veilleux

Getting More Out of Make

There are many reasons why you may want to modify the Makefiles that are included in the SDK examples. For instance, if you are invoking Make from the command line then you will probably also want the ability to have Make ensure that everything is up-to-date and then start GDB for you. Even if an IDE like Eclipse is invoking Make for you, enabling incremental builds can save you time. The purpose of this post is to introduce you to a few Makefiles that I created to show how Make can do more work for you.


If you've...

by caram5555

Preparing nRF5x mass production.

Hi everyone. I'm pleased to introduce MOBILIAN nRF5x mass production solution.

image description

When you finished development with nRF5x and decided production, how do you program your target device? There are several solutions that you can imagine.

  1. Manually contact SWD pin to target and program with nRFgostudio or something. --> The hardest choice
  2. Some will make a JIG and repeat above process. --> Each target should be programmed, so time consuming process
  3. If he/she is rich enough, so pre-program with Hi-Lo or Elnec. --> Breakdown reel and repackaging required, If something found bug, firmware update?

So I introduce you fast & cost effective HW...

by Daniel Veilleux

BLE-to-SB quadcopter bridge

[UPDATE (Feb 8, 2016): I have incorporated the feedback that I received from several link-layer wizards in Trondheim.]

Last fall I purchased an inexpensive quadcopter that uses Nordic's ShockBurst (SB) radio protocol. The question that I was trying to answer when I started disassembling that poor quadcopter was simple: Can Bluetooth Low Energy (BLE) and the S110 SoftDevice's Multiprotocol Timeslot API provide a link with low enough latency to control a twitchy aircraft? After reverse engineering the quadcopter's binding and control packets, I ended up using an nRF51-DK to build a bridge that allowed me to comfortably...

by Marco Russi

BLE nrf51 - Multilink NUS central - Connect to many peripherals through NUS service - with Arduino host

Hi all,

I implemented a simple multilink NUS central based on s130 for nrf51 chip-set. It means that this NUS central can connect to several peripherals simultaneously and send data to each one of them by selecting connection index. It is designed as a modem through UART interface so a few "AT+"-like commands have been implemented for managing multiple connections and related data through them. A README file contains all necessary basic documentation of commands and instructions about installation and flashing.

In addition I developed a host side for Arduino so you can easily control an eventual nrf51 module...

by RomainQ

Playing with GPS over Bluetooth Smart with nRF51822

GPS for Bluetooth Smart

In 2014 I've developed a Bluetooth Smart apps couple to transmit and receive a GPS location and speed with this nice technology. The apps are called LE GPS (transmitter, peripheral role) and LE GPS Rec (receiver, central role) and are available for iOS and Android. You can check that on my web site here:


I like to use standards so everybody can use the same data. So I designed my apps to work with the Location And Navigation Service from the Bluetooth organization.

Adding nRF51822 in the play ground


by John So

Quick Link Test for PCBA with Nordic chips

An automatic radio test was developed based on Enhanced Shockburst (ESB), which works for all the nRF Series Chips including, nRF24LE1, nRF24LU1P, nRF51x22, as well as nRF52832. Source code is available as attached.

What's it for?

The Purposes of writing this code are:

  • Allows R&D engineers to evaluate whether the radio of the device under development works properly in PHY layer- Evaluation mode
  • Allows QA engineers to perform PCBA level radio test on predefined channels automatically -Production mode

How it works?

  • Test the radio link quality more than one frequency points automatically by sending 1000 ESB packets from...
by Daniel Veilleux

Intro to ShockBurst/Enhanced ShockBurst

Wireless PC accessories (the ones that shipped with a dongle in the box) overwhelmingly adopted 2.4GHz radios because these radios offered an attractive trade-off between power consumption, throughput, and range. Nordic Semiconductor's devices were very successful during that time and, as a result, many devices still use the legacy ShockBurst (SB) packet format that Nordic introduced sometime around 2004. This isn't too surprising because SB is just as useful today as it was then; low-level access to the radio offers performance and flexibility that protocols such as Bluetooth Low Energy (BLE) cannot match. Not only is SB...

by jeremysf

nRF51 DFU command line OSX app (sample)

OSX command line application for performing an nRF51 device firmware update:

This is a simple command line program I wrote based on Nordic's documentation and their RF Toolbox sample app.

My goal was to better understand the nRF51 DFU process and to have a simple command line program I could use from build scripts to update projects of mine during development and testing.

For anyone interested in using this as a starting point for their own learning, main.c and NDDFUSampleController are what you would replace with your own...

by jeremysf

QFN-48 socket "programmer" for flashing nRF51

Here's a link to the EagleCAD files for a QFN48 socket to J-Link/JTAG 20-pin connector to program bootloaders, etc for Nordic nRF51:

image description

image description

image description

I included a USB connector as an alternative to using the 5V power from the J-Link, but haven't had to use that yet; the power from the J-Link device works great!

I also included a 16MHz crystal in the design so that I could boot up the nRF51 and do some basic validation. Probably could get away without populating those or related components.

The socket is available on

by PrithviRaj Narendra

Current vs Voltage for nrf51 CPU

Since I couldn't find the information of how the supply current would change with different supply voltage for nrf51 chip, this is the result of a little test that I made to get this info.

Setup: nrf51 DK with variable voltage source connected to P21 and reverse voltage protection diode shorted.


int main(void){


    while(true) {


  • 1.770V - 4.65mA
  • 2.109V - 4.67mA
  • 2.501V - 4.68mA
  • 2.957V - 4.71mA
  • 3.421V - 4.72mA

Analysis: The current consumed is almost the same since the CPU...

by Øyvind Karlsen

ROM and RAM Management


Here are some tips and tricks to manage your application size.

RAM and ROM usage

The total RAM usage is:

ZI-data + RW-data

The total flash usage is:

Code + RO-data + RW-data
  • ZI-data - Zero initialized data, data variables set to 0

  • RW-data - Data variables that are different from 0

  • RO-data - Constants placed in flash

This means that if you have a variable defined globally with the const flag it will most likely end up in flash, while a variable that is prone to change will end up either in RW-data or ZI-data.

These values should be listed when you compile your...

by Stefan Birnir Sverrisson

nRF51 current consumption for common scenarios

The following is the estimated nRF51 current consumption during advertising with the DCDC disabled.

Advertising 1:
TX power: +4dBm
adv interval: 20ms (minimum advertising interval in normal adversising mode)
payload: 10 bytes
application processing: 2ms each adv interval.
Average current consumption: 1794 uA

Advertising 2:
TX power: +4dBm
adv interval: 1200ms
payload: 10 bytes
application processing: 2ms each adv interval.
Average current consumption: 33,4 uA

Advertising 3:
TX power: +4dBm
adv interval: 1200ms
payload: 10 bytes
application processing: 0ms each adv interval.
Average current consumption: 25,7 uA

Advertising 4:
TX power: -20dBm
adv interval: 1200ms
payload: 10 bytes...

by David Edwin

Accessing the BLE mesh via the ( cloud


I was spending the last few days to implement an interface to access the BLE mesh via the Internet. The mesh consists of devices with LEDs, which then could be turned on and off in my browser. The entry point for my local devices is a Particle Core, which is accessible from the cloud service via a web browser. That's a nice feature to control all kinds of devices easily from a website.


components and connections in the setup

The used software depends on if you want to use the softdevice S110 version 7 or 8.

Setup with S110 v7


1 2 »

User menu

    or sign up

Recent questions