No description
Find a file
2024-08-02 20:34:51 +02:00
grc Bunch of fixes and improvements 2024-08-02 19:33:15 +02:00
sim Add TX simulation 2024-02-25 13:29:17 +01:00
src Fix frequency rounding 2024-08-02 20:34:51 +02:00
util bridge: make device path a parameter 2024-06-25 18:10:06 +02:00
.gitignore Simple GNU Radio Companion worksheet for testing 2024-02-25 18:55:40 +01:00
.gitmodules Initial import 2024-01-14 20:16:54 +01:00
circuit.svg Tweak circuit color 2024-06-05 14:32:20 +02:00
LICENSE Unlicense 2024-06-04 16:43:11 +02:00
README.md Use LNA gain options to control bias strength 2024-07-10 22:35:49 +02:00

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.

Circuit

Software

  1. Clone using git clone --recursive as this package is using a custom USB stdio library for better throughput and to avoid deadlocks.

  2. 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
    
  3. Start the USB serial to TCP bridge:

    python util/bridge.py
    

    You need to have PySerial and Click packages installed.

  4. Open grc/PicoSDR-WBFM.grc in GNU Radio Companion, adjust carrier frequency to match your favorite FM radio station and press F6.

  5. 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 adjust LNA gain to +30 dB. It's not accurate, but it does control bias strength which in turn does affect analog gain.