RSS
Sort by » date activity comments

286 blog posts

0
comments
by Mohammad Afaneh

Designing your Bluetooth GATT: Custom Services and Characteristics [MIDI controller use case]

One thing I wish I had when I started developing for BLE is more blog posts that walk you step-by-step on how to tackle the different phases of the system design and implementation. One such phase is designing your Bluetooth GATT: Services and Characteristics.

I just published a new blog post tackling this phase. I lay out the step-by-step process for designing a custom GATT for a BLE MIDI controller using the nRF52 platform including the complete source code. The post covers the following:

  • Attribute Protocol (ATT) and the Generic Attribute Profile (GATT).
  • Profiles, Services, and Characteristics.
  • How to Design...
13
comments
by John Leonard

Nordic Developer Zone celebrates its 4th year of helping developers succeed

Nordic Developer Zone - The Nordic developer’s best friend

The original goal of Nordic Developer zone was to create a resource for our customers that would complement direct Nordic technical support. It should simplify and help them with their design efforts. It should be a place where everyone can contribute, Nordicers and our customers and partners alike. It had a simple mantra – ‘Ask questions, share info, and be inspired’. As Nordic Developer Zone enters its 4th year, we can safely say it is achieving what we set out for it to do.

The ultimate Nordic FAQ resource

As of today...

0
comments
by Hans Elfberg

Simple GPIO driver example

Introduction

This example shows a simple GPIO driver for seamless handling of the GPIO and GPIOTE peripherals of the nRF52 series. This example is particularly intended for developers who wish to develop their own driver. The code is available on GitHub at the following URL: https://github.com/NordicSemiconductor/nrf52-drv-gpio-example.

Keil GUI pointers

The figure below points out the important Keil GUI buttons for running this example.

image description

Steps to run the example

Follow these steps to run the example:

  1. Extract the 12.3.0 version of the SDK.
  2. Enter the nRF5_SDK_12.3.0_d7731ad\examples\peripheral directory.
  3. Clone the repo: git...
2
comments
by dansheme

nRF52 Development with CLion

image description

TL;DR

If you just want to navigate (without debugging) through the nRF5-SDK using CLion, follow the following steps. For debugging go to “Debugging the nRF52 with CLion” in the full post.

  1. (optional) Create a backup for your current nrf5-SDK directory
  2. cd into the root of the nrf5-SDK directory
  3. curl -s https://raw.githubusercontent.com/Jumperr-labs/nrf5-sdk-clion/master/nrf5-sdk-to-clion.sh | bash
  4. Open “./CMakeLists.txt” and uncomment the desired project’s path (you can uncomment multiple projects)
  5. From CLion, go to File → Open and choose the root directory of the nRF5-SDK.

The Full Story

While working on Jumper's µLogger, I...

0
comments
by George

What mom didn't tell you about ble_app_att_mtu_throughput on the nRF52840 evaluation board

Introduction:

This is a guide for the uninitiated, which I am most qualified to write. These tips cover the items I wish I had understood when I got my evaluation kits. Nordic support covered these items but I thought it might be helpful as one newby to another to publish my notes on how I got these kits up and running.

Hardware Setup:

You will need two of the nRF52840 Preview DK boards and download and install both the nRF5-SDK-zip and the nRF-Connect-Windows. This will give you the basic tools to load this evaluation onto the boards. You may also...

2
comments
by Reidar Martin Svendsen

Introducing Nordic’s new software licensing schemes

We are very excited to inform you that we have introduced our new software licenses with the release of SDK v13.0. The new licenses are based on the well-known BSD license class and give more flexibility and freedom to customers while still protecting Nordic Semiconductor’s intellectual property and brand.

Software licenses are usually not the most riveting of reads and most people tend to click the ‘I Agree’ button without reading what they have agreed to. The licenses we have now introduced are very easy to read and understand, so take a few minutes to read through them...

2
comments
by Yaniv Nis

Open source project for live monitoring and troubleshooting of IoT systems and networks (now supports nRF52832)

Project Logo

IoT systems are all about analytics from physical infrastructure and are expected to work accurately. After deploying an IoT system one must take care of supporting customers, assure SLA and run root cause analysis on production systems, with real life scenarios. Live monitoring of the entire network, devices and gateways is imperative for system management and control that can help you meet the IoT SLA challenge.

Jumper Insights was built just for that and so that you won’t have to build it yourself. Jumper Insights is a complete visibility solution for IoT systems that lets you:

  • Seamlessly send events...
0
comments
by Andreln

Bachelor's Project - The "Earthquake Machine"

The Earthquake Machine

This is a brief overview of our bachelor's project results. The bachelor's project is given by Nordic Semiconductor for students at NTNU. Our goal was to induce resonance in objects by making some sort of device which could be controlled with BLE.

All code, schematics and documentation can be found in this Github Repository. This is our first major programming project. If you're interested in knowing more about the project, or have constructive criticism of the code, please email me at andrenicolaysen@gmail.com.

The Earthquake Machine consists of two contraptions, the Resonator made...

0
comments
by lfcerf

Programming nRF52832 boards in Python with Zerynth

image description

Released in December 2016, the new Bluetooth 5 offers truly exciting possibilities for home, industry, and commerce as well as the more traditional areas of wearables and personal devices historically associated with Bluetooth.

Nordic’s nRF52832 is a Bluetooth 5-ready SoC that combines an ARM Cortex-M4F microprocessor with a 2.4GHz multiprotocol radio, supporting Bluetooth Low Energy (BLE).

