grc | ||
sim | ||
src | ||
tools | ||
util | ||
.gitignore | ||
.gitmodules | ||
circuit.svg | ||
LICENSE | ||
README.md |
Pico SDR
Using RP2040 / Raspberry Pi Pico as a software-defined radio receiver.
See the blog post for more information. Older code the article is mostly referring to can be found in the branch old
and a more up-to-date approach in the branch master
.
This branch contains code to use RP2040 with a 1:4 multiplexer and some passives as a quadrature sampling decoder receiver. It is still very much work in progress.
Software
-
Clone using
git clone --recursive
as this package is using a custom USB stdio library for better throughput and to avoid deadlocks. -
Build and flash the firmware as usual:
export PICO_SDK_PATH=/path/to/pico-sdk cmake -B build src cmake --build build picotool load -f build/pico_sdr.uf2
-
Start the USB serial to TCP bridge:
python util/bridge.py
You need to have PySerial and Click packages installed.
-
Open
grc/PicoSDR-WBFM.grc
in GNU Radio Companion, adjust carrier frequency to match your favorite FM radio station and pressF6
. -
Alternatively gqrx works fine with
rtl_tcp
input mode. Maximum sample rate seem to be 400 ksps, above that the samples are dropped. Make sure to experiment with LNA gain. It might be digital, but it's supposed to be somewhere north of 12 dB.