{"id":17150482,"url":"https://github.com/argilo/contest-sdr","last_synced_at":"2025-10-19T11:11:27.754Z","repository":{"id":33123873,"uuid":"36763006","full_name":"argilo/contest-sdr","owner":"argilo","description":"An SDR-based transeciver for amateur radio contests","archived":false,"fork":false,"pushed_at":"2025-04-07T17:07:30.000Z","size":613,"stargazers_count":32,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-07T18:24:38.851Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/argilo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-02T21:30:19.000Z","updated_at":"2025-04-07T17:07:35.000Z","dependencies_parsed_at":"2025-04-07T18:33:31.656Z","dependency_job_id":null,"html_url":"https://github.com/argilo/contest-sdr","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/argilo%2Fcontest-sdr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fcontest-sdr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fcontest-sdr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fcontest-sdr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argilo","download_url":"https://codeload.github.com/argilo/contest-sdr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710437,"owners_count":21149188,"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":["hacktoberfest"],"created_at":"2024-10-14T21:35:45.633Z","updated_at":"2025-10-19T11:11:27.733Z","avatar_url":"https://github.com/argilo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# contest-sdr\n\nAuthor: Clayton Smith  \nEmail: \u003cargilo@gmail.com\u003e\n\nThe intent of this project is to turn a transmit-capable SDR board (HackRF,\nBladeRF, PlutoSDR, USRP, or LimeSDR) into a multi-band transceiver for use in\namateur radio contests such as the ARRL June VHF contest. At present it only\nsupports CW.\n\n![Screenshot of the main Gqrx window](contest-sdr.png)\n\n## Usage\n\nInstall GNU Radio 3.10 or later. Make sure that SoapySDR support is included,\nand the SoapySDR driver for your target device is installed. On Ubuntu 22.04,\nsimply run `sudo apt install gnuradio` to get an appropriate version of GNU\nRadio, SoapySDR and drivers.\n\nClone this repository: `git clone https://github.com/argilo/contest-sdr.git`\n\nFrom the `contest-sdr` directory, run one of the following commands:\n\n* `./b200_transceiver.py` — USRP B200\n* `./blade_transceiver.py` — BladeRF\n* `./hackrf_transceiver.py` — HackRF\n* `./lime_transceiver.py` — LimeSDR\n* `./pluto_transceiver.py` — PlutoSDR\n\nEach of these scripts ties together the corresponding `\u003cdevice\u003e_rx` (receive)\nand `\u003cdevice\u003e_tx` (transmit) flow graphs, which are built with GNU Radio\nCompanion. The GUI is part of the receive flow graph.\n\nWhen the application starts it will be in calibration mode, which uses the\npilot tone of ATSC channel 33 (584.309441 MHz) to help adjust the PPM\ncorrection value. Adjust the PPM setting up or down until the pilot signal is\nat 100 kHz in the upper (IF) waterfall, and at 700 Hz in the lower (audio)\nwaterfall.\n\nNext, select the band you would like to transmit on. Adjust the receive and\ntransmit gains as desired. The audio scope (lower right) shows the received\naudio signal. If clipping occurs, reduce the receive gain.\n\nTo transmit CW, type your message into the \"CW to send\" box and press\nenter. Once transmission is complete, the box will empty and the receive\nwaterfalls will start running again.\n\n## Building a bootable USB flash drive\n\nOn a Debian-based system:\n\n* Install the dependencies: `sudo apt install qemu-system-x86 ovmf`\n\nOn an Arch-based system:\n\n* Install the dependencies: `sudo pacman -S qemu-full edk2-ovmf`\n\nAdditional steps:\n\n* Download https://releases.ubuntu.com/noble/ubuntu-24.04.2-live-server-amd64.iso\n  and place it in `~/Downloads/`\n* Generate the live USB images: `./liveusb/create.sh`\n* At the prompt, enter your password to allow the Ubuntu ISO to be mounted\n* Write an image to a flash drive (16 GB or larger): `sudo dd if=liveusb/contest-sdr-uefi.img of=/dev/sdb bs=4M conv=fsync`\n\nBoot from the flash drive and double click the \"Contest SDR\" icon on the\ndesktop corresponding to your SDR device.\n\nFor old systems that don't support UEFI, the `contest-sdr-bios.img` image can be flashed instead.\n\n## License\n\nCopyright 2015-2025 Clayton Smith\n\nThis file is part of contest-sdr\n\ncontest-sdr is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 3, or (at your option)\nany later version.\n\ncontest-sdr is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with contest-sdr; see the file COPYING.  If not, write to\nthe Free Software Foundation, Inc., 51 Franklin Street,\nBoston, MA 02110-1301, USA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fcontest-sdr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargilo%2Fcontest-sdr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fcontest-sdr/lists"}