All modules:
Core Meshtastic KMP client SDK. Provides the primary RadioClient API for connecting to and communicating with Meshtastic mesh radio nodes over any supported transport.
SQLDelight-backed persistent storage for the Meshtastic KMP SDK. Implements the StorageProvider interface from :core to persist node info, channel config, and message history across sessions.
Testing utilities and fakes for the Meshtastic KMP SDK. Provides in-memory transport and storage fakes, test builders for common message types, and coroutine test helpers for use in unit tests across all modules.
Bluetooth Low Energy transport for the Meshtastic KMP SDK. Implements the RadioTransport interface from :core using JuulLabs Kable (currently com.juul.kable:kable-core:0.42.0) for KMP BLE access. Kable provides a single API over Android BluetoothGatt, iOS/macOS CoreBluetooth, and JVM bluez / Windows BLE stacks.
USB/serial transport for the Meshtastic KMP SDK. Implements RadioTransport from :core using jSerialComm 2.11.x on both JVM and Android. See ../docs/decisions/010-jserialcomm-jvm-serial.md for the library choice and ../docs/decisions/012-transport-threading.md for the blocking-IO threading contract jSerialComm requires.
TCP/IP transport for the Meshtastic KMP SDK. Implements the RadioTransport interface from :core using Ktor Network (io.ktor:ktor-network) for KMP socket access. This is the simplest transport — no permissions, no platform plumbing — and is the recommended starting point for development, testing, and the JVM samples/cli runner.