.. _pluto: Intro to the Pluto ================== The ADALM-PLUTO (PlutoSDR) is a portable and affordable software-defined radio developed by Analog Devices. It is designed for learning, experimenting, and prototyping in the field of wireless communication. The PlutoSDR is popular among students, educators, and hobbyists due to its versatility and ease of use. The PlutoSDR is based on the AD9363 transceiver chip, which supports both transmission and reception of signals across a wide frequency range. The device is supported by a robust open-source ecosystem, making it ideal for hands-on learning and rapid prototyping. Supported Models ---------------- - ADALM-PLUTO: The standard model with a frequency range of 325 MHz to 3.8 GHz and a bandwidth of up to 20 MHz. - Modified ADALM-PLUTO: Some users modify their PlutoSDR to extend the frequency range to approximately 70 MHz to 6 GHz by applying firmware patches with unqualified RF performance. Key Features ------------ - Frequency Range: 325 MHz to 3.8 GHz (standard), expandable with modifications. - Bandwidth: Up to 20 MHz, can be increased to 56 MHz with firmware modifications. - Connectivity: USB 2.0 interface with support for power, data, and firmware updates. - Software Support: Compatible with GNU Radio, MATLAB, Simulink, and other SDR frameworks. - Onboard Processing: Integrated ARM Cortex-A9 processor for custom applications and signal processing. - Hackability: - Frequency Range and Bandwidth: The default frequency range of 325 MHz to 3.8 GHz can be expanded to approximately 70 MHz to 6 GHz, and the bandwidth can be increased from 20 MHz to 56 MHz by modifying the device's firmware. - 2x2 MIMO: On Rev C models, users can unlock 2x2 MIMO (Multiple Input Multiple Output) functionality by wiring UFL to SMA connectors to the device's PCB, effectively turning the device into a dual-channel SDR. Limitations ----------- - Bandwidth is limited to 20 MHz by default, but can be increased to 56 MHz with modifications, which may affect stability. - USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs. Further Information ------------------- - Documentation: https://wiki.analog.com/university/tools/pluto This module provides tools for interfacing with ADALM-PLUTO devices, allowing for configuration, data streaming, signal processing, custom application development, and advanced hardware modifications. Installation Instructions (Linux) --------------------------------- The pluto is generally usable with Pip. To build and install the drivers from source, see below: .. code-block:: bash sudo apt-get install build-essential git libxml2-dev bison flex libcdk5-dev cmake python3-pip libusb-1.0-0-dev libavahi-client-dev libavahi-common-dev libaio-dev cd ~ git clone --branch v0.23 https://github.com/analogdevicesinc/libiio.git cd libiio mkdir build cd build cmake -DPYTHON_BINDINGS=ON .. make -j$(nproc) sudo make install sudo ldconfig cd ~ git clone https://github.com/analogdevicesinc/libad9361-iio.git cd libad9361-iio mkdir build cd build cmake .. make -j$(nproc) sudo make install pip install pyadi-iio