AB9IL.net

ADALM-PlutoSDR

Disclosure: AB9IL.net is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program such that this site earns advertising fees by linking to Amazon.com. If you make a qualifying purchase after clicking a link on this website, the associate affiliated with this site may earn a comission at no cost to you.


#Advert: Dell monitors - brilliant, immersive, billions of colors.

New Features: Global Quick Tune Internet SDR List Improve Your Radio Knowledge at "YouTube SDR School"
Article Index --- click here to unfold ---
Newest Pages NEW: Trumpists Kicking the Hornets Nest
NEW: Introduction to Catbird Linux
NEW: Skywave Linux Updated to ver 4.1
NEW: i3wm: Using i3-ipc to Float Windows
How to Record from WebSDR and OpenWebRX Sites
Programmatic RTL-SDR Frequency Claibration
Public KiwiSDR Lists
Malaysia Airlines Flight MH17: Simply Mass Murder
The Anonymous Cathay Pacific Employee Letter to Hong Kong
For For Cathay Crews Crossing Borders With Electronics
Photo Gallery 9: The New Life Movement in China, 1944
E Pluribus Unum: From Many, One, Dammit
HFGCS Quick Tune SDR List
The Robert Mueller Iron Triangle Speech
A Rant About One Party Rule
Best OpenWebRX and WebSDR Servers
SDR School via YouTube
ADALM-PlutoSDR on Linux Systems
MOFO Linux: Defeating State Censorship and Surveillance
Linux: Distros, Code, and Nifty Software NEW: Introduction to Catbird Linux
NEW: Skywave Linux Updated to ver 4.1
NEW: i3wm: Using i3-ipc to Float Windows
Skywave Linux: HPSDR, WebSDR, and RTL-SDR ready to run.
Siduction Linux with the Cinnamon Desktop
Siduction Linux with the LXQT Desktop
Andy's Ham Radio Linux 15 and QtRadio
Booting Multiple Linux Disc Images with Grub2
Porteus Linux Hard Drive Installation
UPDATED: MOFO Linux - For Unrestricted Internet
Aptosid with LXDE
Asus EeePC 1215N with Linux
Autostart Tweaks for KDE3 and KDE4
Broadband Speed Tweaks For Linux
Fixing the Firefox 3 Rendering Bug
Linux on Solid State Drives
Linux Wireless Interface Driver Updates
Setting Polkit to Automount USB Devices
Sidux with LXDE
Fixing Skype Inverted Video
SLAX Remix - kernel upgrades
Flash Drive Linux - Introduction
Flash Drive Knoppix 5.3 - Part 1
Flash Drive Knoppix 5.3 - Part 2
Flash Drive Knoppix 6.0 - Part 1
Flash Drive Knoppix 6.0 - Part 2
Flash Drive SLAX - Part 1
Flash Drive SLAX - Part 2
Flash Drive Bluewhite64 - Part 1
Flash Drive Bluewhite64 - Part 2
Flash Drive Linux - Basic Customization
SLAX Customization - Part 1
SLAX Customization - Part 2
Bluewhite64 Customization - Part 1
Bluewhite64 Customization - Part 2
Long Range Wi-Fi Basics of Long Range Wireless Networking
Linear Focus Parabolic Wi Fi Antenna
High Gain Wi Fi Dish Antenna
High Gain Helical Wi Fi Antenna
High Gain Yagi Wi Fi Antenna
High Power Wireless Adapters
Wi Fi Extender Antenna for Routers
Belkin F5D7050 External Wi Fi Antenna
Linksys WUSB54GC External Antenna Mod
Compat Wireless Linux Drivers
Installing WPA_Supplicant for Wi-Fi Security
Linux Wireless Interface Driver Updates
Linux Wireless Interface Driver Support
NetworkManager and Consolekit
RT73 Wireless Drivers for Linux Kernel 2.6.27+
RT2860 Wireless Drivers for Linux Kernel 2.6.27+
Radio: Amateur Radio, Aero Radio, Shortwave, etc NEW: Programmatic RTL-SDR Frequency Claibration
NEW: Public KiwiSDR Lists
NEW: GHFS Quick Tune SDR List
UPDATED: Best OpenWebRX and WebSDR Servers
UPDATED: Skywave Linux: HPSDR, WebSDR, and RTL-SDR ready to run.
CubicSDR on Debian, Ubuntu, and Linux Mint
Dump1090 for Linux Mint 17.1 and Siduction 2014.1
Software Defined Radio - An Introduction
QS1R Direct Sampling SDR
Chaining SDR Audio Interfaces
FLEX-6000 Direct Sampling SDR
UPDATED: RTL2832 Software Defined Radio
WebSDR Digimode Reception
Enabling FLASH in Jack Audio
Realtime Software Audio Processing
Liberation Technology MOFO Linux - For Unrestricted Internet
Veracrypt Encryption for Linux
Veracrypt Encryption for Windows
Using Google Within China
Popcorn Time and Flixtor for Uncensored Streaming Media
DNS Encryption using DNSCrypt
Galaxy Nexus Privacy and Robustness Enhancements
Galaxy SIII Privacy and Robustness Enhancements
Flash Drive Encryption for Linux
Flash Drive Encryption for Windows
Multihop VPN Connections for Strong Internet Privacy
Open and Free DNS Server List
OpenVPN Cloaking against Deep Packet Inspection The Serval Mesh Phone Project
Skype's Robust Security
Man in the Middle Wireless Security Risks
Wireless Security and Surveillance
Digital Audio Adjusting Audio Dynamics in VLC
Backing Track Prep Guide
Ipod Music Processing Guide
How To Record Record Live Music Performances
Realtime Software Audio Processing
Chaining SDR Audio Interfaces
Aerospace Radio, Aviation, Pontification, and Opinion NEW: Trumpists Kicking the Hornets Nest
NEW: The Anonymous Cathay Pacific Employee Letter to Hong Kong
NEW: For For Cathay Crews Crossing Borders With Electronics
NEW: E Pluribus Unum: From Many, One, Dammit
NEW: HFGCS Quick Tune SDR List
NEW: The Robert Mueller Iron Triangle Speech
NEW: A Rant About One Party Rule
Captains Authority Versus Autocratic Airline Management
Malaysia Airlines Flight MH17: Simply Mass Murder
Malaysia Airlines Flight MH370 - A Media Circus
High Gain Air Band Antennas
Apollo Unified S Band Communications
Chinese Anti-Stealth VHF Radar
Oceanic Communications - Procedures, Equipment, Voice and HFDL
Boeing 737NG Radio Equipment
Boeing 767 Radio Equipment
NAOC-TACAMO Monitoring
My Flight on 9/11
Joshua Chamberlain's Leadership Tips
Special Operations Forces Truths
TWA 800: Just Give Me Some Truth
Photo Gallery Aviation Photo Gallery 1: Snapshots From My Journeys
Aviation Photo Gallery 2: On the Road With ATA Airlines
Aviation Photo Gallery 3: More ATA Airlines
Aviation Photo Gallery 4: Southwest Airlines is the Borg Empire
Aviation Photo Gallery 5: Starting Over, Moving On...
Aviation Photo Gallery 6: More Viva Macau
Aviation Photo Gallery 7: Mainland China Airline Flying
Aviation Photo Gallery 8: Chinese Smog and Fog
NEW: Photo Gallery 9: The New Life Movement in China, 1944
Broadcasting BBC Radio Blooper - Adolf Merckle
TV DXing the World Trade Center
New York TV after 9/11
Live Music Recording Adjusting Audio Dynamics in VLC
Backing Track Prep Guide
Ipod Music Processing Guide
How To Record Record Live Music Performances
Radio Poetry and Arts In Distress, by David Wagoner
Just A Radio Operator, by Robert A. Wallace
Radio Circuit Modifications ATS-909 Modifications
ATS-909 Manuals
ATS-909 Alignment Procedure
ATS-909 Alignment Spectrograms
Very Low Frequency (VLF) Radio Internet Based VLF Radio Listening
Windows Tips Windows Performance Enhancement Tips
A Faster Windows 7
Windows 7 SSD Setup

For a while now, the top hardware for engineering students, experimenters, and hobbyists to get hands-on experience making and breaking software defined radios have been the HackRF and LimeSDR. Now they have company, called the ADALM-PLUTO SDR. Analog Devices calls it an "active learning module" enabling in depth learning of many aspects of radio communications - basic science through advanced hardware and software engineering. Both devices run at low electrical power, but there is no upper limit on ingenuity that they can spawn. Information on the HackRF is abundant on the internet. Below, you will find information on the PlutoSDR and links to more in depth data and applications. Find other PlutoSDR users in forums on PlutoSDR.com, the BATV Forum, and RTL-SDR.com.

PlutoSDR Hardware

The PlutoSDR is, in a way, similar to other high end RTL2832 radios, but there is more to this device.. To call it a super RTL-SDR would sell it short, as it is capable of full duplex transceiving and tuning vastly wider spectrum. It can operate with as much as a full 20 MHz bandwidth, putting out a stream of 12 bit quadrature data. At its heart is the AD9363 or AD9364 System on a Chip. Transmit output power is about 7 dBm.

Tuning is accomplished in a manner familiar to Softrock and RTL-SDR users: a tunable quadrature oscillator mixing RF in a quadrature sampling detector. Output from the QSD is fed to a dual ADC capable of 61.4 megasamples per second. For computers using USB 2.0, expect good performance up to about 3 MSPS and lost samples at higher rates. For better tuning accuracy and stability, the radio really needs a better clock: a TCXO or GPSDO. Perhaps there will eventually be some mods and hacks for this.

