In this week’s post, we’ll continue our discussion on Bluetooth Advertisements (first part here) and cover them in a bit more detail. Bluetooth Advertisements are crucial for any BLE device since they are utilized for all types of applications, whether that’s a device that allows connections or one that simply advertises its presence and includes…

Read More

This post is an excerpt from a course developed by Anas Imtiaz, Ph.D. which is available within the Bluetooth Developer Academy. In a previous post (Introduction to BLE Mobile Development for iOS), we covered: Setting up Xcode for BLE development Bluetooth permissions Scanning for BLE peripherals Connecting to a BLE peripheral In today’s post, we…

Read More

Whether you’re a beginner or an expert in Bluetooth Low Energy development, it’s always good to take a step back and revisit some of the basics and facts. In this post, I’ll be going through a list of 21 facts about Bluetooth Low Energy technology. You may know about all of these, but it’s always…

Read More

To fully understand advertisements in BLE, we need to take a step back and learn about one of the layers within the architecture of BLE: the Generic Access Profile (GAP). GAP provides a framework that defines how BLE devices interact with each other. This includes: Roles of BLE devices Advertisements (Broadcasting, Discovery, Advertisement parameters, Advertisement…

Read More

As a continuation of our series on Bluetooth beacons (part 1 here, part 2 here, and part 3 here), today we’ll be covering Google’s Eddystone standard in more detail along with implementation. The Eddystone standard was released as an alternative and competitor to Apple’s iBeacon standard. It provides similar functionality to iBeacon, but also goes…

Read More

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

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