FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Cozmorry/adsb-decoder: ADS-B (1090MHz Mode S extended squitter) decoder in C, built for an RTL-SDR dongle + Raspberry Pi + 3.5" SPI TFT. · GitHub

adsb-decoder

ADS-B (1090MHz Mode S extended squitter) decoder in C, built for an RTL-SDR dongle + Raspberry Pi + 3.5" SPI TFT.

Build

Linux / Raspberry Pi

sudo apt install librtlsdr-dev libusb-1.0-0-dev
make            # builds ./adsb-decoder
make test       # CRC + parser/CPR unit tests (no hardware needed)

Windows (tests only, no admin required)

PowerShell does not ship with make. Install a user-scoped compiler with winget, then run tests:

winget install BrechtSanders.WinLibs.POSIX.UCRT --scope user
# Restart the terminal so PATH updates, then:
.\test.ps1

Alternative (needs an elevated/admin shell):

choco install mingw make
make test

See CONTRIBUTING.md for full setup notes.

Run

./adsb-decoder              # uses /dev/fb1 when present, else terminal
./adsb-decoder /dev/fb0     # optional framebuffer path

Ctrl+C stops cleanly. Without a dongle, sdr_open fails and the process exits.

Status

Module Status
crc.c Done — Mode S 24-bit CRC
sdr.c Wired to librtlsdr, 1090MHz @ 2Msps
demod.c Preamble detect + PPM bit-slicing (56/112-bit by DF)
parser.c Ident, altitude, velocity, global CPR
aircraft.c Tracking table, staleness pruning, CPR pairing
display.c Framebuffer text (8x8 font) + terminal fallback

Project layout

src/
├── main.c       # ties everything together, main loop + signal handling
├── sdr.c/.h     # RTL-SDR capture (wraps librtlsdr)
├── demod.c/.h   # preamble detection + PPM demodulation
├── crc.c/.h     # Mode S CRC check
├── parser.c/.h  # DF17 message parsing, CPR decode
├── aircraft.c/.h# tracked aircraft table (ICAO -> state)
├── display.c/.h # SPI framebuffer drawing
├── test_crc.c   # CRC unit test
└── test_parser.c# ident / altitude / CPR unit test

Contributing

Contributions are welcome. See CONTRIBUTING.md for setup, style, and pull request guidelines.

License

This project is licensed under the MIT License.

Code of Conduct

This project follows the Contributor Covenant Code of Conduct.

About

ADS-B (1090MHz Mode S extended squitter) decoder in C, built for an RTL-SDR dongle + Raspberry Pi + 3.5" SPI TFT.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL