PlutoSDR FMRadio

The PlutoSDR (a.k.a. ADALM-PLUTO) is a low-cost SDR made by Analog Devices, based on a binned version of the AD9364 RFIC (same RFIC as in the USRP B200) which AD labels AD9363. It can operate from 70 MHz to 6 GHz using simple "hack" described at the bottom of this page, and has a max sample rate of 56 MHz, but because it only has USB 2.0, the 56 MHz can only be received in short bursts. The max sample rate when continuously receiving is more like 4 or 5 MHz. It has a Xilinx Zynq Z-7010 FPGA + ARM CPU on board, the ARM CPU runs a lightweight version of linux. It's set up to run as an IP device; the USB port on it appears as a USB to ethernet bridge. It also shows up a mass storage device which lets you easily change the config (e.g. IP address) or load new firmware.

For more info on getting the PlutoSDR installed and running, see this page https://wiki.analog.com/resources/tools-software/linux-software/gnuradio.

Configure PlutoSDR

 * Basic Connectivity
 * Let's make sure PlutoSDR connected properly and found from iio, To make sure please perform following command on terminal,
 * "iio_info -s" (without the quotes).
 * You should have something like this in your command prompt:
 * [[File:Cmd.png]]


 * PlutoSDR sampling rate
 * Let's find out correct sampling rate, Please perform following command on your command prompt and it will give you exact sampling rate.


 * "iio_attr -u -c cf-ad9361-lpc voltage0 sampling_frequency_available" (without the quotes)


 * You should have something like this in your command prompt:
 * [[File:Cmd1.png]]

PlutoSDR Source Parameters

 * LO Frequency
 * Selects the RX local oscillator frequency.


 * IIO context URI
 * IP address of the unit, e.g. "ip:192.168.2.1" (without the quotes)


 * Sample Rate
 * Sample rate in samples per second, this will define how much bandwidth your SDR receives at once (the RF bandwidth parameter below just defines the filter). limits: >= 520833 and <= 61440000


 * RF Bandwidth
 * Configures RX analog filters: RX TIA LPF and RX BB LPF. limits: >= 200000 and <= 52000000


 * Buffer size
 * Size of the internal buffer in samples. The IIO blocks will only input/output one buffer of samples at a time. To get the highest continuous sample rate, try using a number in the millions.


 * Quadrature
 * True/False


 * RF DC Correction
 * True/False


 * BB DC Correction
 * True/False


 * Gain Mode (Rx1)
 * Selects one of the available modes: manual, slow_attack, hybrid and fast_attack. For any type of spectrum sensing application, use a manual gain.


 * Manual Gain (Rx1)(dB)
 * gain value, initially use 64


 * Filter
 * Allows a FIR filter configuration to be loaded from a file.


 * Filter Auto
 * When enabled loads a default filter and thereby enables lower sampling / baseband rates.

Example Flowgraph
This flowgraph shows a broadcast FM receiver. You can also download the same fmradio_pluto_3.8.grc from https://github.com/patel999jay/ADALM-Pluto-File-Transfer/tree/master/FMReceiverPluto/source



This will tune your PlutoSDR to 100.1 MHz station. You can see real time waterfall of FM Station and also can hear the sound too. If you have problem with audio change sampling rate accordingly.


 * Frequency Display


 * Time Domain Display


 * Waterfall Display


 * Constellation Display

Have Fun !

Source Files
The actual source and sink blocks are created by an 'Industrial I/O' module. See https://wiki.analog.com/resources/tools-software/linux-software/gnuradio for details.