Regarding dynamic range and weak signal performance, the PlutoSDR is quite sensitive but prone to RF intermodulation and desensing in strong signal environments. Use a good RF filter for clean, hassle free performance. For details, see this series of 9A4QV Youtube Videos.

#Advert: Get your CPUs, GPUs, and Motherboards from GigaParts.

There are currently no direct sampling mods for the PlutoSDR. Expect them eventually. It would be nice to have a full DC to 30 MHz capability, though the ability to have a 3, 4, or up to 20 MHz wide IQ stream of HF data would be a welcome added capability. Being a transceiver, a direct sampling mod will require more care than for RTL-SDRs.

PlutoSDR Tweaks and Hacks

First among software mods for the PlutoSDR is the one broadening the operating range from 70 MHz through 6 GHz. Prototypes and early production versions of the SDR used an AD9364 transceiver chip, operating across the full tuning range. Later production runs switched to the AD9363, which was limited by software to the official 325 MHz to 3.8 GHz range. By changing the software, the original limits may be restored, though actual performance may not be as good on radios using the AD9363. Making the change requires making a serial connection to the radio and issuing a set of commands.

The username is root and the password is analog. If the radio contains the AD9363, the commands "fw_printenv attr_name" and "fw_printenv attr_val" both return the error message "not defined" as shown below. Note that the pound sign "#" means "you are the root user":

# fw_printenv attr_name
Error: "attr_name" not defined
# fw_printenv attr_val
Error: "attr_val" not defined

Change the radio's internal configuration to operate as an AD9364 equipped device by setting environmental variables to "compatible" and "ad9364" as shown below:

# fw_setenv attr_name compatible
# fw_setenv attr_val “ad9364”
# pluto_reboot reset

Check the new configuration by logging in again and sending a query for the environmental variables:

Welcome to Pluto
pluto login: root
Password:
# fw_printenv attr_name
attr_name=compatible
# fw_printenv attr_val
attr_val=ad9364
#

If all is well, send a logout command, disconnect, and enjoy your new fully capable PlutoSDR.

GUI Software for PlutoSDR

User interfaces are small in number due to the PlutoSDR being so new. Expect wider inclusion in the popular SDR interfaces over time. GNU Radio (Linux) and SDR# (Windows) are the main apps to look at for using PlutoSDR devices. Mac users should be able to work out support through Windows or Linux virtualization methods. Below are instructions for Debian / Ubuntu based Linux systems, adaptable to Arch, Slackware, and other Linux flavors.

CubicSDR and other applications using the SoapySDR library can compile support from code on Github. Be sure to install the dependencies libiio, libad9361-iio, and SoapySDR first. Then build the SoapyPlutoSDR plugin:

cd ~
git clone https://github.com/jocover/SoapyPlutoSDR
mkdir SoapyPlutoSDR/build
cd SoapyPlutoSDR/build
cmake ..
make
sudo make install
sudo ldconfig

There is a method of getting Gqrx to work with PlutoSDR hardware for users who have installed Gqrx from the special PPA maintained by Alexandru Csete. John Hagensieker posted a nice tutorial on his blog. The heart of his tutorial is getting dependencies, Gqrx, and gr-iio from PPAs, then compiling gr-osmosdr-gqrx from Csete's git repository. It is simple and works fine.

