Listen to Air Traffic on FreeBSD Using RTL-SDR and OpenWebRX

If you’re curious about what’s happening in the skies above you, listening to airband communications can be both educational and fascinating. With a cheap RTL-SDR dongle and FreeBSD, you can tune into ATC (Air Traffic Control) and pilot conversations live.

In this guide, we will walk you through setting up OpenWebRX on a FreeBSD system, using an RTL-SDR USB dongle


🧰 What You’ll Need

  • A FreeBSD 13.x or 14.x system
  • RTL-SDR dongle (with RTL2832U chipset)
  • Airband antenna (or any VHF-capable antenna)
  • Internet access (for installing packages)
  • Basic CLI skills

🔧 Step 1: Install Required Packages

Install essential packages for RTL-SDR, Python, and audio support:

pkg install rtl-sdr git python3 py39-pip ffmpeg sox cmake gmake libusb

📡 Step 2: Plug in the RTL-SDR and Test It

Insert the dongle into a USB port and run:

rtl_test

You should see something like:

Found 1 device(s):
  0: Realtek, RTL2838UHIDIR, SN: 00000001
...

If you see USB permission errors, add yourself to the operator group:

pw groupmod operator -m yourusername

Then log out and back in.

Enable the cuse kernel module:

kldload cuse
echo 'cuse_load="YES"' >> /boot/loader.conf

🌍 Step 3: Get OpenWebRX

Clone OpenWebRX from GitHub:

git clone https://github.com/simonyiszk/openwebrx.git
cd openwebrx

Install Python dependencies:

pip install -r requirements.txt

⚙️ Step 4: Configure OpenWebRX for Airband

Copy the sample config:

cp openwebrx.cfg.sample openwebrx.cfg

Open the config file:

ee openwebrx.cfg

Adjust it for airband listening:

receiver = {
    "device": "rtl_sdr",
    "center_freq": 125000000,      # Center frequency: 125 MHz
    "sample_rate": 2400000,
    "gain": "auto",
    "ppm": 0,
}

Airband frequencies are from 118.000 MHz to 136.975 MHz, using AM mode. You can tune to any frequency within that range from the OpenWebRX web interface once it’s running.

Optionally, set your receiver location and name for reference:

location = {
    "lat": 3.1390,
    "lon": 101.6869,
    "name": "Kuala Lumpur",
}

🚀 Step 5: Start Listening

Launch OpenWebRX:

./openwebrx.py

Open your browser and go to:

http://localhost:8073

You’ll see a real-time spectrum waterfall and can start tuning across the airband using the interface.

To listen to Kuala Lumpur International Airport (WMKK), try around 119.45 MHz, 121.70 MHz, or 124.00 MHz for Tower, Ground, or Approach frequencies (depending on your location and reception quality).


🔐 Optional: Allow Access Over Network

If using PF (Packet Filter), open TCP port 8073:

pass in proto tcp from any to any port 8073

Reload PF rules:

pfctl -f /etc/pf.conf

Now you (or friends) can access it via http://yourip:8073.


📻 Tips for Better Reception

  • Use an antenna tuned for VHF (118–137 MHz). Discone or airband-specific whip antennas work well.
  • Mount your antenna as high and unobstructed as possible.
  • Adjust gain in config (gain: 40 or gain: "auto").
  • Tune PPM if needed (based on rtl_test output) for better accuracy.

🧠 Why This Is Awesome

  • You can monitor air traffic around KLIA or Subang Airport live.
  • Educational for student pilots, spotters, and aviation fans.
  • Works great with low-cost hardware and FreeBSD’s performance.

🛬 Final Thoughts

With just an RTL-SDR dongle and FreeBSD, you can enjoy real-time airband monitoring using OpenWebRX. This setup gives you a browser-based interface to scan, visualize, and decode live air traffic—right from your desk, anywhere in the world.

Post Comment

You May Have Missed