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...
The day after the Bluetooth SIG announced the 1.0 spec of the Bluetooth mesh we are happy to announce the nRF5 SDK for Mesh for our nRF51 and nRF52 Series SoCs. This first (v0.9.1) release is packed with new features and concepts for Bluetooth.
What is Bluetooth mesh? The mesh capability is a significant update and enables a radical new approach to making Bluetooth applications. With this update to Bluetooth, there are significant changes and many new concepts to learn for developers and product makers. From a holistic point of view, mesh enables Bluetooth to expand its...
We’ve all seen the hype on 2x Speed, 4x Range, and 8x Advertising data increase capabilities in Bluetooth 5.
But what does this all mean?? How does it achieve all these improvements? Is it really possible to achieve all these simultaneously?? What about power consumption?
In this blog post (first in a series of posts on Bluetooth 5), I go through each of the new Bluetooth 5 features. Other topics covered include:
Very often, while working with Bluetooth LE devices, we encountered a problem having to repeat a sequence of operations to test or demonstrate some functionality. Writing a mobile app every time to show couple of buttons that interact with a device was costly and boring. A more generic and easy to use solution was required.
Our first approach, the automated tests, allowed to prepare an XML script with sets of operations that were automatically performed producing a report as a result. Automated tests appeared in nRF Connect for Android (known back then as nRF Master Control Panel...
With the nRF52840, we released our first System-on-Chip (SoC) with a radio that is capable of running the IEEE 802.15.4 PHY, additionally to Bluetooth 5 (Bluetooth Low Energy), ANT+, and proprietary 2.4 GHz protocols. In March 2017, we released our first software solution running on top of the IEEE 802.15.4 PHY - nRF5 SDK for Thread in version 0.8.0, supporting the OpenThread stack.
Since nRF52840 supports multiple radio protocols, applications running on this SoC can use several radio protocols. With the release of nRF5 SDK for Thread in...
The Thingy connects to the Raspberry Pi with Bluetooth and uses it as an internet gateway. The Raspberry Pi runs the node.js scripts. The provided examples, which you can download below the video, include:
As you start developing with the nRF5 series chips, SoftDevices, and SDKs, it's very useful to learn how errors can be discovered (and preferrably recovered from). This can be detecting something as simple as using invalid parameters to a function, or discovering when an unexpected chain of events breaks your application.
Robust application design is a broad topic, beyond the scope of this blog post. This post is meant as an introduction to nRF-specific error handling, which is useful to understand when developing using Nordic SoftDevices and SDKs.
This blog post is split into two main parts:
A case study on optimizing battery power consumption for CC2538 but can also apply for nRF52 based device - https://medium.com/jumperiot/power-optimization-from-3-to-7-months-on-a-single-charge-56de0c30f062.
In this project, we’re going to build a BLE Beacon that transmits temperature, humidity and ambient light levels to a dashboard on the internet. Bluetooth Low Energy is a technology that was designed from the ground up to reduce power consumption. It’s common for BLE devices to keep going and going for months on a coin cell battery. A beacon is a typical example of such a device. All it does is wake up periodically, send data, and go back to sleep. There are different methods of connecting to a BLE device. In the case of the beacon...
Note: It is recommended, but not necessary, to use the most recent releases of the above software.
SEGGER Embedded Studio 3.10e
Tools -> Package Manager...and install the
CMSIS-CORE Support Package
File -> Import IAR EWARM / Keil MDK Project...
Import Build Configurationwindow will pop-up...
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:
We are happy to announce that nRF Connect for desktop v2.0 has now been released, and is available for download on the nRF Connect product page.
As you may know, nRF Connect v1 was a Bluetooth low energy tool for development and experimentation. At Nordic Semiconductor we have lots of ideas for similar applications, so we decided to pull out the reusable parts of v1 into a framework for desktop apps. Key features of this framework:
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...
How to implement the Nordic OTA protocol in your own phone App
This document is meant to be useful if you are implementing DFU updates within in your own smartphone app, and want to do it yourself, rather than rely on trying to turn nrf toolbox into a library that your app calls. In a previous app we did just that, but it was a nightmare, and the nrf toolbox has since changed its structure a lot, making it even harder to do this now.
Connecting BLE devices to the IoT is becoming an essential requirement of many products, so to help you get your IoT project jump started, Nordic Semiconductor is launching a set of IoT developer tools. Currently the tools are in beta with a full release planned later this summer. Check it out at nrfcloud.com.
As always, these IoT tools and the hosting of the IoT platform are provided for free for our developers. The code is also available on GitHub if you want to use nRF Cloud as a starter template for your own IoT service.
The first tool is...
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...
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:
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.
The figure below points out the important Keil GUI buttons for running this example.
Follow these steps to run the example:
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.
curl -s https://raw.githubusercontent.com/Jumperr-labs/nrf5-sdk-clion/master/nrf5-sdk-to-clion.sh | bash
While working on Jumper's µLogger, I...
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 email@example.com.
The Earthquake Machine consists of two contraptions, the Resonator made...