{"id":24483225,"url":"https://github.com/lyusupov/adsb-out","last_synced_at":"2025-04-13T17:21:01.834Z","repository":{"id":74576690,"uuid":"94443009","full_name":"lyusupov/ADSB-Out","owner":"lyusupov","description":":signal_strength:  1090ES ADS-B Out Add-on","archived":false,"fork":false,"pushed_at":"2021-01-07T07:24:34.000Z","size":3513,"stargazers_count":151,"open_issues_count":1,"forks_count":55,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-27T08:11:14.323Z","etag":null,"topics":["1090es","ads-b","aviation","flight","gliding","hackrf","hackrf-one","radio","sdr","stratux","traffic"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lyusupov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-06-15T13:38:21.000Z","updated_at":"2025-03-01T19:49:50.000Z","dependencies_parsed_at":"2023-07-03T05:35:08.458Z","dependency_job_id":null,"html_url":"https://github.com/lyusupov/ADSB-Out","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyusupov%2FADSB-Out","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyusupov%2FADSB-Out/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyusupov%2FADSB-Out/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyusupov%2FADSB-Out/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyusupov","download_url":"https://codeload.github.com/lyusupov/ADSB-Out/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750761,"owners_count":21155779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1090es","ads-b","aviation","flight","gliding","hackrf","hackrf-one","radio","sdr","stratux","traffic"],"created_at":"2025-01-21T12:40:38.920Z","updated_at":"2025-04-13T17:21:01.803Z","avatar_url":"https://github.com/lyusupov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \"ADS-B Out\" add-on for SoftRF-Emu, Stratux, etc...\n\nThis repository contains \"ADS-B Out\" encoder for Tx-capable SDR hardware.\n\nIt is currently written in architecture independent Python language and can be used as an add-on for existing\nopen source \"ADS-B In\" solutions. One known good example is [Stratux](https://github.com/cyoung/stratux).\n\nES (1090 MHz) variant of ADS-B surveillance technology is being considered here.\u003cbr\u003e\nFor UAT ADS-B (978 MHz) option, please, visit this repository: https://github.com/lyusupov/UAT-test-signal\n\n## Disclaimer\nThe source code is published for academic purpose only.\n\n## Instructions\n1. Execute *ADSB_Encoder.py* script with `\u003cICAO\u003e` `\u003cLatitude\u003e` `\u003cLongitude\u003e` `\u003cAltitude\u003e` arguments:\n```\n$ ADSB_Encoder.py  0xABCDEF 12.34 56.78 9999.0\n$ ls Samples.iq8s\nSamples.iq8s\n$\n```\n2. Make the raw signal file aligned to 256K buffer size:\n```\n$ dd if=Samples.iq8s of=Samples_256K.iq8s bs=4k seek=63\n1+0 records in\n1+0 records out\n4096 bytes (4.1 kB) copied, 0.00110421 s, 3.7 MB/s\n$\n```\n3. Transmit the signal into air:\n```\n$ hackrf_transfer -t Samples_256K.iq8s -f 868000000 -s 2000000 -x 10\ncall hackrf_sample_rate_set(2000000 Hz/2.000 MHz)\ncall hackrf_baseband_filter_bandwidth_set(1750000 Hz/1.750 MHz)\ncall hackrf_set_freq(868000000 Hz/868.000 MHz)\nStop with Ctrl-C\n 0.5 MiB / 1.000 sec =  0.5 MiB/second\n\nUser cancel, exiting...\nTotal time: 1.00038 s\nhackrf_stop_tx() done\nhackrf_close() done\nhackrf_exit() done\nfclose(fd) done\nexit\n$\n```\n## Validation\n```\n$ sudo dump1090 --net --freq 868000000\n...\n```\n![](https://github.com/lyusupov/ADSB-Out/raw/master/documents/images/dump1090.JPG)\n\n## References\n1. \"*Gr-Air-Modes*\", **Nick Foster**, 2012\n2. \"*EXPLOITING THE AUTOMATIC DEPENDENT SURVEILLANCE BROADCAST SYSTEM VIA FALSE TARGET INJECTION*\", **Domenic Magazu III**, 2012\n3. \"*ADS-B out by HACKRF and received over the air by rtl-sdr dongle and dump1090*\", **Jiao Xianjun**, 2014\n4. \"*Ghost in the Air(Trafﬁc): On insecurity of ADS-B protocol and practical attacks on ADS-B devices*\", **Andrei Costin and Aurelien Francillon**, 2015\n5. \"*ADS-B Decoding Guide*\", **Junzi Sun**, 2017\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyusupov%2Fadsb-out","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flyusupov%2Fadsb-out","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyusupov%2Fadsb-out/lists"}