Introduction In the previous post, Implementing Over-the-Air Device Firmware Update (OTA DFU) – Part 1, we gave an introduction to over-the-air device firmware update (OTA DFU) and went over the best practices for implementing secure and efficient firmware updates. In this second post in the series, we’ll go over the OTA DFU process used implemented…

Read More

Introduction One of the most important and critical features of wirelessly-connected devices is the capability of over-the-air device firmware updates (aka OTA DFU). You may be asking “why is this becoming an increasingly popular and in-demand feature?” Well, it’s due to many good reasons, some of which are: The increasing demand by end-users for new…

Read More

What is the Zephyr Project? Zephyr is an open-source real-time operating system (RTOS) meant for use on resource-constrained embedded systems. This can range from simple sensor devices without connectivity to much more complex IoT devices such as smartwatches and medical devices. Zephyr is a Linux Foundation project that is backed by many members including Intel, NXP Semiconductors, Synopsys, Linaro, Texas…

Read More

Introduction Bluetooth Low Energy was designed to provide considerably reduced power consumption and cost while maintaining communication ranges similar to Bluetooth Classic.  However, that is no longer the case. With Bluetooth Version 5.0, a new “long-range” mode was introduced. You can now achieve ranges of over 1 kilometer using Bluetooth Low Energy! Long-range mode is…

Read More
VS Code + nRF52

Introduction When it comes to IDEs and advanced text editors we, developers, have so many choices… probably too many! But that’s not necessarily a bad thing. Having these many choices can be overwhelming, and if you’re a tools geek like me, you end up spending hours and hours just exploring and trying out new tools…

Read More

As a continuation of last week’s tutorial (Prototyping BLE apps on the nRF52840 USB Dongle (Part A)), where we covered the following: Adding header rows to the USB dongle Mounting it on a breadboard Connecting an external LED and an external push button to the dongle Reuse and modify a Nordic template BLE peripheral example…

Read More
Prototyping with the nRF52840 USB Dongle Part A

In the previous post (The nRF52840 USB Dongle Tutorial (Part 1)), we explored how to use the new nRF52840 USB Dongle to enable nRF Connect PC applications such as the Bluetooth Low Energy application (central and peripheral emulator), the nRF Cloud Gateway application, and the RSSI Viewer application. More importantly, we also talked about how the dongle can be used…

Read More
nRF Connect + nRF52840 USB Dongle

When it comes to Bluetooth Low Energy modules, chipsets and development kits, prices are only getting lower. Take for example the new nRF52840 USB dongle. The dongle costs only $10 and can serve as a great development kit with a few I/O peripherals including one button, two LEDs (one green, one RGB), and 15 GPIO pins.…

Read More

In today’s tutorial: We’ll first take a step back and talk a little bit about interoperability and compatibility in Bluetooth mesh. Then, we’ll go through a demo of setting up a mesh network that includes a mix of off-the-shelf devices. Finally, we’ll go through the source code step-by-step and the changes needed to implement the…

Read More
Bluetooth mesh network

Now that we’ve covered the basics of Bluetooth mesh and also gone over how to run a simple example on the nRF52 platform, it’s time for us to dig deeper into the source code of each type of device/node involved in a mesh network. If you missed the previous posts in this series, you can find…

Read More
Bluetooth mesh network

In the last post in this series on Bluetooth mesh (found here), we provided a high-level overview of the nRF5 SDK for Bluetooth mesh. We also listed the different examples provided as part of the Nordic SDK. The most complete of these examples is the lighting example, and this is the one we’ll go forward…

Read More
Bluetooth World 2018

This week’s blog post will be a bit different. I’ll be covering a recap of the yearly event that covers all things Bluetooth: Bluetooth World in Santa Clara, California. Bluetooth World took place last week on September 18th and 19th. If you’re subscribed to my weekly BLE newsletter, you probably noticed that most of the…

Read More
Bluetooth mesh network

This week we will continue our tutorial series on Bluetooth mesh. Here’s where you can find part 1, part 2, and part 3. But before we get into the practical implementation of an example on the nRF52 series platform, let’s better understand how Bluetooth mesh works on the platform. We’ll go over: The basics and architecture…

Read More
Bluetooth Mesh Network

In this post, we’re continuing our tutorial series on Bluetooth mesh (you can find part 1 here and part 2 here). This will be the final post that will cover “theory only” content — in the upcoming posts we’ll start digging into more practice by implementing a Bluetooth mesh example on the Nordic nRF52 series platform.…

Read More
Bluetooth Mesh Network Image

In last week’s tutorial (The Ultimate Bluetooth Mesh Tutorial (Part 1)) in this series on Bluetooth mesh, we covered the following: Basics of Bluetooth mesh Terminology: nodes, elements, states, properties, messages, addresses, publish-subscribe, and managed flooding. In this week’s tutorial, we’ll continue by covering a few more concepts within Bluetooth mesh, including: Models Scenes Types…

Read More
Bluetooth mesh network

Bluetooth has been around for a while. In fact, it recently celebrated its 20th year anniversary! The introduction of the Bluetooth Low Energy (BLE) standard came in 2010 to address the rapid growth of use cases in the Internet of Things (IoT) field including sensors, wearables, medical devices, etc. However, one thing that BLE lacked…

Read More

In a previous blog post (The complete nRF Mac development tutorial), I went over how to set up your nRF development environment using the NetBeans IDE on a Mac. The beauty with NetBeans is that it’s cross-platform and customizable to fit your needs. I had been using NetBeans for over a decade, so I was very comfortable…

Read More