For using Gqrx to operate a PlutoSDR, follow these steps to get dependencies and build it from source code. Remember that source and prepackaged installations don't coexist well, so do this in a virtual machine or one where Gqrx and its dependencies have been cleanly purged. Begin the process by installing (or reinstalling) tools for handling source code and the prerequisites for building Gqrx:

sudo apt update
sudo apt install autoconf git build-essential bison cmake flex qtbase5-dev qt5-default qtscript5-dev libssl-dev qttools5-dev qttools5-dev-tools qtmultimedia5-dev libaio-dev libasound2 libavahi-client-dev libcdk5-dev libqt5svg5-dev libqt5webkit5-dev libsdl2-dev libxml2-dev libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack-jackd2-dev libserialport-dev libusb-1.0-0-dev libxrandr-dev libqt5xmlpatterns5-dev libqt5xmlpatterns5 libqt5xmlpatterns5-private-dev pulseaudio swig3.0

On some, but not all systems, it may be necessary to get a fresh version of libserialport:

cd~
git clone git://sigrok.org/libserialport
pushd libserialport
git checkout libserialport-0.1.1
./autogen.sh
./configure
make
sudo make install
sudo ldconfig

Compile and install libiio:

cd ~
git clone https://github.com/analogdevicesinc/libiio
mkdir libiio/build
cd libiio/build
cmake ..
make -j
sudo make install
sudo ldconfig

Compile and install support for the Analog Devices Systems on Chips:

cd ~
git clone https://github.com/analogdevicesinc/libad9361-iio
mkdir libad9361-iio/build
cd libad9361-iio/build
cmake ..
make -j
sudo make install
sudo ldconfig

Get gr-iio:

cd ~
git clone https://github.com/analogdevicesinc/gr-iio
cd gr-iio
mv include/gnuradio/iio include/iio
rm -r include/gnuradio
sed -i 's/gnuradio\/iio/iio/g' CMakeLists.txt
sed -i 's/gnuradio\/iio/iio/g' swig/*
sed -i 's/gnuradio\/iio/iio/g' include/iio/*
sed -i 's/gnuradio\/iio/iio/g' lib/*
sed -i 's/gnuradio\/iio/iio/g' python/iio/*
sed -i 's/from\ gnuradio\ import\ iio/import\ iio/g' grc/iio_pluto_sink.xml
sed -i 's/from\ gnuradio\ import\ iio/import\ iio/g' grc/iio_pluto_source.xml
mkdir build
cd build
cmake ..
make -j
sudo make install
sudo ldconfig

Compile and install GNU Radio OsmoSDR Gqrx support:

cd~
git clone https://github.com/csete/gr-osmosdr-gqrx
cd gr-osmosdr-gqrx/
git checkout plutosdr
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

After the above dependencies are installed, install the experimental branch of Gqrx:

cd~
git clone https://github.com/csete/gqrx
cd gqrx.git
mkdir build
cd build
cmake ..
make
sudo make install

If the "make install" step completes without errors, Gqrx should be ready to run.

PlutoSDR Applications

There are some interesting uses for the PlutoSDR. One of the more interesting applications is in a coherent, multichannel, software beam forming system. Another is G4GUO's PLUTO-Express digital amateur television project.

If you have installed the software to use the PlutoSDR on a Linux system, then it is just a little bit more work to compile and install Dupmp1090 for following air traffic. For the pretty maps, multiple aggregator feeds, or multilateration, a bit more work is necessary. However, the commands below will result in a working basic dump1090 binary with config files for the PlutoSDR.:

cd~
git clone https://github.com/PlutoSDR/dump1090
cd dump1090
make

This device works fine for more ordinary uses, and does very well indeed on VHF through at least L band without the need for a receive preamplifier. For transmitting, yes, consider amplification to achieve usable power levels. PlutoSDR devices are sensitive enough to receive L band GPS, Wxsats, Iridium, and INMARSAT downlinks from a good antenna. It certainly seems to make a fune ADS-B receiver. With the AD9364 software mod, the PlutoSDR should work fine above 3.8 GHz, though specifications are not guaranteed. Try it and find what works!



Tags:

©2005 - 2020 AB9IL, All Rights Reserved.
About, Contact, Privacy Policy and Affiliate Disclosure, XML Sitemap.