An overview of Bluetooth Beacons – Part 1

For many of us, our first encounters with Bluetooth probably came in the form of wireless headsets and hands-free devices. However, a new breed of Bluetooth devices is emerging — they are lower in cost and they consume less power. From a non-technical and user perspective, the name Bluetooth appears to cover any form of…

Read More

Implementing Over-the-Air Device Firmware Update for nRF52 – Part 3

Introduction In the previous post, Implementing Over-the-Air Device Firmware Update for nRF52 – Part 2, we introduced the OTA DFU process on the nRF52. In this post, we’ll go over testing the process using one of the DFU examples included in the nRF5 SDK, the “BLE Secure DFU Bootloader” example.. The hardware requirements for running the BLE…

Read More

Implementing Over-the-Air Device Firmware Update for nRF52 – Part 2

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 and…

Read More

Implementing Over-the-Air Device Firmware Update (OTA DFU) – Part 1

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

Zephyr Tutorial: Bluetooth Low Energy Development

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

How to Achieve Ranges of over 1 Km using Bluetooth Low Energy (LE Coded PHY)

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

nRF52 Development using Visual Studio Code [macOS]

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

Prototyping BLE apps on the nRF52840 USB Dongle (Part B)

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 BLE apps on the nRF52840 USB Dongle (Part A)

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

The nRF52840 USB Dongle Tutorial (Part 1)

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

The Ultimate Bluetooth Mesh Tutorial (Part 7)

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

The Ultimate Bluetooth Mesh Tutorial (Part 6)

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

The Ultimate Bluetooth Mesh Tutorial (Part 5)

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

A Recap of Bluetooth World 2018

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

The Ultimate Bluetooth Mesh Tutorial (Part 4)

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

The Ultimate Bluetooth Mesh Tutorial (Part 3)

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

The Ultimate Bluetooth Mesh Tutorial (Part 2)

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

The Ultimate Bluetooth Mesh Tutorial (Part 1)

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