In the modern radar tracking landscape, receiving 1090 MHz ADS-B messages is only the tip of the iceberg. By leveraging Mode-S transponder interrogation capabilities, software-defined receivers like dump1090-fa or readsb can decode Comm-B Data Structure (BDS) registers, revealing critical aerodynamic parameters such as roll angle, Mach number, indicated airspeed (IAS), and total air temperature (TAT).
⚡ Scheda Tecnica & Dati Operativi
Architecture of BDS 4.0 and 5.0 Messages
BDS (BDS Register Data Structure) registers in Mode-S transponders contain detailed aircraft state information extracted directly from onboard navigation systems (FMS and Air Data Computer). Specifically, register BDS 4.0 carries meteorological and barometric data (Selected Altitude, Barometric Pressure Setting), while register BDS 5.0 provides the Track and Turn Report, including roll angle, yaw rate, indicated airspeed (IAS or TAS), and Mach number.
Hardware Configuration and RF Reception

To correctly capture Comm-B reply packets in response to interrogations (or via spontaneous Extended Squitter/Comm-B Broadcast), an optimized 1090 MHz receiving setup is required:
- SDR Receiver: RTL-SDR v4 (featuring excellent L-band front-end filtering) or Airspy Mini / Airspy R2 for superior dynamic resolution (12-bit ADC).
- Antenna: 1/2-wave vertical collinear antenna or whip tuned precisely to $f = 1090\text{ MHz}$ (resonant whip length $L \approx 68.8\text{ mm}$).
- Coaxial Cable: Low-loss cable such as LMR-400 or RG-213 for runs exceeding 10 meters, equipped with a 1090 MHz SAW bandpass filter to attenuate LTE/5G cellular tower interference.
BDS Registers Table and Extracted Parameters
| BDS Register | Parameter Name | Unit of Measure | Resolution / Range |
|---|---|---|---|
| BDS 4.0 | Selected Altitude (MCP/FCU) | ft | 32 ft steps (-1000 ft to 101376 ft) |
| BDS 4.0 | Barometric Pressure Setting | mb / inHg | 0.1 mb (592.0 to 1055.0 mb) |
| BDS 5.0 | Roll Angle | degrees (°) | 0.2° (-90° to +90°) |
| BDS 5.0 | True Airspeed (TAS) / IAS | kt | 2 kt (0 to 1022 kt) |
| BDS 5.0 | Mach Number | Mach | 0.004 (0 to 4.096) |
| BDS 6.0 | Heading / Track Angle | degrees (°) | 360° / 2^12 |
Configuration and Compilation of readsb / dump1090
To enable advanced BDS register decoding inside your Raspberry Pi-based feeder, you can configure readsb with extended Mode-S packet logging flags. Execute the following commands to update dependencies and build the latest version:
sudo apt update && sudo apt install -y git build-essential debhelper librtlsdr-dev pkg-config libusb-1.0-0-dev
git clone https://github.com/wiedehopf/readsb.git
cd readsb
make -j$(nproc) AIRCRAFT_HASH_BITS=16
sudo make install
Once installed, configure the daemon by launching it with Comm-B message support and Beast format output:
readsb --device-type rtlsdr --gain 42 --net --net-bo-port 30005 --metrics --bds-action decode
*0a4c28f32028169b; {\n "hex": "4c28f3", \n "flight": "AZI604 ", \n "alt_baro": 36000, \n "roll": -24.5, \n "mach": 0.782, \n "ias": 284, \n "bds": "5,0"
}
Share Your Data with ADSBItalia (HFDL/ACARS Feeding)
Contributing to ADSBItalia's open-source monitoring network enriches global coverage across Italian and European skies. Beyond traditional 1090 MHz ADS-B traffic and Mode-S BDS telemetry, you can expand your station by integrating HFDL (High Frequency Data Link) and ACARS reception. To configure your feeder data stream to ADSBItalia's central aggregation servers, refer to our ADSBItalia ACARS/HFDL Feeder Guide.
All collected data powers our interactive live radar map in real-time. Visit map.adsbitalia.it now to explore the airborne fleet and verify your station's connection status.

