Ask · Share · Build

How to Use PlutoSDR as a GNU Radio Source

Pavel

SDRstore_Pavel
Administrator
Staff member
Joined
Jul 30, 2026
Messages
121
Short answer: Use the PlutoSDR/IIO source block with a verified IIO context, consistent sample rate and RF bandwidth, and no Throttle block. The live hardware source controls sample timing; a Throttle belongs only in simulations or other flowgraphs without a rate-limited hardware source.

Before you start​

  • Prove Pluto discovery through the Industrial I/O stack before opening GNU Radio or another SDR application.
  • Separate USB mass storage, USB networking and I/Q streaming because each function can fail independently.

Step-by-step method​

  1. Step 1: Verify Pluto with an IIO discovery utility, then add a PlutoSDR Source in GNU Radio Companion and set the context URI used by that successful test.
  2. Step 2: Create one samp_rate variable, begin around 1 MSPS and use it consistently for the source and downstream filters. Set RF bandwidth to the wanted channel plus transition margin, not an arbitrary maximum.
  3. Step 3: Connect the complex source to a QT GUI Frequency Sink, start with a known signal and moderate manual gain or a documented AGC mode. Do not add Throttle.
  4. Step 4: Add channel filtering and demodulation only after the raw spectrum runs without overflow. Check every decimation and interpolation so downstream rates match block expectations.

Concrete example​

A minimal receive graph is PlutoSDR Source at 1 MSPS into a QT GUI Frequency Sink configured for the same rate. Once stable, add a frequency-translating filter and demodulator. If a sink displays the wrong span, first compare its sample-rate parameter with the actual upstream rate.

How to judge the result​

The source is configured correctly when changing LO frequency moves to the expected band, the displayed span matches sample rate and the graph runs without repeated IIO errors or unnecessary CPU saturation.

What to record​

  • Start with a moderate sample rate such as 1 to 2 MSPS for receive tests, then increase only after the baseline streams without loss.
  • Record IIO context URI, local oscillator frequency, RF bandwidth, sample rate and gain mode for a reproducible Pluto setup.
  • Treat any frequency-extension change as removal of software limits, not a guarantee of sensitivity, output power or filtering outside the original specification.

Common mistakes​

  • Changing several hardware, software or RF variables at once, which removes the controlled comparison needed to identify the cause.
  • Treating one autoscaled screenshot or one unusually good result as proof without recording the settings and repeating the test.
  • Adding a Throttle after Pluto can conflict with the hardware-paced stream and create buffering or performance problems rather than fixing sample rate.

Final check​

Reconnect Pluto and repeat IIO discovery before starting the application. Save the context, firmware, sample rate, RF bandwidth and gain mode that reproduce the result.
 
Top