Maverick

April 17, 2026 · View on GitHub

LoRaWAN. Offline. Always.

Self-contained LoRaWAN gateway + network server for edge deployments where connectivity is unreliable or nonexistent.

Install · Quick Start · Why Maverick · Extensions · Community


What is this?

Maverick is a gateway and LoRaWAN network server in one binary. It runs on a Raspberry Pi in the middle of a cornfield, reads packets from a SX1302/SX1303 radio over SPI, stores everything in local SQLite — and keeps working even when the satellite link goes down for three days.

No cloud required. No external dependencies. Your data is on that device until you decide otherwise.

┌──────────────────────────────────────────────────────────┐
│  Raspberry Pi (edge)                                      │
│  ┌────────────────┐     ┌─────────────────────────────┐  │
│  │   SX1303 HAT    │────▶│        maverick-edge        │  │
│  │   (radio)       │     │  gateway + LNS + SQLite    │  │
│  └────────────────┘     └─────────────────────────────┘  │
│                                      │                   │
│                          Extensions: TUI, HTTP, MQTT, AI│
└──────────────────────────────────────────────────────────┘

                                      │ when connected

                               Maverick Cloud (future)

Why Maverick

Traditional LNSMaverick
Requires internetYesNo
Runs on Raspberry PiNeeds gateway + serverSingle binary
Data if offlineLostPersists locally
Extension crashMay affect LNSIsolated
Setup complexityHigh`curl ...

Works with existing packet forwarders too (UDP/GWMP), if you already have gateway hardware.

Quick Start

Install (one command)

curl -fsSL https://raw.githubusercontent.com/antonygiomarxdev/maverick/main/scripts/install-linux.sh | bash

Or manual:

# Download from releases
wget https://github.com/antonygiomarxdev/maverick/releases/latest/download/maverick-edge-linux-armv7.tar.gz
tar -xzf maverick-edge-linux-armv7.tar.gz
sudo mv maverick-edge /usr/local/bin/

# Run setup (interactive)
maverick-edge setup

Verify

maverick-edge health
maverick-edge status

Configure

Edit /etc/maverick/lns-config.toml to add your devices and region. Then:

maverick-edge radio ingest-loop

That's it. Uplinks go to SQLite. Connect a dashboard extension when you're ready.

Extensions

Everything is optional. Default install is just maverick-edge — nothing else.

ExtensionWhen you need it
maverick-tuiTerminal console for device management
maverick-dashboard (future)Web UI for visualization
maverick-http (future)Forward uplinks via HTTP webhooks
maverick-mqtt (future)Publish to MQTT broker
maverick-ai (future)Anomaly detection, AI analytics

Extensions are separate processes. If one crashes, maverick-edge keeps running.

Architecture

maverick-edge
┌────────────────────────────────────────────────────────────┐
│  Radio SPI  │  SQLite  │  CLI  │  Extension IPC           │
│  (SX1302/3) │ (local)  │       │  (HTTP, Unix socket)     │
└────────────────────────────────────────────────────────────┘
       │                                      │
       ▼                                      ▼
  LoRa Frames                          Extensions
  (uplinks ↓                           (optional)
   downlinks ↑)

Status

Public beta — v0.x. Core ingest path works. Extensions are being built.

Roadmap: ROADMAP.md

Install Options

MethodUse case
install.shProduction deployments
DockerTry it locally
Source buildDevelopment

Build from source

git clone https://github.com/antonygiomarxdev/maverick
cd maverick
cargo build --release -p maverick-runtime-edge
./target/release/maverick-edge --version

Docker (local testing)

docker compose up

Community

Contributions welcome: core, extensions, hardware compatibility, docs.

ProjectHow it relates
ChirpStackLNS, requires PostgreSQL + MQTT + internet
The Things StackLNS, cloud-first
HeliumDecentralized wireless, depends on hotspot network
MaverickOffline-first, local, self-contained

License

MIT — see LICENSE