Five Essential Tools for Every Bluetooth Low Energy Developer
Mohammad Afaneh of NovelBits shares his recommendations
One of the biggest challenges of learning any new technology is knowing which tools you need to get started. Whether you're a mobile developer or firmware developer working on a Bluetooth low energy product, there is a set of essential tools that you will need to develop your application in the most efficient way. In this blog post, I will provide a list of the five most essential tools for developing a Bluetooth low energy product and app.
- GATT Design Tools
Bluetooth Developer Studio (BDS), a free tool released by the Bluetooth SIG in late 2015, is the most prominent tool that both mobile and firmware developers can use to design and debug their Bluetooth low energy applications. It's also a great place to get started learning about Bluetooth low energy.
A few of the main advantages of using this tool are:
- 100% free to use
- Design your GATT services and characteristics
- Vendor-agnostic and provides automatic source code generation via the free vendor plugins
- Physical device testing using a Bluetooth dongle
- Client Emulator App
This can either be a mobile app (iOS or Android), or a desktop application connected through a Bluetooth low energy dongle (or internal Bluetooth low energy chip). This tool is very helpful, especially when you don't have a companion mobile app ready. It's also very helpful for testing out new changes and during development. These apps allow you to scan for nearby advertising Bluetooth low energy devices, connect to one of these devices, discover their services and characteristics, and read from/write to the characteristic values as well.
The best two examples are:
- Bluetooth Sniffer
A Bluetooth sniffer is one of the most useful tools and one that any Bluetooth developer can't do without. The difference between a Bluetooth sniffer and the Client emulator apps mentioned previously is that sniffers can "spy" on the communication between your central and peripheral devices. Whereas, the Client emulator is usually used to act as a central location to read, write, and subscribe to notifications/indications of characteristic values of the peripheral device, the sniffer acts in the background (usually without requiring you to modify any of your system's behavior).
Bluetooth Sniffers come in two main varieties:
- Simple and low-cost sniffers (think in the range of $50-$100) that are usually based on development kits.
- More advanced, higher-cost sniffers (anywhere in the range of $4,000-$30,000).
The low-cost sniffers usually have limitations, such as the lack of advanced features on the desktop end as well as not being able to scan the three advertising channels simultaneously.
Using a Bluetooth low energy sniffer can help tremendously in debugging problems with the connection and data transfer between the peripheral and the central device.
Examples of sniffers include:
- Power Measurement Tools
The "low energy" in Bluetooth low energy is there for a reason. Bluetooth low energy is selected for two main reasons: the proliferation of Bluetooth low energy in smartphones and the low energy consumption that comes with it (allowing you to design devices that can last for years on tiny batteries). However, low power consumption doesn't come by default, and both the firmware and hardware designs play an important role in how good your device is at minimizing power consumption.
There are different tools that can be used to measure the power consumption during development and testing to help you optimize for low power. The two most common tools are:
- Digital Multimeter (DMM): useful for measuring average current draw and peak current (e.g. Fluke 287 TRMS Multimeter).
- Oscilloscope: used to get more accurate measurements and finer tuning of your power consumption.
Another tool for power measurement is the Nordic Power Profiler Kit which can be used with the nRF51 and nRF52 Development kits, but can also be used with your custom board via a header connector.
- Bluetooth Specification Document
While this is not considered a tool per se, it is still the main reference document for every Bluetooth developer - mobile or embedded. When you run into issues or have questions about certain technical aspects of Bluetooth low energy, the specification document is the best document to refer to. Access to the released Bluetooth specification docs is completely free. However, if you’re interested in accessing pre-released versions of a spec (such as 0.9 revisions), to get a head start on cutting edge adopted specs, then you can access them after signing up to be a member (also free), at the adopter level. The latest Bluetooth specification can be accessed here.
I hope you've found this list helpful, especially if you're just starting out with Bluetooth low energy. Feel free to share any other tools I may have missed in the list by commenting below.