Zerynth provides a platform for programming nRF52832 boards in Python using paradigms and features typical of personal computer (PC) and mobile programming.

The Zerynth Stack

Enabling the use of Python for Microcontrollers and embedded solutions, Zerynth allows:

  • Time to Market Reduction
  • Flexibility...
2
comments
by gamnes

Serial Wire Debug Port Interface for nRF52832

1.1 Description

This documentation describes the use and initialization of the Serial Wire Debug Port (SWDP) interface when writing to or reading from Flash and SRAM of the nRF52832 Rev 1. See http://infocenter.nordicsemi.com/ for more information on the IC itself.

DISCLAIMER: Not all content of this document has been verified and hence there might be some errors and flaws in the descriptions/information that follows. Please confer with the official ARM documentation to verify the information as described here. This information is provided in order to help during the implementation of a SWD debugger, but the...

3
comments
by vich

nRF52840 GATT Data Throughput with Zephyr RTOS

Nordic has recently contributed support for the 2Mbit/s PHY, part of the Bluetooth 5.0 specification, to the Zephyr Project RTOS.

The video below shows how to configure, build and test GATT data throughput on a nRF52840 SoC running Zephyr RTOS.

The throughput measured may vary depending on the environment, but the maximum throughput observed in this video is around 1398 Kbps. Feel free to try it out yourself and join us with feedback and contributions to the Open Source project.

Our initial blog post about the Zephyr Project, complete with instructions to set up a Zephyr environment to...

5
comments
by Mohammad Afaneh

The complete tutorial for developing and debugging nRF52 applications on a Mac

I realize that there are already multiple tutorials on how to configure GCC along with Eclipse or SEGGER Embedded Studio (for use on a Mac), but this tutorial goes over setting up a different IDE. The more choices the better, right? ;)

The IDE of choice for me is NetBeans. NetBeans is well known for Java development but not as much for C/C++ or embedded. However, I personally have been using it for embedded development for about 10 years now (both embedded Linux and MCU-level development). In this tutorial, I'll be going over how to set up and configure...

15
comments
by John Leonard

Bluetooth 5 2Mbps Demo with nRF52 Series and Samsung Galaxy S8

Bluetooth 5 - now arriving in smartphones

As we know, Bluetooth 5 was launched last December by the Bluetooth SIG. The nRF52 Series from Nordic have always had Bluetooth 5 and its arrival in the mix for the nRF52 Series and this family of SoCs was designed early on to be able to meet the exciting new features of Bluetooth 5. Smartphones play such a key role in most Bluetooth products that their adoption of new Bluetooth features is always eagerly anticipated, as this is fundamental to the use of new Bluetooth features.

The Big News: Samsung Galaxy S8 supports Bluetooth...

0
comments
by Lola

Setting up Segger on a mac or pc and debug - step by step for humans

Most guides out there are unclear and made for machines. Here is a full guide how to setup Segger for mac OS X with some example project from the SDK ( or even a PC but not tested), and also how to debug like a human not using terminal. ( or using it if you feel more clever)

All steps here most be done for every project(except step 10), thats because the hardware industry is still stuck in the 90's, and UI/UX are new terms for them. While Eclipse is slightly more into 2000's , setting it up is...

0
comments
by Radosław Koppel

FreeRTOS threads preview with J-Link, GDB/Eclipse

Short note how to make FreeRTOS program debugging with eclipse little simpler.

If you are looking the information how to configure the whole environment see this post: https://devzone.nordicsemi.com/tutorials/7/development-with-gcc-and-eclipse/

What we get out of the box

Most low power applications stays most of the timer in idle. Ideally it would be tickless-idle. The problem begins if our program behaves strangely and we would like to stop it and check what is going on.

Lets get blinky_freertos example. Run it and halt just in random moment. Until you are very lucky you would stop somewhere in...

5
comments
by eivinds

Taking a deeper dive into Bluetooth 5

image description

The first in a series of blogs that will help educate on what is most important about Bluetooth 5 and take you deeper into the details of how it works and how you can benefit most from using it.

Taking Bluetooth further, faster

Bluetooth 5 has been with us for a few months now and is proving to be as exciting in the world of Bluetooth developers we talk to as it was to us when the specification was proposed. With its core additions of considerably longer range (x4), doubled throughput and improved broadcasting bandwidth, it is no exaggeration to...

0
comments
by Håvard

Logging enabled by default in SDK Bluetooth examples

Several users have pointed out a sudden flash size increase in some of our Bluetooth examples. We decided to write a quick post here to describe the reason for this and explain how to decrease the size of the examples.

The reason for the size increase is that we added our logging module to the examples in question. Simply disable the module to decrease the size again. Logging can be turned on or off in sdk_config.h. This header file is included in all BLE examples. Remember that you can edit sdk_config using the configuration wizard.

Some examples use logging...

5
comments
by Daniel Veilleux

Monitor Mode Debugging with J-Link and GDB/Eclipse

The biggest pain point when debugging an application on the nRF51 series is the inability to set breakpoints while the SoftDevice is active without triggering an assert. Although a workaround exists that allows the debugging process to limp along for a short amount of time after the SoftDevice complains, using breakpoints with the nRF51 is inevitably a disruptive process.

Thankfully, the nRF52 series includes support for a neat feature called Monitor Mode Debugging. When this feature is enabled, the processor will trigger a specific interrupt handler (DebugMon_Handler) instead of halting when a breakpoint is reached. This DebugMon_Handler then spins and...

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

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

« 1 2 3 4 5 ... 15 »

Tags