1. General Information

Important

This site is an independent project and is not affiliated with or endorsed by Analog Devices. ADALM-Pluto is a trademark of Analog Devices, Inc

This website aims mainly at providing RF test data for the PLUTO-like SDR platforms based on Zynq FPGA 7010/7020 and AD9363/61 RFIC. I was originally looking at the LibreSDR and I struggled to find anything showing the performance of this device in a controlled environment, therefore decided to do it myself.

This main page will also provide general information few links that I think are useful to know about

1.1. Hardware

There are numerous PLUTO derivatives based on a Zynq FPGA and AD9363. It would be too long to list them all, The picture below shows a few common ones:

_images/sdr_family.svg

Pluto SDR derivativess

1.2. Drivers and Libraries

Windows drivers and Libraries I needed to use the device:

1.3. Firmwares

1.3.1. Default firmware

By default the clones ship with an unknown firmware based on the PlutoSDR firmware v0.37 or above, dubbed “v0.xx-dirty”. This “dirty” default firmware seems to be quite limited and not supported so users tend to replace it with an alternative one, the most famous being Tezuka’s (see below)

1.3.2. Alternative firmwares

Most users seem to switch to alternative firmwares. Among the most popular ones:

  • Tezuka from F5OEO: https://github.com/F5OEO/tezuka_fw

    This firmware is built in many different versions (for different platforms) and adds many new functionalities, as well as support for other open-source projects such as Maia SDR

  • libresdr from hz12opensource: https://github.com/hz12opensource/libresdr

    This firmware focuses mainly on LibreSDR and overclocking and increasing continuous sampling rate

These two repositories contain convenient SD card images:

  1. Format an SD card in FAT32

  2. Simply extract the content of the release ZIP file onto the SD card

    _images/sd_card.png

    SD card preparation

  3. Insert it in the LibreSDR and plug it in: the SDR will boot from the SD card instead of the internal flash. The device will appear as an external drive (as usual). Open info.html and confirm you are running the correct fw (In this example: Tezuka):

    _images/tezuka_info.png

    Checking Tezuka has booted

This method has the advantage that the internal flash remains untouched, eliminating the risk of bricking the device.

1.5. “Extended capabilities”

An AD9363-based device can be set as an AD9364/61 for extended capabilities. The ADI Customization page (see link above) explains the different possible configurations and commands to use. The process is also summarised here.

1.5.1. Configuration

  • Plug the device to your computer using the USB port. Windows should enumerate a COM port

    _images/pluto_com.png

    COM port

  • Connect to that serial port using a tool like TeraTerm or similar with the settings 9600,N,8,1

  • Connect to the device with username: root and password: analog or password: root (for the “dirty” fw). You will be welcome with a prompt:

    _images/linux_default_welcome.png

    Welcome prompt

  • Type the following commands:

    fw_setenv attr_name compatible
    fw_setenv attr_val <rfic>
    fw_setenv compatible <rfic>
    fw_setenv mode <mode>
    reboot
    

    The options for <rfic> and <mode> are given in the Modes section below

    You can get the current state of the device by typing:

    fw_printenv attr_name
    fw_printenv attr_val
    

    For example if you get:

    fw_printenv attr_name
    --> Error: "attr_name" not defined
    fw_printenv attr_val
    --> Error: "attr_val" not defined
    

    It means those attributes are not defined, the device is therefore in AD9363 mode. This should be the default state.

1.5.2. Available Modes

<rfic>

<mode>

LO tuning range

Max bandwidth

Max sampling rate

AD9363

1r1t (1x RX + 1x TX)

325 - 3800 MHz

20 MHz

61.44 Msps

2r2t (2x RX + 2x TX)

325 - 3800 MHz

20 MHz

30.72 Msps

AD9364

1r1t (1x RX + 1x TX)

70 - 6000 MHz

56 MHz

61.44 Msps

AD9361

1r1t (1x RX + 1x TX)

70 - 6000 MHz

56 MHz

61.44 Msps

2r2t (2x RX + 2x TX)

70 - 6000 MHz

56 MHz

30.72 Msps

Example, to put the device in AD9361 / 2r2t mode, type:

fw_setenv attr_name compatible
fw_setenv attr_val ad9361
fw_setenv compatible ad9361
fw_setenv mode 2r2t
reboot

Warning

While the commands are accepted by my device running the “v0.37-dirty” firmware, the second channels do not seem to work.. it seems to be a firmware issue