Repository navigation
Releases
v0.5.1
hydrasdr_adsb v0.5.1
Mode S / ADS-B 1090 MHz receiver for HydraSDR devices.
Version: 0.5.1 | Commit: 28f7a51 | libhydrasdr: v1.1.4
It decodes the 12-bit HydraSDR I/Q stream at 2.5, 5 or 10 MS/s, live through libhydrasdr or from a recording.
Its Beast, SBS and AVR outputs feed readsb, tar1090 and Virtual Radar Server.
Key Features
12-bit I/Q at 5 or 10 MS/s
Each 0.5 us chip is integrated on a 0.1 us grid, so every sample counts.
A 2.4 MS/s receiver has 2 or 3 samples per microsecond.
Network outputs (--net)
| Port | Format |
|---|---|
| 30005 | Beast, with the 12 MHz timestamp and signal level |
| 30003 | SBS BaseStation, as dump1090 writes it |
| 30002 | AVR, one *HEX; line per frame |
The ports listen on 127.0.0.1 by default and only send.
--net-bind-address 0.0.0.0 serves other computers.
Lossless recording and replay
--record FILE.raw12 writes the ADC stream as the device sends it, with a SigMF meta file.
A replay gives the live frames byte for byte.
SigMF, 2-channel WAV and raw cs16, cs12, cf32 recordings are read too.
Frame checks
- DF17/18: CRC residual 0, or one corrected bit outside the format field.
- DF11: residual 0, or an interrogator code for an address already seen.
- DF0/4/5/16/20/21: accepted when the address was seen on a DF11 or DF17/18 frame in the last 60 s.
Quick Start
hydrasdr_adsb --raw --linearity-gain 20 # frames on stdout, 5 MS/s
hydrasdr_adsb --net --linearity-gain 20 # Beast 30005, SBS 30003, AVR 30002
hydrasdr_adsb --net --lat 48.85 --lon 2.35 # drop positions over 450 km away
hydrasdr_adsb --record x.raw12 --duration 60 # record 60 s of ADC stream
hydrasdr_adsb --ifile x.raw12 --net --throttle # replay at the real rate
hydrasdr_adsb --help # all options
readsb and tar1090:
readsb --net-only --net-bo-port 0 --net-sbs-port 0 --net-ro-port 0 \
--net-connector 127.0.0.1,30005,beast_in --write-json DIR
Virtual Radar Server 2.4: add a receiver with Format BaseStation, Connection type Network, Address 127.0.0.1, Port 30003.
Tips:
- Use 5 MS/s on an RFOne (the default). Its 2.5 MS/s stream is too narrow for the reply pulses.
- An RFOne with an indoor FM antenna needs
--linearity-gain 20(of 21).
Platforms
| Platform | File |
|---|---|
| Windows x64 | hydrasdr_adsb-Windows-x64-v0.5.1.zip |
| macOS ARM64 (Apple Silicon) | hydrasdr_adsb-macOS-ARM64-v0.5.1.tar.gz |
| macOS x86_64 (Intel) | hydrasdr_adsb-macOS-x86_64-v0.5.1.tar.gz |
| Ubuntu 26.04 / 24.04 / 22.04 | .deb packages |
| Debian 13 / 12 | .deb packages |
| Linux Mint 22.3 / 21.3 | .deb packages |
| Fedora 45 / 44 | .rpm packages |
| AlmaLinux 10 / 9 | .rpm packages |
| openSUSE Tumbleweed | .rpm package |
| Arch Linux | .pkg.tar.zst package |
Install
| Platform | Command |
|---|---|
| Windows | Extract the zip, run hydrasdr_adsb.exe from a terminal. The RFOne needs no driver. |
| macOS | Extract the tar.gz, run ./hydrasdr_adsb. libhydrasdr and libusb are included. |
| Debian/Ubuntu/Mint | sudo apt install ./hydrasdr-host-tools-<distro>-v1.1.4.deb ./hydrasdr_adsb-<distro>-v0.5.1.deb |
| Fedora/AlmaLinux | sudo dnf install ./hydrasdr-host-tools-<distro>-v1.1.4.rpm ./hydrasdr_adsb-<distro>-v0.5.1.rpm |
| openSUSE | sudo zypper install ./hydrasdr-host-tools-openSUSE-Tumbleweed-v1.1.4.rpm ./hydrasdr_adsb-openSUSE-Tumbleweed-v0.5.1.rpm |
| Arch Linux | sudo pacman -U ./hydrasdr-host-tools-Arch-Linux-v1.1.4.pkg.tar.zst ./hydrasdr_adsb-Arch-Linux-v0.5.1.pkg.tar.zst |
The Linux packages need hydrasdr-host-tools v1.1.4 or later.
It brings libhydrasdr and the udev rules.
Requirements
- HydraSDR RFOne and a 1090 MHz antenna
- libhydrasdr 1.1.4 or later (included in the Windows and macOS archives)
Documentation
- README: build, usage, recordings, network outputs, security