MeshSky Docs
Feeders
How to install, configure, and operate a MeshSky feeder.
A feeder is the front door to the mesh. It listens to the sky, signs what it hears, and ships those observations to the network.
What you need
- A single-board computer (Raspberry Pi 3B+ or newer recommended).
- A software-defined radio (RTL-SDR Blog v3 is the cheapest known-good).
- A 1090 MHz antenna, ideally roof-mounted with a clear sky view.
- A reliable internet connection (10 kbps is plenty).
One-line install (Linux / Raspberry Pi OS)
curl -fsSL https://get.meshsky.io | sudo bash
The installer:
- Detects your SDR hardware.
- Generates a fresh Ed25519 feeder identity (stored at
/etc/meshsky/feeder.key). - Configures
meshskyd, the feeder daemon. - Connects to the nearest 3 AirBridge peers.
- Starts shipping observations within ~30 seconds.
Back up
/etc/meshsky/feeder.key. Your feeder’s reputation is bound to that key. Lose the key and you start over from zero.
Docker
docker run -d --restart=unless-stopped \
--name meshskyd \
--device=/dev/bus/usb \
-v meshsky-data:/var/lib/meshsky \
ghcr.io/meshsky/feeder:latest
Configuration
Configuration lives at /etc/meshsky/feeder.toml:
[feeder]
name = "kbfi-roof-1"
location = { lat = 47.5300, lon = -122.3019, alt_m = 95 }
geo_fuzz_m = 0 # 0 = share exact location
[radio]
device = "rtlsdr:0"
gain = "auto"
bands = ["adsb-1090", "uat-978"]
[mesh]
peers = ["auto"]
upstream_kbps = 64
mlat = true
Earning reputation
Reputation grows with every signed, well-timed observation. The reputation score is a function of:
- Volume — how many unique signals you’ve signed.
- Quality — how often your timing matches the consensus.
- Coverage — how unique your geographic position is.
- Uptime — how reliably you ship over rolling 30/90/365-day windows.
See Governance for how reputation translates into priority routing and (in time) protocol-level rewards.
Privacy
Operators choose what to share:
geo_fuzz_m = 1000rounds your published location to a 1 km grid.share_identity = falsekeeps yournameprivate; only your public key is exposed.- Per-band opt-outs let you participate in ADS-B without contributing UAT, etc.
Diagnostics
meshsky status # connection, peers, reputation, observation rate
meshsky peers # current AirBridge peers and RTT
meshsky logs --follow # live log tail
meshsky verify # cryptographic self-test of recent observations
Going further
- Run multiple antennas with
radio.device = "rtlsdr:0,rtlsdr:1". - Pair with a GPS-disciplined clock for sub-microsecond MLAT timing.
- Operate a fleet — large operators can register a single owner identity that signs many feeder keys.