Answers · KMP BLE

What BLE code belongs in Kotlin Multiplatform shared layers?

← All answers

Direct answer

Put BLE parsing, state machines, and domain models in Kotlin Multiplatform shared layers, but keep platform GATT clients in Android and iOS modules. A thin expect/actual boundary around connect, read, write, and notify should have identical semantics in tests. For example, share sensor payload decoding while letting each platform handle permissions and callback threading.

Published August 2026 · Last technically reviewed August 2026

Need a second opinion on architecture?

We help connected product teams across BLE, Android, backend, and cloud before expensive rework starts.