Flugzeuge senden permanent ihre Position, Höhe und Geschwindigkeit auf 1090 MHz. Einfach so, unverschlüsselt, für jeden empfangbar. Das Ganze nennt sich ADS-B (Automatic Dependent Surveillance-Broadcast) und ist seit Jahren Standard in der Luftfahrt. Man braucht nur einen günstigen SDR-Empfänger und eine passende Antenne, um das Signal zu dekodieren. Und weil Dienste wie Flightradar24 auf Daten von freiwilligen Feedern angewiesen sind, bekommt man als Gegenleistung einen Business-Account, der sonst knapp 500 Euro im Jahr kostet.
Ich wollte das schon länger mal ausprobieren. Ein Raspberry Pi lag noch herum, ein billiger RTL-SDR-Stick war schnell bestellt, und die Antenne habe ich selbst gebaut. Nach längerem Betrieb kann ich sagen: Das Projekt macht erstaunlich viel Spaß und liefert faszinierende Ergebnisse. Bis zu 335 km Reichweite mit einer Antenne aus Kupferdraht und einer N-Buchse für unter 10 Euro.
Was ist ADS-B eigentlich?
ADS-B steht für Automatic Dependent Surveillance-Broadcast. Jedes moderne Verkehrsflugzeug sendet damit periodisch seine GPS-Position, Flughöhe, Geschwindigkeit, ICAO-Kennung und Squawk-Code auf 1090 MHz. Das Signal ist nicht verschlüsselt und nicht authentifiziert. Jeder mit einem passenden Empfänger kann es dekodieren. Der Empfang ist legal und rein passiv, man sendet nichts.
Die Reichweite hängt von der Sichtlinie (Line of Sight) ab. Flugzeuge in großer Höhe sind über hunderte Kilometer empfangbar. Tieffliegende Maschinen oder Flugzeuge hinter Bergen dagegen nicht. Topografie spielt eine große Rolle.
Warum ein eigener Feeder?
Flightradar24 lebt von den Daten freiwilliger Feeder weltweit. Je mehr Stationen, desto besser die Abdeckung. Als Gegenleistung gibt es einen kostenlosen Business-Account. Der kostet regulär knapp 500 Euro pro Jahr und bietet unter anderem erweiterte Filter, historische Flugdaten und eine werbefreie Oberfläche. Für Hardware im Wert von 100 bis 150 Euro ein ziemlich guter Deal.
Nebenbei kann man die empfangenen Daten auch parallel an andere Dienste wie FlightAware oder ADS-B Exchange schicken. Und natürlich ist es einfach ein tolles Bastelprojekt mit sofort sichtbarem Ergebnis. Man sieht in Echtzeit auf einer Karte, welche Maschinen gerade über einem fliegen.
Hardware
Das Setup ist überschaubar:
| Komponente | Modell | Hinweis |
|---|---|---|
| Einplatinencomputer | Raspberry Pi 4 Model B | 4 GB RAM, 64 GB SD-Karte |
| Betriebssystem | Pi24 (offizielles FR24-Image) | Debian Bookworm, Kernel 6.12 |
| SDR-Dongle | Realtek RTL2838 (RTL-SDR) | Günstiger DVB-T-Stick als SDR-Empfänger |
| GPS-Dongle | VK-162 (u-blox 7) | USB, 3D-Fix, ~10 Satelliten |
| Antenne | Eigenbau: λ/4-Groundplane | Für 1090 MHz, siehe Abschnitt Antennenbau |
Der Raspberry Pi 4 ist für die Aufgabe eigentlich überdimensioniert. Ein Pi 2 oder 3 würde ebenfalls reichen. Das Pi24-Image von Flightradar24 bringt alles mit: Betriebssystem, den Feeder-Client fr24feed, den ADS-B-Decoder dump1090 und ein lokales Web-Interface. SD-Karte flashen, WLAN oder Ethernet konfigurieren, fertig.
Der RTL-SDR-Dongle ist ein umfunktionierter DVB-T-Stick. Die Dinger kosten zwischen 10 und 25 Euro und können in einem breiten Frequenzbereich empfangen. Für ADS-B braucht man 1090 MHz, das schaffen die meisten RTL2832U-basierten Sticks problemlos.
Standort
Mein Feeder steht im Raum Bonn/Hangelar (Siegburg-Umgebung). Nicht gerade der ideale Standort für maximale Reichweite. Die Eifel im Süden blockiert einen Teil des Empfangs, und die Antenne steht aktuell nur am Fenster. Trotzdem sind die Ergebnisse beeindruckend, dazu gleich mehr.
Meine Radar-ID bei Flightradar24: T-EDKB55.
Antennenbau: λ/4-Groundplane für 1090 MHz
Die mitgelieferten DVB-T-Antennen sind für den Frequenzbereich um 500 MHz ausgelegt. Für ADS-B auf 1090 MHz sind sie schlicht ungeeignet. Ich habe drei verschiedene gekaufte DVB-T-Antennen getestet. Alle performten schlechter als die Original-Stummelantenne. Das war frustrierend, aber auch lehrreich.
Die Lösung: Selbst bauen. Nach einer hervorragenden Anleitung von weberblog.net habe ich eine λ/4-Groundplane-Antenne gebaut. Das ist im Prinzip ein vertikaler Strahler mit vier Radialen, abgestimmt auf 1090 MHz.
Die Physik dahinter ist simpel: Die Wellenlänge bei 1090 MHz beträgt λ = c / f ≈ 27,5 cm. Ein Viertel davon (λ/4) ergibt 68 mm. Das ist die Länge jedes Antennenelements.
Material:
- N-Einbaubuchse (N-Flanschbuchse)
- 2,5 mm² Kupferdraht (massiv)
- Koaxialkabel (RG213 oder Satellitenkabel)
- M4-Schrauben zur Montage
- Adapter je nach SDR-Stick (MCX, SMA oder BNC)
Aufbau: Ein Strahler (68 mm Kupferdraht) wird vertikal am Center-Pin der N-Buchse angelötet. Vier Radiale (ebenfalls 68 mm) werden an der Masse befestigt und ca. 45 Grad nach unten gebogen. Alle Elemente exakt auf 68 mm kürzen, das ist wichtig. Optional kann man einen Wetterschutz drüber stülpen, ein altes CD-Spindelgehäuse oder ein Stück PVC-Rohr tut es.
Laut der Bauanleitung von weberblog.net bringt die selbstgebaute Antenne im Indoor-Test +61% mehr erkannte Flugzeuge (39 → 63 Aircraft). Andere Bastler berichten von bis zu 160 NM Reichweite mit acht Radialen und Mastmontage. Meine Erfahrung bestätigt das. Der Unterschied zur Stummelantenne war sofort sichtbar.
Software
Das Pi24-Image bringt alles mit. fr24feed ist der offizielle Feeder-Client von Flightradar24. Er startet intern dump1090-mutability als ADS-B-Decoder und schickt die empfangenen Daten per UDP an die FR24-Server. Dazu läuft ein lighttpd für die lokalen Web-Interfaces.
Die Konfiguration liegt in /etc/fr24feed.ini:
receiver=dvbt fr24key=<sharing-key> path=/usr/lib/fr24/dump1090 bs=no raw=no mlat=yes mlat-without-gps=yes lat=50.578167 lon=6.948833 alt=1261
Lokal gibt es drei Web-Interfaces: Die FR24 Status-GUI unter http://<IP>/, den JSON-Monitor unter http://<IP>:8754/monitor.json und die dump1090-Karte unter http://<IP>:8080/. Die Karte zeigt in Echtzeit alle empfangenen Flugzeuge auf einer OpenStreetMap-Karte. Das alleine ist schon faszinierend.
Ersteinrichtung
Nach dem Flashen des Pi24-Images musste ich noch ein paar Dinge anpassen:
- Hostname geändert:
pi24-bookworm→flightradar24 - Statische IP konfiguriert via NetworkManager (DHCP → feste Adresse)
- GPS-Koordinaten in
fr24feed.inieingetragen dump978-fr24deaktiviert (UAT 978 MHz wird in Europa nicht verwendet)- Bluetooth deaktiviert (nicht benötigt, erzeugte unnötige Fehlermeldungen)
- OS-Update: 232 Pakete aktualisiert, Kernel von 6.6.21 auf 6.12.62
- Boot-Fix: Bind-Mount
/boot→/boot/firmware(Pi24-Image-Kompatibilität)
Reichweite und Ergebnisse
Nach drei Wochen Betrieb, noch mit der Antenne am Fenster:
| Metrik | Wert |
|---|---|
| Flugzeuge aktuell getrackt (Snapshot) | 74 (34 ADS-B + 40 Non-ADS-B) |
| Flugzeuge gesamt gesehen | 1.541 |
| Nachrichten verarbeitet | ~8,9 Millionen |
| Maximale Reichweite | ~335 km (~181 NM) |
| Signal (Durchschnitt) | -20,9 dBFS |
| SNR | ~14,8 dB |
| CPU-Temperatur | 47,2 °C |
| Uptime | 20 Tage |
335 Kilometer Reichweite. Mit einer Indoor-Antenne aus Kupferdraht für unter 10 Euro. Das war ein Norwegian-Flug (NOZ1802) über der Nordsee auf FL360. Das hätte ich vorher nicht für möglich gehalten.
Die Hauptabdeckung geht nach Norden und Nordwesten. KLM-Flüge über den Niederrhein und die Niederlande sind in 250 bis 335 km Entfernung problemlos sichtbar. Nach Nordosten reicht es bis ins Münsterland und den Raum Osnabrück. Nach Süden ist die Abdeckung durch die Eifel-Topografie eingeschränkt, aber Flüge bis in den Raum Trier/Luxemburg (~100 km) kommen noch durch. Lokal sieht man natürlich alles, was sich im Raum Bonn/Hangelar bewegt, Privatflieger, Kleinflugzeuge, Hubschrauber.
Ein paar Beispiele vom Snapshot:
| Callsign | Airline | Höhe | Entfernung |
|---|---|---|---|
| NOZ1802 | Norwegian | FL360 | ~335 km |
| BTI859 | airBaltic | 10.600 ft | ~249 km |
| KLM96E | KLM | 14.725 ft | ~232 km |
| SIA314 | Singapore Airlines | FL360 | ~25 km |
| BAW169 | British Airways | FL330 | ~16 km |
| UAE62T | Emirates | FL380 | ~42 km |
Singapore Airlines, Emirates und British Airways über dem Rheinland. Das hat was.
Bug: NTP-Client in fr24feed 1.0.55-0
Achtung, Falle: Version 1.0.55-0 von fr24feed ist defekt. Der Feeder bleibt in einer Endlosschleife mit [time][e]Failed to synchronize time hängen und geht nie online. Nicht nur MLAT funktioniert nicht, das gesamte Feeding ist tot.
Ich habe das mit strace und tcpdump analysiert. Der statisch kompilierte interne NTP-Client löst pool.ntp.org per DNS korrekt auf, sendet aber nie UDP-Pakete auf Port 123. Der Client ist schlicht kaputt. Kein Workaround hat funktioniert: weder Root-Rechte, noch CAP_NET_RAW, noch ein lokaler NTP-Server, noch nftables DNAT-Umleitung.
Die Lösung ist ein Downgrade:
# Downgrade auf funktionierende Version sudo apt install fr24feed=1.0.54-0 # Version pinnen gegen Auto-Update sudo apt-mark hold fr24feed
Ich habe den Bug direkt an den FR24-Support gemeldet, mit strace-Nachweis, tcpdump-Capture und der kompletten Liste getesteter Workarounds. Die Antwort war ernüchternd: Man könne den Bug nicht reproduzieren, vermutet aber eine Library-Regression durch einen Wechsel des Build-Systems. Der Bug ist seit Januar 2026 auch im FR24-Forum bekannt (Threads #186163 und #231707). Da fr24feed proprietär und Closed Source ist, kann man leider keinen Pull Request einreichen.
Das bedeutet auch: MLAT (Multilateration) funktioniert bei mir aktuell nicht. MLAT würde es ermöglichen, auch Flugzeuge ohne ADS-B-Transponder zu erfassen, indem mehrere Feeder-Stationen die Signallaufzeiten triangulieren. Dafür braucht der Feeder aber eine exakte Zeitbasis, und genau die liefert der kaputte NTP-Client nicht. Sobald FR24 eine gefixte Version veröffentlicht, werde ich das aktivieren.
Kosten
| Posten | Kosten |
|---|---|
| Raspberry Pi 4 (4 GB) | ~60–75 EUR |
| RTL-SDR USB-Dongle | ~10–25 EUR |
| Antenne (Eigenbau) | ~5–10 EUR |
| GPS-Dongle VK-162 | ~15 EUR |
| SD-Karte 64 GB | ~10 EUR |
| Netzteil, Kabel, Gehäuse | ~15–20 EUR |
| Gesamt | ~115–155 EUR |
Für 115 bis 155 Euro bekommt man einen funktionierenden ADS-B-Feeder und einen Flightradar24 Business-Account im Wert von knapp 500 Euro pro Jahr. Das Projekt amortisiert sich also ziemlich schnell.
Was noch kommt
- MLAT aktivieren, sobald FR24 den NTP-Bug fixt
- Outdoor-Montage der Antenne mit Wetterschutz, das sollte die Reichweite nochmals deutlich verbessern
- Parallel-Feeding an FlightAware, ADS-B Exchange und andere Dienste
Siehe auch:
- Raspberry Pi als FM-Radiosender mit PiFM — ein anderes Funk-Projekt mit dem Pi
- Raspberry Pi als serieller Konsolenserver — noch ein Pi aus der Schublade mit neuer Aufgabe
- DIY Feinstaubsensor bauen: Luftqualität selbst messen — ähnliches Bastelprojekt mit Sensor und Mikrocontroller
- Temperatur und Luftfeuchtigkeit mit DHT22 am Raspberry Pi messen — der Pi als Sensorplattform
Fragen, eigene Erfahrungen mit ADS-B oder Verbesserungsvorschläge? Gerne über das Kontaktformular.




Schreibe einen Kommentar