Feeders · Install

Turn a Raspberry Pi into a feeder

One command on your Pi. No Fly Overhead account required to start feeding. If you already run readsb, dump1090, or ultrafeeder we attach as a passive client; if you only have an RTL-SDR we install readsb for you.

curl -fsSL https://flyoverhead.com/install.sh | sudo bash
Free Pro — automatic. Pair your feeder and your account upgrades to full Pro instantly: weather overlays, VFR charts, PIREPs, 90-day history, and 1,000 API requests/day. No forms, no waiting, stays active while your feeder is online.
Open source client. The feeder app is MIT-licensed. Read the code before you run it.
No exclusivity. Feed us alongside FR24, adsb.fi, airplanes.live — all at once. We never ask you to choose.
Antenna1090 MHz
RTL-SDRUSB dongle
Raspberry Pireadsb decodes
feed.flyoverhead.comBEAST :30004
Live mapin seconds

Already have a decoder

We connect as a TCP client to your existing :30005 BEAST stream (or aircraft.json on :8080). Nothing about your existing feeder clients changes. Run as many feeders side by side as you like.

Just an SDR

No decoder yet? With an RTL-SDR dongle plugged in, the installer sets up readsb (drivers, kernel-module blacklist, BEAST output) and feeds it straight to us. The box becomes a standalone receiver.

Follow along

Copy-paste commands

Run these on your Pi (or any Linux box with an SDR or decoder). The default install registers anonymously and starts feeding immediately.

1. Install and start feeding

SSH into the Pi, paste this, enter your sudo password. Registration takes a few seconds; the app downloads from feeder.flyoverhead.com while you wait.

curl -fsSL https://flyoverhead.com/install.sh | sudo bash

2. Confirm it is running

You should see active (running). Logs show BEAST connected or JSON posts every few seconds.

sudo systemctl status fly-overhead-feeder
sudo journalctl -u fly-overhead-feeder -f

3. Link to your dashboard (optional)

Sign in at flyoverhead.com/feeders/pair, then run this on the Pi. Enter the 6-character code shown in the terminal.

sudo FLY_OVERHEAD_FEEDER_CONFIG=/var/lib/fly-overhead-feeder/config.json \
  FEEDER_API_URL=https://flyoverhead.com \
  node /opt/fly-overhead-feeder/dist/index.js pair

Alternative: pair during install

Blocks until you enter the code at /feeders/pair. Use this if you want the feeder on your account before data flows.

FEEDER_INSTALL_MODE=pair curl -fsSL https://flyoverhead.com/install.sh | sudo bash
  1. The installer detects your decoder (or installs readsb if you only have an SDR), registers anonymously, and downloads the feeder app from feeder.flyoverhead.com.
  2. A fly-overhead-feeder systemd service starts automatically and restarts on boot. Aircraft should appear on the live map within about 30 seconds.
  3. Optional: link the feeder to your account using step 3 above, or /feeders/pair after signing in.
The Fly Overhead live map over New York showing 131 tracked aircraft
Within seconds of install, your aircraft appear on the live map alongside everyone else's coverage.
Before you feed
  • ADS-B is a public broadcast. Aircraft positions are unencrypted radio transmissions received by anyone with an antenna. What you contribute appears on the public map.
  • Retention. Raw aircraft states are kept for 30 days, then purged. Aggregated coverage statistics (not individual positions) are retained indefinitely.
  • How we use the data. Flight data powers the live map and our API. We may also use aggregated, anonymized flight data for aviation research and safety applications — individual tracks are never sold or attributed to your feeder.
  • What we don't do. We don't sell feeder locations or personal data. We don't block or filter aircraft for commercial partners. We don't restrict you from feeding other networks simultaneously. Full feeder data policy →
  • Receiver location & privacy. Sharing your station coordinates is optional. A receiver's approximate position can be inferred from the aircraft it hears — we don't collect personal data beyond your account email and feeder name.
  • Best-effort, no warranty. Feeding is voluntary and provided as-is with no uptime guarantee or SLA.
  • Hardware & power. You'll need a Raspberry Pi, an RTL-SDR, and a 1090 MHz antenna. It runs continuously on modest power over your own internet connection.
Already on docker-adsb / ultrafeeder?

Skip the Node client. Add Fly Overhead as a BEAST output in your ultrafeeder config (generate a UUID with cat /proc/sys/kernel/random/uuid), then claim it at /feeders/pair:

ULTRAFEEDER_CONFIG=adsb,feed.flyoverhead.com,30004,beast_reduce_plus_out,uuid=<your-uuid>
I don't have an SDR or a decoder yet

You need either an RTL-SDR dongle plus a 1090 MHz antenna (then our installer handles the rest), or an existing decoder exposing BEAST on :30005 / aircraft.json on :8080. A common starting point is readsb.

Where does it install?

App files at /opt/fly-overhead-feeder; systemd unit fly-overhead-feeder.service; UUID + API key at /var/lib/fly-overhead-feeder/. Re-run the install command to upgrade; pairing is skipped unless you set FEEDER_INSTALL_MODE=pair.

Want to inspect the script first?

Sensible. The script is a few hundred lines of bash — view it or read it on GitHub before running.