RSS
Sort by » date activity comments

286 blog posts

32
comments
by Carles

nRF5x support within the Zephyr Project RTOS

image description

The Zephyr Project RTOS

The Zephyr Project RTOS is a recent effort by the Linux Foundation to provide the embedded world with a free, secure and fully-featured Real Time Operating System. It is designed from the ground up to be a modern, scalable, secure and responsive RTOS with a clear focus on IoT protocols and foundations. This open source RTOS is Apache 2.0 licensed and has a fully open development model

Recently Nordic contributed ports to all of our Cortex-M based ICs (nRF51, nRF52832 and nRF52840) as well as a fully featured, open source BLE Controller (Link Layer + HCI...

19
comments
by Torbjørn Øvrebekk

Throughput and long range demo

The new Bluetooth 5 specification promises twice the speed and 4 times the range. Doubling the speed is achieved by increasing the on-air datarate to 2Mbps, while quadrupling the range is achieved by lowering the bitrate to increase the sensitivity of the receiver. We at Nordic have made a demo showing these features with our newest SoftDevice(s) and specifically our newest chip, the nRF52840. It was showcased at CES 2017 in January.

Here is a more in depth description of the demo.

The demo is based on the ATT_MTU throughput example in SDK 13.0.0-1.alpha, which allows...

7
comments
by Torbjørn Øvrebekk

nRF52840 long range demo

In December we published a video showing a long range test with the newly released nRF52840 chip. The video showed that the nRF52840 had excellent range, and is fully compatible with the new Long Range feature of the just released Bluetooth 5 specification. This blogpost will go into more details about how this test was done. Below is the video for those that have not seen it yet.

The setup consisted of two nRF52840 Preview Development kits, one transmitter (TX) and one receiver (RX). Both kits were connected to a GPS module using serial communication (UART). The DK on the...

0
comments
by Carlos Delfino

Estudando Projetos do SDK 10 para nRF5x com Eclipse Oxygen (Portuguese)

The purpose of this tutorial is to expound my notes on the studies I have done on the use of nRF51, but also serve for the nRF52, and thus share with the beginner as I of the Portuguese language. This tutorial is continuity in the [previous tutorial] (https://devzone.nordicsemi.com/blogs/1193/configuring-the-eclipse-oxygen-for-development/).

The SDK 10 is chosen because there is still the S110 version of SoftDevice for the nRF51.

If you find any errors, be sure to let me know, because they are annotations made as I am learning to program for these modules, so I can initially...

2
comments
by Carlos Delfino

Configurando o Eclipse Oxygen para Desenvolvimento com nRF5x (Portuguese)

This tutorial aims to help Portuguese language beginners, like me, with the nRF5x family and who chose to use Eclipse as a development tool.

The tutorial will be very simple and we will use the Eclipse Oxygen and the GNU MCU Plugin, in addition to GCC 6.

There will also be separate tutorials for each step, in this will be the only configuration of Eclipse for use of the Tools and soon thereafter will create another showing how to create a project using one of the examples, and finally a third demonstrating how to create a project from scratch.


Este...

1
comment
by Nguyen Hoan Hoang

Flashing nRF5x firmware using any dumb terminal program via standard serial COM port

There are times that we needed to flash the nRF5x series on a PC where the development software were not installed. The problem could be worst when network access is limited. With a HEX file on hand, it is now possible to flash the nRF5x device using regular dumb terminal software such as CoolTerm, Putty,... through the COM port. This is the new feature of the IDAP-Link, a CMSIS-DAP compatible debug jtag. This feature is called 'Console Mode'. Please note that programming the nRF5x is actually done using SWD. The COM port is only for user interface.

image description

To active the...

1
comment
by Yaniv Nis

How to use Git for embedded software development

Hi,

Using Git and choosing the right workflow is essential when you want to implement DevOps practices as part of your SW development. When it comes to embedded SW things start to get a bit rough. Take a look at the blog post below to learn how to use Git-Flow for embedded development and what kind of tests to apply for each commit, merge, etc. Note that it's based on what we are doing at Jumper when we are building our virtual lab, so you might need to tweak it a bit.

https://medium.com/jumperiot/how-to-use-git-flow-in-embedded-software-development-dbb2a78da413

Hope you...

3
comments
by Krzysztof Szewczyk

Thingy:52 based Weather Station

Weather station created from two Nordics eval-boards (Thingy:52 and nRF52840-Preview-DK). Source code and hardware files are available. http://evalspace.com/weather-station/ image description

2
comments
by gamnes

Walkthrough of Nordic Thingy:52 Node.js Raspberry Pi demos

Thingy:52 Node.js Raspberry Pi Interface

This blog post is a follow up to the Nordic Thingy:52 node.js/Raspberry Pi demos blog post, and will described how you can run and what to expect from each of the Node.js examples that have been provided in the GitHub repository. It will also described an additional example of how you can use the Node.js library to post a tweet based on sensor data.

If you are looking for a Python interface instead of Node.js, please have a look at the following blog post for some more...

59
comments
by Hung Bui

Segger Embedded Studio - A Cross Platform IDE

Download and Setup

Note: It is recommended, but not necessary, to use the most recent releases of the above software.

Importing a Keil uVision project

Note: From nRF5 SDK v14.1, Segger Embedded studio projects are officially supported. If using v14.1 or newer, please use the native SES-projects instead of the "import" function.

  • Open SEGGER Embedded Studio 3.10e
  • Select Tools -> Package Manager... and install the CMSIS-CORE Support Package

image description

  • Select File -> Import IAR...
0
comments
by gamnes

Nordic Thingy:52 Raspberry Pi Python Interface

Thingy:52 Python Raspberry Pi Interface

This blog is a follow up to both the Nordic Thingy:52 node.js/Raspberry Pi demos and the https://devzone.nordicsemi.com/blogs/1160/walkthrough-of-nordic-thingy52-nodejs-raspberry-pi/ blog posts. It will go through how you can set up and develop Python Thingy:52 applications on the Raspberry Pi.

Raspberry Pi Setup

Please follow the setup as explained in Node.js walkthrough to make sure the Raspberry Pi is setup as assumed for this blog post. We will be running the Raspbian operating system.

Running the Example

GitHub Clone

UPDATE: The Thingy:52 Raspberry Pi python...

4
comments
by Kristian Skordal

Creating a Keil project for a Bluetooth Mesh example (Updated for 0.10.0)

Introduction

The recently released nRF5 SDK for Bluetooth Mesh does not provide Keil project files for its example projects. Fortunately, it's relatively easy to set up your own project from scratch. This guide will show you how.

While the list of steps below might seem overwhelming, most of the settings used here, such as the linker settings and defines, can be copied from the Segger Embedded Studio project provided with the mesh SDK. The SES project can be used as a template for which files to include and which settings to use when creating Keil projects for other mesh...

8
comments
by Hung Bui

Getting started with Nordic's Secure DFU bootloader, a step by step guide

Content of this blog based on the documentation of BLE Secure DFU example and Bootloader module library in our SDK. Here we provide you with step by step introduction to make it easier to follow and test Secure DFU.

The Secure DFU is the new DFU bootloader provided from nRF5 SDK v12. The old bootloader in SDKv11 and earlier is now called Legacy DFU. Secure DFU is not backward compatible with Legacy DFU.


What you would need to prepare before we start:

  1. Up to date nRF5 SDK (minimum SDK v12)

  2. Python with pip installed. See here if you don't...

10
comments
by schef

Using millis() like in Arduino.

Here are two simple functions to use when you want to use timestamps for time measurement.

uint32_t millis(void)
{
  return(app_timer_cnt_get() / 32.768);
}

and for comperison of current with given timestamp with rollover correction (thanks to Nicolas Brunner for the correction):

#define OVERFLOW ((uint32_t)(0xFFFFFFFF/32.768))

uint32_t compareMillis(uint32_t previousMillis, uint32_t currentMillis)
{
  if(currentMillis < previousMillis) return(currentMillis + OVERFLOW + 1 - previousMillis);
  return(currentMillis - previousMillis);
}

You can use it like:

uint32_t myTimeStamp = millis();
//... some code here
if(compareMillis(myTimeStamp, millis()) > 2000)
{
  printf("2 seconds have passed\n");
}

Here are unit tests https://github.com/schef/nrf_millis

0
comments
by Yaniv Nis

How to build continuous integration and delivery process for embedded SW development

If automated testing, continuous integration, and delivery processes are top of mind for you, but you are not sure how to start implementing it for embedded SW development - take a look at the following cookbook.

https://medium.com/jumperiot/how-to-build-a-continuous-integration-and-delivery-flow-for-embedded-software-b0b5bf220a2

Enjoy!

4
comments
by Krzysztof Zaraska

Multiple channels in RTT

Segger RTT (Real-Time Terminal) supports multiple data channels.

RTT Viewer uses channel 0 only, and implements multiple virtual terminals on top of this. The terminal can be switched by SEGGER_RTT_SetTerminal(). Channel 0 is used by NRF_LOG. NRF_LOG does not do terminal switching, so you can do it yourself (be careful about reentracy though).

Data from other channels can be read using RTT Logger. To send data from NRF to RTT Logger:

  1. In sdk_config.h, adjust value of SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS. The default is 2, which gives you 1 extra channel besides channel 0. In the example below, it should be set to...
16
comments
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...

4
comments
by Rose Martin

6 Things to Know about Bluetooth Beacons

Smartphones and tablets have revolutionized the manner in which people communicate with each other. Mobile applications with location-based features like Bluetooth beacons, WiFi, and GPS are helping people stay connected from any location.

An increasing number of companies are using innovative methods like Bluetooth beacons to touch base with their customers and engage them by offering contextual and personalized services. The Allied Business Intelligence Inc. estimates that the overall Bluetooth beacon market will cross 500 million units by 2021 with a compounded annual growth rate of 113 percent. Beacons will continue to gain importance as they find new applications in...

12
comments
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

Hardware

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...
0
comments
by Yaniv Nis

How to Debug the nRF52 Interrupts — Useful Tips

Debugging interrupts in not an easy task. During the development of Jumper's Emulator, we gather few useful tips that we think can help you all when debugging the nRF52 interrupts. Hope it will help you all.

https://medium.com/jumperiot/how-to-debug-the-nrf52-interrupts-useful-tips-19accc2b1aa9

Enjoy!

P.S.

As we are working on making our emulator better and better, we'd love to get your feedback. If you like what we are doing and want to share with us your thoughts, use this Google Form.

1 2 3 ... 15 »

Tags