# PEAT-BTLE
**Tactical BLE Mesh Networking for Disconnected Operations**
---
## What It Is
PEAT-BTLE is a Bluetooth Low Energy mesh networking library that enables secure, resilient communication between devices when traditional infrastructure is unavailable. Built for tactical and field operations where connectivity cannot be guaranteed.
---
## Key Capabilities
| **Mesh Networking** | Automatic peer discovery, multi-hop relay, self-healing topology |
| **CRDT Sync** | Conflict-free state synchronization across all nodes |
| **End-to-End Encryption** | ChaCha20-Poly1305 with mesh-wide or per-peer keys |
| **Cryptographic Identity** | Ed25519 device identity with X25519 key exchange |
| **Location Tracking** | GPS position sharing with configurable privacy |
| **Emergency Broadcast** | Priority SOS propagation with mesh-wide ACK |
| **Chat Messaging** | Encrypted group messaging across the mesh |
---
## Platform Support
| Android | Production | Kotlin + Native JNI |
| Linux | Production | BlueZ/D-Bus |
| iOS | Beta | CoreBluetooth |
| macOS | Beta | CoreBluetooth |
| Windows | Beta | WinRT |
| ESP32 | Alpha | ESP-IDF |
---
## Architecture
```
┌─────────────────────────────────────────────────────────┐
│ Application Layer │
├─────────────────────────────────────────────────────────┤
│ PeatMesh API │ Chat CRDT │ Location │ Emergency │
├─────────────────────────────────────────────────────────┤
│ Document Sync (CRDT) │ Delta Encoding │
├─────────────────────────────────────────────────────────┤
│ ChaCha20-Poly1305 │ Ed25519 │ X25519 │
├─────────────────────────────────────────────────────────┤
│ BLE Transport (GATT/Advertising) │
└─────────────────────────────────────────────────────────┘
```
---
## Performance
| Sync latency | 100-300 µs per document |
| Encryption overhead | 30 bytes + ~100 µs |
| Throughput | 38 Mbps encrypted (exceeds BLE bandwidth) |
| Document size | 50-600 bytes typical |
| Battery impact | Optimized for wearables/sensors |
---
## Use Cases
- **Tactical Teams** — Squad-level mesh for dismounted operations
- **First Responders** — Interoperable comms in disaster zones
- **Industrial IoT** — Sensor networks in RF-denied environments
- **Outdoor Recreation** — Group tracking without cell coverage
- **Asset Tracking** — Equipment location in warehouses/facilities
---
## Integration
**Android (Gradle)**
```kotlin
implementation("com.defenseunicorns:peat-btle:0.2.0")
```
**Rust**
```toml
[dependencies]
peat-btle = { version = "0.1.0", features = ["linux"] }
```
---
## Quick Start
```kotlin
// Initialize mesh with encryption
val mesh = PeatMesh.createWithIdentity(nodeId, "ALPHA-1", "SQUAD", secret)
// Set location and broadcast
mesh.updateLocation(lat, lon, alt)
mesh.sendEmergency(timestamp) // SOS with location
// Receive from peers
mesh.onBleData(peerAddress, data, timestamp)
```
---
## Security Model
- **Mesh Genesis** — Cryptographic mesh identity with founder key
- **Device Binding** — Hardware-bound Ed25519 keypairs
- **TOFU Registry** — Trust-on-first-use with attestation verification
- **Replay Protection** — Timestamped messages with nonce rotation
- **Forward Secrecy** — Session key derivation via X25519
---
## Open Source
Apache 2.0 License
**Repository:** [Radicle](https://app.radicle.xyz/nodes/rosa.radicle.xyz/rad:z458mp9Um3AYNQQFMdHaNEUtmiohq)
**Contact:** Revolve Team LLC
---
*PEAT-BTLE: Mesh when it matters.*