We all want our Bluetooth Smart device to work the first time. But the reality is that it can take a lot of effort to get everything working smoothly. BLE products usually have a lot of moving parts that create a challenge, among them:
- Hardware – RF, Clocks, Power Supply all need to be properly designed
- Firmware, drivers to talk to sensors,
- BLE parameters and configuration, Profiles and Services
- iOS and Android Apps
- Bluetooth Controller and stack of the phone
- Wireless environment
What makes BLE more challenging than other systems is that the drive towards low power means sacrificing some performance. The question is always whether the performance you’re getting is due to these tradeoffs or due to actual issues in the system. Like with all wireless links, packets are lost and you get interference from other devices, and a good product has to work even when this is the case.
Both Apple and Google make changes to their stacks, and when you add the difference in phone BLE chipsets, you can get some surprising results. Different phones with the same OS can sometimes behave very differently (especially the case with Android).
Because of all this, it’s important to have an arsenal of tools that can help you understand what’s going on in your system. We’re going to go over some of the critical tools and methods to debug Bluetooth Smart / BLE products.