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:

Link copied to clipboard

Format-agnostic codec layer for typed serialization and deserialization of BLE characteristic data.

Link copied to clipboard

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.

Link copied to clipboard

Type-safe BLE GATT profile definitions and characteristic parsers.

Link copied to clipboard

Curated OEM device quirks database for Android BLE.