Module kmp-ble
Kotlin Multiplatform BLE library providing a coroutine-based API for Bluetooth Low Energy communication across Android, iOS, and JVM.
Core capabilities
-
BLE scanning with Flow-based advertisement streams
-
Connection lifecycle management with typed state machines
-
GATT read/write/notify operations with structured concurrency
-
Per-peripheral serial execution via
limitedParallelism(1)dispatcher
Getting started
Add the dependency to your KMP module:
commonMain.dependencies {
implementation("com.atruedev:kmp-ble:<version>")
}
All modules:
Format-agnostic codec layer for typed serialization and deserialization of BLE characteristic data.
Device Firmware Update (DFU) and Over-The-Air (OTA) update support for kmp-ble. Start with com.atruedev.kmpble.dfu.DfuController to perform firmware updates over BLE. Supports Nordic Secure DFU v2, L2CAP-based OTA, observable progress tracking, and resumable transfers across Android and iOS.
Type-safe BLE GATT profile definitions and characteristic parsers.
Curated OEM device quirks database for Android BLE.