BLE technology
The Ultimate Guide to What’s New in Bluetooth version 5.2
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 MoreHow Bluetooth Low Energy Works: Advertisements (Part 1)
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 MoreUnderstanding the “SweynTooth” BLE Vulnerabilities
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 MoreImplementing Bluetooth Beacons (iBeacon) – nRF52 use case
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 MoreBluetooth 5 speed: How to achieve maximum throughput for your BLE application
Introduction In this second post in the series on Bluetooth 5, we cover the new feature of improved 2x speed along with a general overview of throughput for a BLE application (the previous post went over Bluetooth 5’s new features in general and more specifically covered the increased advertisement capacity feature). First, we need to…
Read MoreHow to build the simplest nRF52 BLE Central (Lightbulb use case)
In any BLE application, there are (at least) two devices involved: a BLE Peripheral device and a BLE Central device. Usually, the BLE Central is a smartphone, but that doesn’t mean it has to be! What if: you do not want to have to launch an app everytime you want to control a BLE Peripheral?…
Read MoreAn honest review of Bluetooth Developer Studio (BDS)
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 MoreThe Basics of Bluetooth Low Energy (BLE)
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 MoreBLE connection intervals and events in under 5 minutes
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 MoreHow to use a Bluetooth (BLE) sniffer without pulling your hair out!
How to use a Bluetooth Low Energy sniffer without pulling your hair out! While working on a client’s project it became necessary to use a Bluetooth Low Energy sniffer to debug some weird behavior happening with the data transfers between the master and slave device. I had read quite a bit about BLE sniffing before and talked…
Read MoreThe best Bluetooth low energy sniffer tutorial (Advertisement Data)
In the previous blog post, we went over the different BLE sniffers available in the market and compared the pros and cons of each. In this video below we walk through a live demo of capturing BLE advertisements using the TI CC2540 USB Dongle BLE sniffer. We look at the different aspects of the captured…
Read MoreThe best Bluetooth low energy sniffer tutorial (Connections)
A BLE sniffer can be very handy. 3 primary use cases come to mind: Debug problems with BLE connections Reverse engineer a BLE device Last but not least, as a way to learn about how BLE works and understand how data gets transferred between Central and Peripheral In the previous blog post and video on BLE…
Read MoreWhat is the maximum size of data that can be encapsulated in a characteristic?
The answer: 512 bytes. But to understand where that came from, let’s first look at what a characteristic really is. Attributes are the generic term describing the smallest element in the Generic Attribute Profile (GATT). So each of Services, Characteristics, and Descriptors is actually an attribute, and according to the Bluetooth 4.2 spec (Volume 3,…
Read MoreHow do I choose a UUID for my custom services and characteristics?
First, a few things to know: “A UUID is a universally unique identifier that is guaranteed to be unique across all space and all time” (Bluetooth 4.2 spec, Vol 3, Part B, section 2.5.1 UUID) A UUID is a 128-bit value. There are reserved UUIDs by the Bluetooth SIG that are generally represented by their 16-bit…
Read MoreUnderstanding SN and NESN in a BLE Link Layer packet
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 MoreFour things you should know about the upcoming Bluetooth World 2017 event
I just wanted to share four things I recently learned about the upcoming Bluetooth World 2017 event (March 28-29, 2017 in Santa Clara, California). This will be my first time attending the event, but from what I remember, last year the fee to attend was a bit on the high side (close to $1,000). This year,…
Read MoreBLE power consumption optimization: The comprehensive guide
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 MoreThe complete nRF52 Mac development tutorial
[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 MoreGetting started with Bluetooth Low Energy: Five action steps
If you’re just getting started with Bluetooth Low Energy (BLE), just looking to learn more about it, or exploring different ways to stay up-to-date then read on. Here are a few steps to get you started: Sign up for my FREE 7-day BLE email crash course: most books out there on the topic of Bluetooth Low…
Read MoreBluetooth GATT: How to Design Custom Services & Characteristics [MIDI device use case]
You’re probably aware that adding Bluetooth Low Energy (BLE) to your device is one of the best ways to achieve a great user experience for your IoT device. Why is that, you may ask? Well, because adding BLE allows your device to be connectable from a smartphone app. And we can all agree that smartphone…
Read More