How to Get a Free FlightRadar24 Business Subscription with Your Own ADS-B Receiver

✈️ Why Monitor ADS-B Data?

Automatic Dependent Surveillance–Broadcast (ADS-B) is a surveillance technology used by aircraft to broadcast their position, speed, and other flight data in real time. Enthusiasts and aviation hobbyists around the world use software-defined radios (SDRs) to receive these signals — and contribute data to platforms like FlightRadar24.

The best part? If you share your ADS-B data with FlightRadar24, they’ll reward you with a free Business account subscription (normally $499.99/year), which includes:

  • Up to 3 years of flight history
  • Access to weather layers, airspace boundaries, and detailed aircraft photos
  • A full-featured web and mobile experience
  • Premium customer support

All you need is some basic hardware, a little technical setup, and a love for aviation data. Let's dive in.


🧰 What You Need (Prerequisites)

To get started with your own ADS-B monitoring setup, you'll need:

  1. RTL-SDR Dongle – A USB device capable of receiving 1090 MHz signals from aircraft.
  2. Antenna – Ideally one that’s placed high and unobstructed for best reception
  3. A Raspberry Pi or Linux Machine – We'll be running our setup using Docker.
  4. Docker and Docker Compose – Installed on your host machine.
  5. FlightRadar24 Account – To get your unique sharing key (FR24KEY).
  6. Latitude and Longitude – Your receiver’s exact location.

Tip: If you don’t have an FR24 key yet, register your hardware at fr24.com/share-your-data and request one.


📦 Setup Overview

We're going to set up two services using Docker:

  • readsb: Listens to ADS-B signals from your SDR and decodes them.
  • fr24feed: Sends the decoded aircraft data to FlightRadar24.

📁 Create Your Project Folder

Open a terminal and run:

1mkdir fr24 && cd fr24
2touch .env docker-compose.yaml

📝 Configure .env File

Edit the .env file with your details:

1FR24KEY=your-fr24-key
2LATITUDE=your-latitude
3LONGITUDE=your-longitude

Make sure to replace those placeholders with your actual info.


⚙️ Docker Compose Setup

Paste this into your docker-compose.yaml:

 1services:
 2  fr24feed:
 3    image: ghcr.io/sdr-enthusiasts/docker-flightradar24:latest
 4    container_name: fr24feed
 5    restart: always
 6    tty: true
 7    ports:
 8      - 8754:8754
 9    environment:
10      - FR24KEY=${FR24KEY}
11    depends_on:
12      readsb:
13        condition: service_healthy
14    links:
15      - readsb
16    deploy:
17      resources:
18        limits:
19          cpus: '1'
20          memory: 256M
21
22  readsb:
23    image: ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
24    container_name: readsb
25    hostname: readsb
26    restart: always
27    tty: true
28    devices:
29      - /dev/bus/usb:/dev/bus/usb
30    ports:
31      - 8080:8080
32      - 30005:30005
33    environment:
34      - TZ=Europe/London
35      - READSB_DCFILTER=true
36      - READSB_DEVICE_TYPE=rtlsdr
37      - READSB_FIX=true
38      - READSB_GAIN=autogain
39      - READSB_LAT=${LATITUDE}
40      - READSB_LON=${LONGITUDE}
41      - READSB_MODEAC=true
42      - READSB_RX_LOCATION_ACCURACY=2
43      - READSB_STATS_RANGE=true
44      - READSB_NET_ENABLE=true
45    volumes:
46      - readsbpb_rrd:/run/collectd
47      - readsbpb_autogain:/run/autogain
48      - /proc/diskstats:/proc/diskstats:ro
49    tmpfs:
50      - /run/readsb:size=64M
51      - /var/log:size=32M
52    deploy:
53      resources:
54        limits:
55          cpus: '1'
56          memory: 256M
57
58volumes:
59  readsbpb_rrd:
60  readsbpb_autogain:

🖥️ What Each Service Does

readsb

  • Purpose: Captures and decodes signals from your RTL-SDR device.

  • Ports:

    • 8080: Web UI for live stats
    • 30005: Feeds data to fr24feed
  • Key Environment Variables:

    • READSB_LAT, READSB_LON: Your location
    • READSB_GAIN=autogain: Auto-optimized SDR signal gain

fr24feed

  • Purpose: Submits your decoded data to FlightRadar24
  • Port: 8754 - Check your feed and receiver status here
  • Key Variable: FR24KEY: Your personal sharing token

🚀 Start Your Setup

With everything configured, launch the containers:

1docker compose up -d

Check the logs to confirm everything is running smoothly:

1docker compose logs -f readsb
2docker compose logs -f fr24feed

🔍 Web Interfaces


🧪 Bonus: Test Live Aircraft Feed

Want to peek inside the raw feed? Run:

1docker exec -it readsb viewadsb

You'll see live aircraft data like this:

1Hex     Flight   Alt    Spd  Lat      Long     RSSI  Msgs
24D2223  RYR59AR  40000  460  51.232   -0.980   -23.7   414
3AB4C1D  DAL74    36000  527  51.639   -0.392   -34.6   218

🧠 Additional Resources

By following this guide, you can easily set up your own ADS-B monitoring station. Whether you're a hobbyist or an aviation enthusiast, this project is a great way to combine technology with a love for flight tracking. Happy monitoring!

comments powered by Disqus