{"id":20393292,"url":"https://github.com/pothosware/soapyfcdpp","last_synced_at":"2025-07-19T03:36:46.341Z","repository":{"id":41858629,"uuid":"134470369","full_name":"pothosware/SoapyFCDPP","owner":"pothosware","description":"Soapy SDR plugin for Funcube Dongle Pro+","archived":false,"fork":false,"pushed_at":"2023-07-15T14:10:58.000Z","size":65,"stargazers_count":2,"open_issues_count":4,"forks_count":4,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-12T11:59:09.998Z","etag":null,"topics":["fcdpp","funcube","gnuradio","pothos","sdr","soapysdr"],"latest_commit_sha":null,"homepage":"https://github.com/pothosware/SoapyFCDPP/wiki","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pothosware.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.txt","contributing":null,"funding":null,"license":"LICENSE_1_0.txt","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,"zenodo":null}},"created_at":"2018-05-22T20:11:21.000Z","updated_at":"2021-11-05T17:55:59.000Z","dependencies_parsed_at":"2025-04-12T11:55:01.749Z","dependency_job_id":"bb79862a-c2d7-4eff-bbb0-1e6672ac70ed","html_url":"https://github.com/pothosware/SoapyFCDPP","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pothosware/SoapyFCDPP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pothosware%2FSoapyFCDPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pothosware%2FSoapyFCDPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pothosware%2FSoapyFCDPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pothosware%2FSoapyFCDPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pothosware","download_url":"https://codeload.github.com/pothosware/SoapyFCDPP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pothosware%2FSoapyFCDPP/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265883680,"owners_count":23843800,"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":["fcdpp","funcube","gnuradio","pothos","sdr","soapysdr"],"created_at":"2024-11-15T03:48:10.383Z","updated_at":"2025-07-19T03:36:46.311Z","avatar_url":"https://github.com/pothosware.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SoapyFCDPP\n\nSoapy SDR plugin FUNcube Dongle Pro+\n\nhttps://github.com/pothosware/SoapyFCDPP/wiki\n\n## What is this thing?\n\nThis is a SoapySDR driver for the FUNcube dongle pro+. It has been tested it on Raspberry Pi 3 \u0026 Orange Pi Zero LTS, typically used for streaming IQ data to GQRX.\n\nUnlike the gr-osmosdr it's doesn't depend on the gr-fcdproplus block but is standalone depending on libhidapi and ALSA. I believe this makes it a bit more approachable for hacking.\n\nIf you intend to use this as a remote front-end, remember to build _on your target system_, not your local machine!\n\n## Dependencies\n\n* SoapySDR\n* libasound2 (ALSA)\n* libhidapi\n* cmake or meson and ninja for building\n\n### Ubuntu / Debian\n\n(if you don't already have SoapySDR installed from source)\n```bash\nsudo apt-get install libsoapysdr-dev soapysdr-tools\n```\n(other dependencies)\n```bash\nsudo apt-get install libhidapi-dev libasound2-dev\n```\n\n## Build with cmake\n\nTested on Debian 10 with out-of-the-box SoapySDR and other dependencies.\n\n```bash\n# build\ngit clone https://github.com/pothosware/SoapyFCDPP.git\ncd SoapyFCDPP\nmkdir build; cd build\ncmake ../\nmake \u0026\u0026 sudo make install\n# Will put the driver in /usr/local/lib/SoapySDR/module0.6\n```\n\n## Build with meson\n\nOnly tested with the latest SoapySDR / SoapyRemote from source.\n\n```bash\n# build\ngit clone https://github.com/pothosware/SoapyFCDPP.git\ncd SoapyFCDPP/SoapyFCDPP\nmeson build \u0026\u0026 cd build\nninja install\n# Will put the driver in /usr/local/lib/SoapySDR/modules0.7\n```\n\n## Testing\n\nThis driver should now appear in the driver list as `fcdpp`:\n\n```bash\nSoapySDRUtil --info\n```\n\n### Local use\n\nYou can access the driver directly from a SoapySDR client, a typical device string is:\n```bash\ndriver=fcdpp,period=19200\n```\nwhere `period` is optional but specifies the sample count per ALSA period (defaults to sample rate / 4 =\u003e 250msec latency).\nAdjust if you want lower latency at the cost of higher context switch rates (eg: an RPi3 can tolerate down to 2048 samples,\nhowever an OrangePi Zero LTS may kernel panic / become unstable below 9600, hence the default!)\n\n### Remote use\n\nYou can also use SoapyRemote (or another SoapySDR remoting solution) to operate this driver as a headless front-end.\n\nOn the remote system:\n```bash\nSoapySDRServer --bind=\"0.0.0.0:1234\"\n```\n\nOn the local system (eg: GQRX SoapySDR client):\n\n * Device string in GQRX: `soapy=0,remote=hostname.local:1234,remote:driver=fcdpp`\n * Input rate: 192000 (if you have FCD Pro+, otherwise 96000)\n * All other settings default (no decimation, zero bandwidth, LO frequency)\n\n## Permissions\n\nTo access an FCD USB device for tuning/gain control etc. without being root you need this:\n\n```\n# Udev rules for the Funcube Dongle Pro (0xfb56) \u0026 Pro+ (0xfb31)\n# Put this in:\n# /etc/udev/rules.d/81-funcube.rules\n\n# Udev rule for the Funcube Dongle to be used with libusb (NB: SYMLINK is not necessary but convenient)\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"04d8\", ATTRS{idProduct}==\"fb56\", GROUP=\"audio\", MODE=\"0666\", SYMLINK+=\"usbfcd1\"\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"04d8\", ATTRS{idProduct}==\"fb31\", GROUP=\"audio\", MODE=\"0666\", SYMLINK+=\"usbfcd2\"\n```\n\nNB: If you have GNU radio support for Funcube Dongles installed you may have what you need in `/lib/udev/rules.d/60-gr-fcdproplus.rules`\nor `/lib/udev/rules.d/60-libgnuradio-fcd*`.\n\n## License\n\nBoost Software License 1.0 (BSL-1.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpothosware%2Fsoapyfcdpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpothosware%2Fsoapyfcdpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpothosware%2Fsoapyfcdpp/lists"}