Posts Tagged ‘Tutorial’
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 MoreHow to build the simplest nRF52 BLE Peripheral application (Lightbulb use case)
Let’s face it… One of the hardest things when working with BLE is simply getting started. Whether it’s the setup of the IDE, the configuration of the project, or the implementation the BLE application. I’ve been there… I’ve felt lost, not knowing where and how to start… This is especially true since I was trying…
Read MoreBluetooth 5 Advertisements: Everything you need to know
You’ve probably heard so much about the recently released Bluetooth 5. You’ve seen all the hype on 2x Speed, 4x Range, and 8x Advertising data increase capabilities. But what does this all mean?? How does it achieve all these improvements? Is it really possible to achieve all these simultaneously?? What about power consumption? How is that…
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, adding BLE allows your device to be connectable from a smartphone app. And we can all agree that smartphone apps…
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 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 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 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 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 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 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 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 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 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 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 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 More