Repository navigation
VDL2 RX
Receives VDL Mode 2 (VHF Data Link mode 2), the digital data link most airliners use next to and instead of classic ACARS, and lists the aircraft and ground stations heard. ACARS messages carried over VDL2 are decoded into text, per aircraft. Registration, type and operator come from the ADS-B aircraft database on the SD card.
This is an external app (.ppma file on the SD card), in the Receivers menu.
- Channel: the VDL2 channel to listen on. 136.975 MHz is the common signalling channel used everywhere; the others (136.650, 136.700, 136.725, 136.775, 136.800, 136.825, 136.875, 136.900 MHz) are used by the service providers in some regions and around busy airports. The channel list is the only tuning: VDL2 always sits on these 25 kHz channels.
- RF Amp (0 or 1): Enables/disables the internal RF amplifier.
- LNA gain (0–40): Low-noise amplifier gain. See Receive Quality Issues.
- VGA gain (0–62): Variable-gain amplifier gain. See Receive Quality Issues.
- RSSI: Signal strength indicator.
- Config: Opens the configuration screen, see Config screen.
One row per station heard, the most recent at the top:
| Column | Meaning |
|---|---|
| ICAO | The 24-bit ICAO address of the aircraft, in hex. Ground stations show as GROUND. |
| Reg | The registration, from the ACARS messages or from the ADS-B database (/ADSB/icao24.db). |
| Flight | The flight number, from the ACARS messages. |
| # | Number of frames received from this station. |
The list keeps the last 16 stations. Select a row to open its detail view.
- ICAO / Reg: address and registration.
- Flight / Type: flight number and aircraft type.
- Oper: the operator, from the database.
- Out / Off / On / In: the OOOI times (gate out, wheels off, wheels on, gate in), taken from the ACARS messages that report them. The time shown is when the message was received.
- Frames / ACARS: all frames from this station, and how many carried ACARS.
- Link / Data: frames for the link itself (connection set-up, keep-alive, ATN), and data frames.
- Last: when the station was last heard, and the label of its last ACARS message.
- The most recent message texts are shown below the fields.
Messages opens a scrollable view of all ACARS texts of this aircraft, in full. Scroll with the encoder or Up/Down; Left or Back returns. Messages from the aircraft start with >, uplink messages to it with <. The app keeps the last 32 messages (up to 4 KB of text) of all stations together; the oldest go first.
-
Enable Log: writes every ACARS message to
LOGS/VDL2.TXT: source and destination address, registration, flight, label, message number, text and the carrier offset in Hz. - Use Small Font: shows the list and the detail view in the compact font, so more fits on the screen.
- Most traffic is heard near airports and below busy airways. A plane on the ground or climbing out within line of sight is heard best.
- Many frames carry no ACARS text: they keep the link going or carry ATN/CPDLC data. Those count under Link and Data.
- For the registration, type and operator, copy the ADS-B database
icao24.dbinto/ADSB/on the SD card (the same file the ADS-B app uses). - Classic ACARS on 131.825 MHz and nearby channels is received by the ACARS app.
VDL2 is D8PSK at 10.5 ksymbols/s (31.5 kbit/s) in a 25 kHz channel. The baseband decimates 3.072 MHz to 48 kHz, filters the channel, finds the burst preamble and takes the carrier offset from it, demodulates the 8 phases, descrambles, decodes the header and corrects each block with Reed-Solomon (255,249), then checks the HDLC frame check sequence. Frames that pass go to the app, which decodes the AVLC addresses and the ACARS inside.
The channel, gains and the Config choices are saved to rx_vdl2.ini when App Settings is enabled in the global Settings menu.
Receiving aeronautical data links may be restricted in your country, and publishing what you receive (for example personal data in free-text messages) usually is. Check local regulations before use.
How to collaborate
Contributing Guidelines
Trusted contributors
How to ask questions correctly
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
-
Description of the hardware
- Enclosure/cases
- Care of PortaPack/HackRF
- Repairs
- Mods
🔧 Troubleshooting
- FAQ
- SolveBoard
- 🔌 Boot & power
- 💾 Firmware & recovery
- 📡 Receive & transmit
- 💳 SD card
- 🔗 USB connectivity
- 🧩 Apps
📥 Receivers
- 2-Tone-RX
- ACARS
- ADS-B
- AFSK
- AIS Boats
- Analog TV
- APRS RX
- Audio
- BLE RX
- Detector
- EPIRB RX
- ERT Meter
- Flex RX
- Fox-Hunt
- FPV-Detect
- FT8 RX
- gfxEQ
- Level
- Meteor
- Morse RX
- NOAA
- NRF
- POCSAG
- ProtoView
- Radio
- Radiosonde
- RDS RX
- RTTY RX
- Scanner
- Search
- Signal Hunter
- Spectrum Analyzer
- SSTV RX
- SubCar
- SubGhzD
- Tetra RX
- Time Sink
- TPMS RX
- VOR RX
- Weather
- WeFax
- WMBus RX
📤 Transmitters
- 2-Tone-TX
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB TX
- Flex TX
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Security+ TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- VOR TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
▶️ Replay- 🖲️ Remote
- 🔍 Looking Glass
🛠️ Utilities
↳ 🐛 Debug Menu (in Utilities)
🎮 Games
⚙️ Settings
Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Compile on macOS (Docker)
- Compile on macOS (Homebrew)
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Kali Linux (Debian-based)
- Compile on Arch based distro (exclude Asahi), or other weird distros
- General compiling guide (Linux, for experts)
- Dev build versions
- Notes About ccache
Software Dev Guides
- Code contribution rules
- Documentation standards & guidelines
- Create a Simple App
- Create a Simple External App
- External Apps informations
- Widgets
- UI positioning with macros
- SD Card (DEV)
- Access Radio Hardware
- Interpret Guru meditation crashes
- Create a Complex App
- Theme-system
- Debug via SWD & JTAG
- Debug with serial
- I2C drivers
- Unit tests
Tools
- Research
- UI Screenshots
-
Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes