With the first Beta of DeviceOS 3.0 now available, there are several improvements to BLE for Gen3 products. One common use case for using the Boron or the Tracker is to use it as a Gateway for BLE peripherals. With that in mind, here’s a library I’ve been working on to simultaneously connect to different kinds of devices.
There are examples on using the library with the Tracker as well as with Boron/Argon.
Adding new peripheral types
One of the improvements in 3.0 is the ability to hierarchically search for BLE Characteristics inside Services. This library takes advantage of that by also building the peripherals in a hierarchical manner, and re-using Services and Characteristics if appropriate. The library supports peripherals that use UUIDs assigned by the Bluetooth SIG as well as ones that use custom UUIDs.
Pairing
Another improvement is the ability to pair with devices that require Legacy Pairing, whether with or without a passkey. Check out the “Handle Pairing” section of the library’s README to see how to do that.