Why watch the sky and sea from home?
With a modest antenna and a $30 radio, you can build a live feed of nearby aircraft and ships that updates every second. This is not sci‑fi. Airplanes broadcast their position using ADS‑B at 1090 MHz (and 978 MHz UAT in the U.S.). Ships broadcast AIS around 162 MHz. These signals are designed to be received by anyone within range. You can listen, learn, contribute to public maps, and create your own private dashboards.
The practical benefits are real. You can see when a weather diversion is sending more flights over your area. You can prepare for a harbor surge of traffic. You can alert your kids when the firefighting tanker or an unusual cargo vessel is nearby. You can also share data with community networks to improve coverage for everyone—without leaving your backyard.
What you will actually see
Aircraft via ADS‑B and UAT
ADS‑B (Automatic Dependent Surveillance–Broadcast) is a GPS‑based position broadcast used globally. Most modern planes transmit at 1090 MHz. In parts of the U.S., some general aviation aircraft use 978 MHz UAT (Universal Access Transceiver). Both bands include aircraft identity, position, altitude, speed, and intent messages. With a roof‑mounted antenna and clear views, you may get a 250+ km radius for high‑altitude flights. Low‑altitude range is smaller due to terrain and buildings.
Not every aircraft shows up. Some military flights opt out of position broadcasts, and some older planes only send Mode S messages without GPS positions. Community networks use multilateration (MLAT) from many receivers to estimate positions of those non‑ADS‑B aircraft. If you feed your data, MLAT gets better for everyone in your region.
Ships via AIS
AIS (Automatic Identification System) broadcasts on VHF marine channels near 162 MHz. You’ll receive vessel identity (MMSI), position, speed, heading, and status. Range on land is typically 15–40 km depending on antenna height and obstacles. Coastal hills or tall buildings help a lot. Even inland, you can see river and lake traffic. AIS coverage can be intermittent if you’re far from navigable water, but you’ll be surprised how far a mast‑mounted antenna can hear.
Legal and ethical basics
In many countries, receiving these signals is legal because they’re intended for open reception. Still, check your local regulations about receiving and sharing radio data. Be mindful about rebroadcasting restricted data or real‑time tracking of sensitive flights. Use this capability responsibly and avoid interfering with radio services—receiving is passive, transmitting anything on these frequencies without authorization is not allowed.
What to buy: a practical bill of materials
Core radios
- For ADS‑B (1090 MHz): An RTL‑SDR USB dongle works well. Popular choices include RTL‑SDR Blog v3/v4, FlightAware Pro Stick (with LNA), or AirNav RadarBox Stick. If possible, use a model with a built‑in 1090 MHz filter and low‑noise amplifier.
- For U.S. 978 MHz UAT: Add a second dongle with a 978 MHz filter/LNA or use a dual‑band receiver setup. This is optional unless you want general aviation traffic too.
- For AIS (162 MHz): Another RTL‑SDR dongle plus a VHF bandpass filter (to reduce FM broadcast interference). An LNA helps, but place it close to the antenna if you use one.
Antennas and cabling
- ADS‑B antennas: A tuned 1090 MHz antenna makes a big difference. Choose a commercial outdoor antenna, or build a small ground plane (“cantenna”) if you’re starting out.
- AIS antennas: Marine VHF antennas (tuned around 162 MHz) are common and robust. A basic ½‑wave fiberglass antenna mounted outdoors at height works well.
- Coax: Use low‑loss coax like LMR‑400 for longer runs, LMR‑240 for moderate runs. Keep runs as short as practical. Use quality crimp connectors and weatherproof every joint.
- Mounts & grounding: A chimney strap or eave mount is simple. Add a lightning arrestor and a good ground path if you’re in a lightning‑prone area.
Computing and power
- Computer: A Raspberry Pi is common (Pi 3 or better), but a small x86 mini‑PC or an old laptop works fine and can be more readily available.
- Storage: 16–32 GB is enough for the OS and logs. If you plan long‑term archives, add an SSD or network share.
- Power: A stable 5V supply for the Pi or the OEM power adapter for your PC. Consider a small UPS to ride out brief outages.
Install your antennas for a clear view
Height and line of sight
Radio range rises quickly with antenna height. A practical rule: if you can “see” more horizon, your receiver hears more. ADS‑B is especially sensitive to obstacles because it’s at 1090 MHz. For AIS, getting the antenna above nearby rooftops helps overcome local clutter. If roof mounting isn’t possible, an attic or balcony still works—just expect shorter range.
Coax routing and weatherproofing
Keep coax runs short, seal outdoor connectors with self‑amalgamating tape or coax seal, and avoid sharp bends. Label cables and ports so you can remember which line is 1090 MHz and which is 162 MHz. If you’re using an LNA, place it near the antenna to boost signal before cable losses.
Safety first
Use a proper ladder, anchor points, and a second person when working at height. Stay clear of power lines. If unsure, use a professional installer. No project is worth a fall.
Set up the software step by step
Prepare the system
- Install a current OS (Raspberry Pi OS or Ubuntu/Debian on x86).
- Update packages and disable automatic sleep or power‑saving features that could stop your feed.
- Give the machine a static IP or DHCP reservation so you can find it reliably.
ADS‑B: decoding and viewing
- Install a decoder. Two popular options:
- dump1090‑fa (part of FlightAware’s Piaware stack) – simple and robust.
- readsb – efficient and pairs well with advanced dashboards like tar1090.
- Connect the SDR dongle and confirm the OS sees it (e.g., with lsusb on Linux).
- Start the decoder service and open the local web map (usually on port 8080 or a documented port) to verify aircraft are plotting.
- Add a dashboard like tar1090 for a fast, feature‑rich map, range rings, and performance stats.
Optional: feed to community networks
- Install a feeder like PiAware (FlightAware), rbfeeder (RadarBox), or fr24feed (Flightradar24).
- Register your station to get a site ID, and confirm the remote service is receiving data. Some services offer premium views in return for your feed.
- If you want to support open data, consider feeding ADS‑B Exchange as well.
978 MHz UAT (U.S.)
If you added a second dongle for 978 MHz, install a UAT decoder (many readsb/dump978 setups integrate easily). Check a separate map or combined dashboard to see general aviation traffic.
AIS: decoding and viewing
- Install an AIS decoder like AIS‑catcher or rtl_ais. AIS‑catcher includes a built‑in web viewer and is easy to tune.
- Attach the 162 MHz antenna feed to the AIS SDR and add a VHF bandpass filter. If you hear FM interference, consider an FM notch filter too.
- Start decoding and open the web UI (if provided) or output to a mapping tool that understands NMEA AIS sentences.
- To share, register and send to services like MarineTraffic or AISHub.
Tune for trustworthy reception
Gain and filtering
ADS‑B decoders often let you set receiver gain. Too low and you miss weak signals; too high and you saturate the receiver. Start near “AGC off, mid‑high gain” (e.g., 30–40 dB on many RTL devices) and adjust while watching message rates and range. For AIS, gain tends to be lower because nearby transmitters can be strong. The right filters (narrow bandpass for each service) reduce out‑of‑band noise and improve decoding.
Frequency correction (PPM)
Low‑cost SDRs can have slight frequency errors. Decoders can compensate using a PPM value. Some tools auto‑calibrate; otherwise, use a known signal (like a local broadcast reference) and adjust until the reported frequency aligns.
Check the RF environment
Run a spectrum view (e.g., with rtl_power or a desktop SDR app) to see strong local signals that might interfere. FM broadcast or cellular transmitters can desensitize your receiver. Filters help. In tough cases, consider a mast‑mounted LNA + filter combo right at the antenna to boost only what you care about.
Range expectations and reality
Don’t chase unrealistic numbers. Your site’s “maximum” ADS‑B range is set by local terrain and line of sight. A simple way to estimate line‑of‑sight distance is to remember that higher is better, and obstructions matter. Compare your results over a week—if you see stable daily patterns and clean plots, your setup is solid.
Build useful views and automations
Local dashboards that stick
- tar1090: Fast aircraft map, heatmaps, and 24‑hour range plots.
- AIS‑catcher: Built‑in ship map with filters and vessel lists.
- Metrics: Export message counts, CPU temp, and signal stats to Prometheus and visualize in Grafana.
Alerts and integrations
- Send a notification when an aircraft type of interest (e.g., a heavy jet or a firefighting tanker) enters your range.
- Alert when a specific vessel MMSI is approaching your harbor or river segment.
- Log daily traffic summaries and post a chart to a private chat for your family or club.
Mapping and data stewardship
If you enjoy maps, integrate positions with an open map stack. Plot tracks on OpenStreetMap basemaps and store anonymized aggregates. Keep raw historical data private if local rules limit real‑time rebroadcast. Be a good data neighbor: share what improves safety and understanding, avoid exposing sensitive patterns.
Troubleshooting without guesswork
When you see nothing
- Confirm the dongle is detected by the OS.
- Test with a known signal: tune to a local FM broadcast station in an SDR app to verify the dongle is alive (use a temporary antenna and remove filters).
- Swap coax and adapters to rule out a bad connector.
- Check the decoder logs for gain errors or device conflicts.
When performance is weak
- Raise the antenna or move it away from obstacles and metal structures.
- Shorten the coax run or upgrade to lower‑loss cable.
- Add the right bandpass filter for your service.
- Adjust gain in small steps and watch the effect over 10–15 minutes.
Apartment‑friendly tactics
- Window‑mount an ADS‑B antenna with a clear view of the sky; avoid low‑E coated glass if possible.
- Use a magnet‑mount antenna on a balcony railing or an indoor metal plate near a window.
- For AIS, aim the antenna toward the nearest waterway; higher floors help a lot.
Scale up thoughtfully
Add 978 MHz or better ADS‑B filtering
In the U.S., a second SDR for 978 MHz fills in general aviation. If you live near cell towers, a 1090 MHz SAW filter can be the difference between mediocre and stellar reception. Some integrated sticks already include this.
Team up for MLAT and coverage
If you and a neighbor both run receivers, MLAT accuracy improves for Mode S targets. Coordinate antenna siting to reduce overlap and fill gaps. For AIS, multiple receivers along a river create an uninterrupted corridor of coverage that commercial services struggle to maintain.
Store data safely and privately
Raw logs grow quickly. If you want history, compress daily files (e.g., gzip). Keep an eye on disk space and rotate logs. If you publish data, share aggregated counts or anonymized tracks rather than full per‑target history, unless you have consent and it’s allowed in your jurisdiction.
Costs, power, and maintenance
Budget snapshot
- Two SDR dongles (ADS‑B + AIS): $60–$120 total
- Outdoor antennas (1090 + marine VHF): $100–$250 total
- Filters/LNAs: $40–$120 depending on quality
- Coax, mounts, weatherproofing: $60–$150
- Compute (used mini‑PC or Pi): $50–$150
The project is flexible. You can start with one band, one dongle, a DIY antenna, and a spare laptop for much less. Upgrade as your interest grows.
Power draw
A Raspberry Pi with two SDRs typically draws less than 10W. A small mini‑PC might draw 10–20W. That’s only a few kWh per month, which is modest for a 24/7 sensor.
What to check monthly
- Decoder updates and OS security patches.
- Antenna mount tightness and cable conditions.
- Message rates and range to spot performance drift.
Security and privacy
Keep the receiver off the critical network
Put your feeder on a separate VLAN or guest network if possible. Disable unused services, change default passwords, and keep SSH locked down. If you open a web dashboard to the internet, use a reverse proxy with TLS and authentication.
Respect limits when sharing
Some countries restrict publishing real‑time air traffic data. Some services mask sensitive flights. Follow those rules. For your own site, consider a 5–10 minute delay when sharing public view links, or share aggregate snapshots instead of live streams.
Sample build: a tidy two‑band setup
Hardware in brief
- Raspberry Pi 4 with PoE hat in a small wall‑mounted enclosure.
- Two SDRs: a filtered 1090 stick and a generic RTL‑SDR for AIS with an external 162 MHz filter.
- Roof‑mounted 1090 MHz antenna and a 162 MHz marine VHF antenna on a shared mast, separated by 0.5 m.
- LMR‑240 runs to a lightning arrestor and into the enclosure; color‑coded labels on each line.
Software in brief
- readsb + tar1090 for aircraft, dump978 for UAT.
- AIS‑catcher for ships with its built‑in map.
- Feeds to ADS‑B Exchange and MarineTraffic.
- Prometheus node exporter + Grafana for health and trends.
Expected results
From a typical suburban roof, expect aircraft out to 200–350 km at cruise altitude, with dense low‑altitude tracks near airports. For AIS, expect 15–40 km in average terrain, more if you have a hill or a tall building. You’ll quickly build a living picture of your local sky and water, and it’s addictive in the best way.
Use cases that stick
Community enrichment
By feeding your data, you help build a public good: better tracking improves situational awareness for pilots, mariners, emergency services, and the curious public. Your station can fill coverage gaps that commercial towers miss.
Learning and STEM
Kids (and adults) can explore radio, mapping, and data science in a tangible way. Try plotting daily aircraft counts, correlating ship arrivals with tides, or building a simple classifier for aircraft types using open data. The learning curve is gentle and rewarding.
Clubs and makerspaces
Radio clubs, maker groups, and maritime nonprofits can run shared receivers on rooftops. You get better mount options, shared maintenance, and community engagement. Use a shared Grafana to show visitors what’s moving over your city.
Final tips before you start drilling
- Start simple: a window‑mounted 1090 antenna and one RTL‑SDR. Verify your first aircraft before buying more gear.
- Buy filters early: they often make a bigger difference than a fancier SDR.
- Label everything: ports, coax, power. Future you will be grateful.
- Weatherproof once, properly: redoing a leaky junction box is no fun in a storm.
Summary:
- ADS‑B (1090/978 MHz) and AIS (162 MHz) broadcasts are open to receive and reveal live aircraft and ship positions.
- A practical kit uses RTL‑SDR dongles, tuned antennas, quality coax, and a Pi or mini‑PC.
- Mount antennas high, keep coax short, and use bandpass filters for clean decoding.
- dump1090/readsb + tar1090 for aircraft and AIS‑catcher for ships provide fast local maps.
- Share data with community networks to improve coverage, following local rules and ethics.
- Tune gain, correct PPM, and monitor message rates to maintain trustworthy reception.
- Secure the device on your network and pace public sharing to respect privacy and regulations.
External References:
- FlightAware PiAware build guide
- ADS‑B Exchange feeding instructions
- tar1090 aircraft dashboard
- Wikipedia: Automatic dependent surveillance–broadcast
- AIS‑catcher decoder and web UI
- MarineTraffic: How AIS reception works and how to share
- ITU Recommendation M.1371 (AIS technical standard)
- RTL‑SDR quick start guide
- RTL‑SDR: ADS‑B aircraft radar tutorial
