All modules:

Link copied to clipboard

Core Meshtastic KMP client SDK. Provides the primary RadioClient API for connecting to and communicating with Meshtastic mesh radio nodes over any supported transport.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.