Bluetooth

PureSwift/Bluetooth is a Swift package with multiple libraries supporting the Bluetooth SIG specifications and protocols, including GAP, GATT, HCI, L2CAP, Classic (BR/EDR) and Low Energy support.

Support for different operating systems and platforms is spread across a suite of Swift packages supporting each which all depend on this package as a Foundation. It also builds for WebAssembly (Chrome, Edge), Android, Embedded Swift, desktop Linux (Debian, Fedora, Arch), Buildroot and Yocto Linux.

Platform Roles Backend Library
macOS, iOS, watchOS, tvOS, visionOS Central, Peripheral CoreBluetooth DarwinGATT
Linux Central, Peripheral BlueZ BluetoothLinux, GATT
Android Central Java Native Interface AndroidBluetooth
WebAssembly Central Bluetooth Web API BluetoothWeb
Pi Pico W Peripheral BlueKitchen BTStack BTStack
ESP32 Peripheral Apache NimBLE NimBLE
nRF52840 Peripheral Zephyr SDK Zephyr
10 Likes

This is impressive. I'm interested in this for the Apollo 3 Blue from Ambiq, which I will be using in an upcoming project next year: Apollo3 Blue - Ambiq

Any pointers on maybe adapting this to work with a different vendor library?