PiLNK is a free, open-source aviation network that runs on a Raspberry Pi. It combines live ADS-B aircraft tracking with VHF ATC audio reception, aircraft watchlists, emergency squawk detection, and a community network where PiLNK nodes share their data with each other in real time.
The whole project is built by aviation enthusiasts, for aviation enthusiasts — pilots, controllers, plane spotters, and Raspberry Pi tinkerers who wanted something better than the existing commercial options.
Those are commercial flight-tracking services that aggregate data from thousands of feeders worldwide and present it on a website. They're great for what they do.
PiLNK is different in three big ways:
It's a complete dashboard you run yourself — combining ADS-B, live ATC audio, watchlists, emergency alerts, history, and a community in one place on your own hardware.
It's free and open source — no subscriptions, no paywalls, no ads, no data harvesting.
It's built for hands-on enthusiasts — people who want their own node, not just a website to look at. PiLNK gives you ownership of your data and your setup.
PiLNK itself is free and open source. Your only costs are the hardware: a Raspberry Pi, an RTL-SDR USB dongle, and an antenna. There are no subscriptions, no premium tiers, and no ads.
Total hardware cost typically runs around US$80–150 depending on what Pi model and antenna you choose.
The Pi is small, low-power (runs 24/7 for cents per day), affordable, well supported, and has the USB and processing capability to handle ADS-B reception and audio decoding comfortably. It's the natural fit for an always-on aviation appliance you can tuck near a window with an antenna.
The essentials:
A Raspberry Pi. A Pi 4 (4GB or 8GB) or Pi 5 — both work. Pi 5 with NVMe is the smoothest experience; Pi 4 with SD card works perfectly.
Storage. A microSD card or NVMe drive, 32GB or larger.
An RTL-SDR USB dongle. This is what receives the radio signals. The Nooelec NESDR Smart v5 is a popular choice but most RTL2832U-based dongles will work.
An antenna. A 1090 MHz antenna for ADS-B reception. Even basic dipoles work surprisingly well; better antennas mean better range. For ATC audio, a separate VHF antenna improves quality.
A power supply for the Pi (the official Pi power supply is recommended — undersized power causes weird intermittent issues).
Yes. PiLNK has been successfully ported to AMD64 hardware — both AMD and Intel CPUs — running Debian Bookworm or earlier. There's a small HP mini PC currently running PiLNK as a production node in the community network, so it's not theoretical.
PiLNK's core requirements are a Debian-based Linux system, Python 3, a USB port for an RTL-SDR dongle, and enough CPU to handle ADS-B decoding (which isn't much). Any box that fits — an old laptop, an Intel NUC, a mini PC — can run it.
There's no reason to think PiLNK wouldn't run on other Debian-derived distributions like Ubuntu, Mint, or DietPi, but those haven't been formally tested or documented yet. If you've successfully run PiLNK on something unusual, post on the forum — we'd love to add it to the supported list.
The install script is currently optimised for Raspberry Pi OS Bookworm 64-bit, so on non-Pi hardware you may need a few extra manual steps. The reason the docs lead with Pi is that Pis are cheap, small, low-power, and built for exactly this kind of always-on job. But the software itself isn't Pi-locked.
The short version:
1. Flash Raspberry Pi OS (Bookworm 64-bit) to your SD card or NVMe using the Raspberry Pi Imager. Choose the Bookworm image, not the newest one — Debian Trixie (13) isn't supported yet, though support is coming soon.
2. Boot the Pi and connect it to your network.
3. Run the PiLNK installer with a single curl command from the install page.
The installer handles everything: dump1090, the PiLNK service, dependencies, and dashboard. Most people are tracking aircraft within 15 minutes of starting.
Not yet — and the installer will stop and tell you if it detects it. PiLNK currently runs on Raspberry Pi OS Bookworm (64-bit). Debian Trixie (13) support is in progress and coming soon.
When you flash your SD card or NVMe with the Raspberry Pi Imager, choose the Bookworm image rather than the newest release. Everything works perfectly on Bookworm today, and your hardware carries straight over once Trixie support lands — nothing to re-buy.
Yes. PiLNK is designed so your Pi connects out to pilnk.io, not the other way around. There's no inbound connection to your home network, no port forwarding required, and no firewall rules to configure.
This means PiLNK works fine if you're on:
CGNAT (Carrier-Grade NAT) — common with mobile internet, some fibre ISPs, and any setup where you don't have a public IP. PiLNK doesn't need one.
A regular home router with no special configuration.
A double-NAT setup (modem + separate router).
The only thing your Pi needs is outbound HTTPS access to pilnk.io. If you can browse the web from a device on your network, your Pi can talk to the network.
Not at all. PiLNK is built by aviation people for aviation people, but it's designed to be useful and interesting whether you're a licensed pilot, an aviation enthusiast, a plane spotter, a Raspberry Pi tinkerer, or simply curious about the aircraft flying overhead.
The dashboard explains aviation concepts in plain language, and the ARIA AI assistant is built in for when you have questions.
Almost none. If you can flash an SD card with Raspberry Pi Imager and copy-paste a command into a terminal, you can install PiLNK. Once it's running, everything happens in your web browser.
ADS-B (Automatic Dependent Surveillance–Broadcast) is a radio system aircraft use to constantly broadcast their position, altitude, speed, and identity. Almost all modern aircraft are equipped with it.
PiLNK receives those broadcasts with an RTL-SDR dongle, decodes them, and shows the aircraft on a live map — exactly as ATC sees them.
Yes. PiLNK includes a VHF radio receiver that lets you tune to local ATC frequencies and listen to live communications. You can switch between frequencies, save favourites, and listen directly through the web dashboard.
Coverage depends on your antenna, terrain, and how close you are to the airport. A clear line of sight to the tower helps a lot.
These are aviation emergency codes:
7500 — Unlawful interference (hijack)
7600 — Radio communication failure
7700 — General emergency
PiLNK detects these in real time and triggers a visible alert on the dashboard. They are extremely rare — most pilots will never use them in their entire career — but when they do happen, you'll know within seconds.
The watchlist lets you flag specific aircraft you want to be alerted about. Add them by callsign, hex code, or registration. When a watched aircraft appears on your node, you get a notification. To see what's flying across the global network, check the Network page.
Useful for tracking specific airline flights, military aircraft, or that particular jet you've always wanted to see.
ARIA is the PiLNK AI assistant. You can ask it questions about aircraft, airports, weather, callsigns, aviation regulations, and how to use PiLNK itself.
It's designed to be a knowledgeable aviation companion built into the dashboard — not a generic chatbot.
Yes. The dashboard maintains a 24-hour rolling history of aircraft trails for every flight your node has tracked, so you can review what flew past during the day.
A PiLNK node is any Pi running PiLNK. Each node is identified by a unique 8-character PiLNK code and shares its tracked aircraft with the network in real time.
That means when you visit pilnk.io, you can see what aircraft other nodes around the world are receiving, browse them by region, and watch the global picture in real time.
You can run PiLNK in private/local-only mode if you prefer — your Pi dashboard works fully on its own. Joining the network is optional but it's where a lot of the magic happens (seeing global activity on the Network page, the leaderboards, the community).
Very little. A typical PiLNK node uses around 50 to 200 MB per day of outbound traffic to the community network — heartbeat pings, aircraft data uploads, occasional photo fetches. That's about the same as streaming a single song.
If you're not connected to the network (running offline-only), it uses zero internet bandwidth.
The most bandwidth-hungry feature is loading live aircraft photos for the click-cards — those come from third-party photo databases and use whatever your normal browsing would. The actual ADS-B reception is radio, not internet.
The forum at pilnk.io is the community hub. It's where you go for installation help, feature discussion, sharing interesting captures, asking questions, and meeting other PiLNK users. The maintainers and experienced users are active there.
Yes. The Network page on pilnk.io shows every active PiLNK node on a map, with the aircraft each one is currently tracking. Click any node to see its details and current traffic.
PiLNK does not collect personal information beyond what you choose to provide when you register an account (email, callsign, location for your node).
The data shared with the community network is aircraft data — what's flying overhead — not personal data. Your Pi runs locally on your own network, and you control what gets shared.
Three things, and only when you're connected to the community network:
Aircraft you've received. The ADS-B messages your antenna picks up — aircraft hex, position, altitude, callsign, speed. This is the same data every aircraft broadcasts publicly, and it's what makes the global network map possible.
A heartbeat ping every few minutes. So pilnk.io knows your node is online. This includes basic stats like how many aircraft you're tracking and your software version.
Anything you choose to share. Forum posts, watchlist alerts, photos you upload — only what you explicitly send.
What does not leave your node: your network traffic, the audio you receive on the VHF radio, your IP address (beyond what HTTP normally exposes), or anything else from your Pi or your network. Your Pi reaches out to pilnk.io over HTTPS; nothing reaches back into your home network.
Data is stored at pilnk.io which is hosted in New Zealand. See the Privacy Policy for the full picture.
Not by default. The PiLNK dashboard runs on your Pi at http://pi-ip-address:5000 and is only reachable from inside your home network. People on the public internet can't see it, can't connect to it, and can't access it.
If you choose to expose the dashboard publicly (via port forwarding, a reverse proxy, or a Tailscale-style mesh), that's your decision and your configuration — PiLNK doesn't do that for you. Most operators don't need to. The community features at pilnk.io are how the network shares data without ever exposing your local dashboard.
If you're sharing your home network with other people (flatmates, family), they could potentially access the dashboard since they're on the same LAN. PiLNK doesn't require a login to view the dashboard locally — it's designed to feel like a household appliance, not a fortress. If that matters to you, putting the Pi on a separate VLAN is the cleanest answer.
Partially. The local Pi dashboard works fully offline — you can still receive and track aircraft and listen to ATC audio.
The community features at pilnk.io (network map, forum, watchlist) require internet. PiLNK is designed to be useful in both modes.
Short answer: radio reception laws vary by country, and you're responsible for confirming what's allowed where you are.
Receiving ADS-B (the 1090 MHz signals aircraft broadcast openly) is allowed in almost every country — it's a public radio service. PiLNK's network map and aircraft tracking features rely only on this.
Receiving VHF ATC audio is more varied:
United States, Australia, New Zealand — generally permitted for personal use.
United Kingdom and many EU countries — lawful to receive, but onward disclosure of the content may be regulated (the UK Wireless Telegraphy Act is the canonical example).
Some Middle East and Asian countries — reception may be prohibited or require a licence.
The VHF radio feature in PiLNK ships off by default — you have to explicitly press LISTEN to activate it. The legal notice in the radio tab points to the Terms for the full breakdown. If you're unsure about your jurisdiction, check with your national telecommunications regulator or amateur radio club before pressing LISTEN.
Network audio streaming is not a PiLNK feature and never will be. The audio you receive on your dongle stays on your device.
PiLNK was originally envisioned as a global ATC audio network — every node contributing VHF reception, any user able to listen to any node. We dropped that plan because the legal landscape is too varied across countries.
Receiving radio signals locally is one thing — re-transmitting that audio to other users, even non-commercially, is regulated very differently in the US, UK, EU, Australia, New Zealand, and elsewhere. Some jurisdictions require broadcaster licences. Some allow personal reception but prohibit onward disclosure of content. Some require contracts with the originating authority. Building a single platform that's lawful in every jurisdiction would have meant an enormous legal effort with no margin for error.
PiLNK chose to be unambiguously legal everywhere instead. Your Pi tunes your own dongle, audio plays in your own browser, and the audio never leaves your device. There is no audio uploading, no audio relay through pilnk.io, no listening to other people's nodes.
What does get shared globally is ADS-B data — the position broadcasts aircraft transmit on 1090 MHz, which is a genuine public radio service. That's what powers the network map, ghost-hunting, coverage stats, and the community features. ATC audio stays local to you.
It's a real loss from the original vision. But it's also the difference between a platform we can run forever and one that would have been a legal whack-a-mole. We made the call early and we stand by it.
Yes, PiLNK is fully open source on GitHub. Contributions are welcome — bug reports, feature ideas, code, documentation, and community participation all help the project grow.
The community forum is the best place to start a conversation if you want to contribute.
PiLNK is built on dump1090 for ADS-B decoding, rtl_fm for VHF audio, Python/Flask for the Pi dashboard backend, PHP for the public community site, and MySQL for the community database. The dashboard frontend is plain JavaScript with Leaflet for mapping.
The whole stack is intentionally simple and standard — easy to understand, easy to fix, easy to extend.
The PiLNK community forum at pilnk.io is the primary support channel. Post your problem, what hardware you're using, what you've tried, and any error messages.
The community and the project maintainers are active and friendly. Most install problems get sorted within a day.
Most of the time it's the antenna setup, not the software. Quick checklist:
1. Is the antenna actually plugged into the RTL-SDR dongle?
2. Is the dongle plugged into the Pi (and showing up via lsusb)?
3. Is the antenna near a window or with line-of-sight to the sky?
4. Are you in a region with active ADS-B traffic? (Most of the world is, but very remote areas may have low traffic.)
If all of those check out and still nothing, post on the forum with your Pi model, dongle model, antenna setup, and your location — the community will help diagnose.
PiLNK is actively developed. Planned features include:
Flight Replay — rewatch interesting flights with full trail and emergency events.
Premium Audio mode — higher-quality ATC reception with proper AM demodulation.
3D flight visualization — see aircraft in 3D space, not just on a flat map.
Pre-configured SD cards — for one-step setup without flashing your own.
Check the changelog for the latest updates and the forum for community discussion.
The most valuable support is using PiLNK and contributing to the community — running a node, posting on the forum, reporting bugs, suggesting features, helping new users get started.
If you'd like to support development directly, financial contribution options will be added in the future. For now, just run a node and tell a friend.
Head to the community forum on pilnk.io.
It's the fastest way to get an answer and the best way to meet other PiLNK users.