Blog

Archive for May 2016

Attribute Caching in BLE: Advantages and Pitfalls

May 28, 2016 Kianoosh Karami

Handles Service Changed 647w

Every OS that supports BLE caches parts of your device's profile. It's a method to save power and time by re-reading values that don't change very often. But what happens when you need to change those values? If you're not careful, you can end up rendering your product useless.

Between new features and our firmware update process, the GATT table on the Bean changes often. We had a couple of 'interesting' weeks figuring out how this works on iOS, Android, and OS X. Read on to hear how we deconstructed the caching process, discovered some bugs, and got a few more gray hairs in the process.