I recently bought an RTL-SDR dongle and an antenna to receive ADS-B messages. These are short packets of data, broadcast by every plane in the sky, to inform others of their position, heading, speed and other flight data. The transmission of these messages is mandatory for aircraft, as it prevents mid-air accidents. They are also unencrypted, which means anyone can listen to them. All you need is an antenna and a dongle to ingest the data on your PC (pictured above), which can be bought for less than 100$. The incoming data can then be processed by software like readsb which decodes the messages. You can choose to broadcast your own data to central servers like the ADS-B Exchange, like many hobbyists do. Thanks to them, we can visualise just about every aircraft currently in the sky. They also provide access to historic data. One way these massive amounts of data can be used is to make cool visualisation, like Clickhouse did. We’re going to do something a bit different. How does ADS-B Work ADS-B messages are (usually) transmitted by a mode S transponder on the frequency 1090 MHz. Pulse position modulation is used to encode these messages as they transmit digital data (If you want to read about analog signal transmission, you can read my recent post on FM radio). The excellent book “The 1090 Megahertz Riddle” by Junzi Sun goes into a lot of detail about ADS-B and how it works. Collecting Data By aggregating and processing the messages about position and heading, we can build a very crude meteorological model! All the work in this blog post is based on this paper (code available at github.com/junzis/meteo-particle-model). ADS-B messages contain information about both ground speed (measured using a GPS) and airspeed (which is the plane’s speed relative to the surrounding air, measured by on-board sensors). The ADS-B messages also contain the current heading and the track angle of the plane. The heading of the plane is direction the nose points in, while the track is th...
First seen: 2025-08-01 23:11
Last seen: 2025-08-02 17:15