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

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

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

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

What is Bluetooth Developer Studio? Bluetooth Developer Studio (BDS) was officially released by the Bluetooth SIG back in October 2015. It allows you to focus on the high-level design of your Bluetooth low energy devices, whether it’s a central or peripheral device. It offers a clean and simple interface where you can drag and drop profiles,…

Read More

Bluetooth Low Energy (BLE) is a low power wireless technology used for connecting devices with each other. BLE operates in the 2.4 GHz ISM (Industrial, Scientific, and Medical) band, and is targeted towards applications that need to consume less power and may need to run on batteries for longer periods of time—months, and even years. Bluetooth started as a short-distance…

Read More

Understand BLE connection intervals and events in under 5 minutes A BLE connection interval is the time between two data transfer events (BLE connection events) between the central and the peripheral device. The theoretical value ranges from 7.5 ms to 4 secs (with increments of 1.25 ms). A few notes regarding BLE connection intervals: The connection…

Read More

In my previous video looking at connection data captured via a BLE sniffer, I missed explaining two bits in the data that can be confusing to understand. The bits are the SN and NESN in the LL data packet. A few notes to better understand these bits: NESN and SN are used for data flow…

Read More

BLE power consumption optimization: a comprehensive guide on how to achieve maximum battery life for your BLE device In my search to find a comprehensive guide for maximizing power efficiency for Bluetooth low energy devices, I found multiple guides from different vendors. These guides were great, but were more focused on specific chips and modules…

Read More

[Update] I’ve published a more up-to-date version of this blog post that covers all three major operating systems (macOS, Windows, and Linux) using a different IDE. Check it out here: The complete cross-platform nRF development tutorial Today’s tutorial focuses on setting up the environment for nRF52 Mac development and debugging for Bluetooth Low Energy applications.…

Read More