Tune Your ADS-B Gain for Maximum Range
Two things decide how far your Raspberry Pi ADS-B receiver sees: where the antenna sits and how the gain is set. Placement is the bigger lever, but gain is the one most people leave on the wrong setting. Here's how to dial both in.
Watch it live while you tune
This is the ADSB IQ signal tuner. It plots message rate, RSSI, and your coverage centroid in real time — the exact numbers you watch to know whether a gain change helped or hurt. Feeders see this for their own station on the feeder dashboard.
Step 1 — Get the antenna right first
No gain setting rescues a badly placed antenna. 1090 MHz is line-of-sight, so height and a clear horizon beat everything else:
- Higher is better. Roughly every extra meter of height adds about 2 nm of horizon. Rooftop > attic > window > desk.
- Clear the horizon. Trees, walls, and terrain absorb 1090 MHz. One wall can cut your range in half.
- Keep cable short. RG58 loses ~1 dB per 10 ft at 1090 MHz. Stay under 25 ft, or step up to LMR-400 for longer runs.
Step 2 — Set your gain
The goal is the gain that gives you the most aircraft and the longest range without overloading the receiver. Too high and strong nearby signals distort; too low and you miss weak distant ones. On a typical wiedehopf readsb install, gain lives in /etc/default/readsb:
sudo nano /etc/default/readsbFind DECODER_OPTIONS and set a gain value, e.g. --gain 43.9, then restart:
sudo systemctl restart readsbThe manual sweep
- Start near the top (RTL-SDR max is ~49.6). Note your message rate and max range after ~10 minutes.
- Step down through a few values (e.g. 49.6 → 44.5 → 40.2 → 36.4). Give each 10+ minutes.
- Pick the gain with the best combination of aircraft seen, max range, and a healthy message rate — watch them on the tuner above.
Or let autogain do it
wiedehopf's autogain tool sweeps gain for you over a few hours and settles on a good value. If you installed readsb from his scripts, it's already available:
sudo systemctl restart readsb ; readsb-gainStep 3 — Add a filter if you're in the city
Strong nearby transmitters can overload a wideband RTL-SDR. A documented 1090 MHz bandpass filter can reject out-of-band energy, but it cannot cure every interference source and adds some insertion loss. Add one only after measurements indicate overload, then compare results at the same times of day.
What good looks like
| Placement | Typical max range |
|---|---|
| Indoor / window | Often 25–75 nm; building materials dominate |
| Attic | Often 50–125 nm; foil and metal roofing can block signals |
| Elevated outdoor, clear horizon | 125+ nm is good; favorable sites may see farther |
Once you're dialed in, feed it to ADSB IQ and see your live range, RSSI, and rank. Already feeding elsewhere? Add ADSB IQ in one line — it uses the same receiver you just tuned.