Like a MAC address for LAN connected devices, Bluetooth devices also have an identity address associated with each device. Understanding how Bluetooth addresses work is crucial for every BLE developer, especially when device privacy is a concern. So, what is a Bluetooth Address? A Bluetooth address sometimes referred to as a Bluetooth MAC address, is…

Read More

In BLE, there are many events and operations that can be exchanged between a Peripheral and a Central. Understanding these events is imperative for any BLE developer, and there are two aspects to achieving this: Learn the concepts in theory. Learn by analyzing them using a Bluetooth analyzer (sniffer) captures. I believe these two methods…

Read More

Today (March 23, 2020), Silicon Labs released the next generation of their Bluetooth SoCs: the EFR32BG22 chipset family. The chipset features an ARM Cortex-M33 which supports the latest version of Bluetooth: version 5.2 (including features from versions 5.1 and 5.0). More importantly, the chipset features the following enhancements: Significantly lower power consumption compared to the…

Read More

This tutorial represents a small portion of a complete course on BLE development for iOS in the Bluetooth Developer Academy. The course was developed in partnership with Anas Imtiaz, PhD. In this tutorial, we will look at developing iPhone/iPad apps that interface with a Bluetooth Low Energy peripheral to send/receive data. We will start by…

Read More

Introduction A couple of months ago at CES 2020 (January 2020), the Bluetooth SIG introduced the latest version of Bluetooth, version 5.2. This announcement was made alongside the announcement of the next generation of Bluetooth audio, named: LE Audio. The major change introduced in version 5.2 is a new feature called Isochronous Channels (ISOC). ISOC…

Read More

Introduction As a continuation of our series on Bluetooth beacons (part 1 here and part 2 here), today we cover Apple’s iBeacon standard in a bit more detail. iBeacon is especially useful for deploying location-awareness applications and monitoring user behavior within an area. It was introduced in iOS 7 and utilizes Bluetooth Low Energy (BLE)…

Read More

About two weeks ago (February 11, 2020), a group of Singaporean researchers released a group of vulnerabilities discovered in quite a few BLE vendor SDKs. They named the group of vulnerabilities “SweynTooth“. Here’s their explanation: The insight behind the name SweynTooth arrives from Sweyn Forkbeard, the son of King Harald Bluetooth (after whom the Bluetooth…

Read More
Overview of Bluetooth Beacons Part 2

Bluetooth beacons are alive and well due to the low cost and widespread usage in commercial spaces like retail stores and logistics. The technology itself has been around for a while but gained widespread awareness when Apple released its iBeacon protocol in 2013. Since then, adoption and uses have increased as businesses and developers come…

Read More

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

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

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