Tagged: plutosdr

New Custom Firmware for the PlutoSDR with Several Linux SDR Programs Pre-Installed

The PlutoSDR is an Analog Devices $99 - $149 RX/TX capable SDR with 20 MHz of bandwidth and a 325 MHz to 3.8 GHz frequency range that is software hackable to 56 Mhz of bandwidth and a 70 MHz to 6000 MHz frequency. It has an on board Xilinx Zynq Z-7010 FPGA, which has a built in dual core ARM Cortex-A9 processor as well. This processor is capable of running Linux and Linux SDR software on the PlutoSDR itself. PlutoSDR's can be purchased directly from Analog Devices, or via ArrowDigiKey or Mouser.

Recently "Lama Bleu" has been working on a custom firmware image for the PlutoSDR. Installing custom firmware allows you to load up a pre-configured Linux system which already has a bunch of useful software installed. He writes that his version is not designed to have a nice GUI, but rather focuses on scripting and data acquisition software. A list of software pre-installed to the image is shown below:

To access these tools you simply connect to the PlutoSDR via a network connection and SSH. With some of the tools installed it is possible to do things on board the PlutoSDR like recording signals, demodulating signals, transmitting CW, stream demodulated audio over a network, plot the spectrum on the terminal, create an online SDR with OpenWebRX, do a long spectrum scan and transmit DATV. 

An alternative custom firmware is PlutoWeb which we posted about in the past. This image is designed for creating a web interface GUI, and for running streaming software such as OpenWebRX.

A spectrum scan completed on board a PlutoSDR running Lama Bleu's custom firmware.
A spectrum scan completed on board a PlutoSDR with rx_tools, running Lama Bleu's custom firmware.
GNU Plot running on the PlutoSDR with Lama Bleu's custom firmware.
GNU Plot running on the PlutoSDR with Lama Bleu's custom firmware.

PlutoWeb: Custom firmware for the PlutoSDR that enables you to Run OpenWebRX, dump1090 etc directly on the device

GitHub user unixpunk has been working on a custom firmware image for the PlutoSDR called 'PlutoWeb' (more info available on their website as well). The firmware allows you to run a web interface on the PlutoSDR and this allows you to run server programs such as OpenWebRX, Dump1090 and streaming servers like SoapyRemote. Because the PlutoSDR has a built in processor, this firmware can turn the SDR into a fully standalone device.

The PlutoSDR is an Analog Devices $99 RX/TX capable SDR with 20 MHz of bandwidth and a 325 MHz to 3.8 GHz frequency range that is software hackable to 56 Mhz of bandwidth and a 70 MHz to 6000 MHz frequency. It has an on board Xilinx Zynq Z-7010 FPGA, which has a built in dual core ARM Cortex-A9 processor as well. It has been out of stock for a while, but was recently restocked and can be purchased directly from Analog Devices, or via Arrow, DigiKey or Mouser.

If you're interested we previously did a review on the PlutoSDR, and have notes on enabling the software hack and setup available on this blog.

PlutoWeb Web Interface Running on the PlutoSDR.
PlutoWeb Web Interface Running on the PlutoSDR.

Software Defined Radio for Engineers: Free University Level Text Book with PlutoSDR Examples

Analog Devices has recently released a new text book for free called "Software-Defined Radio for Engineers, 2018". This is an advanced university level text book that covers communication systems theory as well as software defined radio theory and practice. The book uses the PlutoSDR as reference hardware and for practical examples. The PlutoSDR is Analog Devices $150 RX/TX capable SDR that was released about a year ago.

The objective of this book is to provide a hands-on learning experience using Software Defined Radio for engineering students and industry practitioners who are interested in mastering the design, implementation, and experimentation of communication systems. This book provides a fresh perspective on understanding and creating new communication systems from scratch. Communication system engineers need to understand the impact of the hardware on the performance of the communication algorithms being used and how well the overall system operates in terms of successfully recovering the intercepted signal.

This book is written for both industry practitioners who are seeking to enhance their skill set by learning about the design and implementation of communication systems using SDR technology, as well as both undergraduate and graduate students who would like to learn about and master communication systems technology in order to become the next generation of industry practitioners and academic researchers. The book contains theoretical explanations about the various elements forming a communication system, practical hands-on examples and lessons that help synthesize these concepts, and a wealth of important facts and details to take into consideration when building a real-world communication system.

The companion site for the book which contains links to complimentary online lectures, slides, and example MATLAB code can be found at https://sdrforengineers.github.io. MATLAB is a very powerful programming language and toolset used by scientists and engineers. MATLAB is not a cheap tool, but there is a home user licence available for a more reasonable price. To do some of the exercises in the book you'll probably at least require the core MATLAB plus the Communications System Toolkit which is an extra add on.

The full book can be purchased as a Hardcover from Amazon, or downloaded freely online as a PDF.

If you're interested in a similar book, there is also the free DesktopSDR book which uses RTL-SDR dongles for the practical examples.

SDR For Engineers Book
SDR For Engineers Book

Real Time Passive Radar Running Native on the ADALM-PLUTO ARM CPU

The ADALM-Pluto (aka PlutoSDR) is a US$149 TX/RX capable SDR that we have posted about several times in the past. It has a tuning range from 70 MHz to 6000 MHz with a bandwidth of up to 56 MHz (with software hack applied). One additional useful feature on the PlutoSDR is it's built in ARM CPU, which can be used to run programs on board the SDR itself. 

Over on his blog Mike has shown how he implemented simple passive radar code on the PlutoSDR's ARM processor. This means that no PC or other hardware is required to process the data, the entire script can be run via a SSH connection to the PlutoSDR. Mike doesn't seem to have shared his script anywhere, but one of his previous posts explains the process. The script creates the video in real time on board the PlutoSDR's ARM CPU, which is then streamed via ffplay to a PC with a screen. On his second post Mike shows some extra videos of passive radar working with FM Broadcast and DVB-T signals.

Passive radar is a radio technique allows you to detect and track RF reflective objects such as aircraft using strong signals from already existing transmission towers, such as broadcast FM or DVB-T signals.

Transmitting DVB-S with a PlutoSDR and Receiving it with an RTL-SDR

Over on YouTube Christopher Bridges has uploaded a video showing him using a PlutoSDR and a GNU Radio program to transmit a DVB-S signal, which is then received with an RTL-SDR. DVB-S is a digital video broadcasting standard designed for satellite transmissions and digital amateur television video (DATV) also uses DVB-S in the 1.2 GHz amateur band. In this example the PlutoSDR transmits at 1.28 GHz.

Chris uses the rtl_sdr command line software to receive the raw IQ data at 1 MSPS, and then uses the leandvb software to decode the raw IQ file directly into a video file.

If you’re interested in TXing DVB-S/DATV but don’t have a transmit capable SDR, then we note that even a Raspberry Pi just by itself can be used to transmit it with rpidatv.

Linux gnuradio QPSK DVBS PlutoSDR + rtl MacBook leansdr

PlutoSDR Quickstart Guide

This guide is intended to get you set up with your PlutoSDR quickly and easily on either Linux or Windows. We also show how to apply a simple software 'hack' to your PlutoSDR to extend its frequency range to about 70 MHz to 6000 MHz and bandwidth to 56 MHz.

Applying the Frequency + Bandwidth Expansion Hack

Note that the Windows SDR# plugin requires this hack to be performed first, which is why we put this hack at the top. This hack tricks the PlutoSDR firmware into thinking is has the AD9364 chip. As the AD9363 and AD9364 chips are very similar this works. Note that you do this at your own risk, but we feel that the risk is very low.

This tutorial is for Windows and PuTTY, but could be applied to any OS and terminal software

  1. If you don't have it already, download the terminal emulator software PuTTY from putty.org.
  2. Plug in your PlutoSDR on the USB port.
  3. Open Windows Device Manager, and expand the Ports (COM & LPT) entry. Take a note of what COM port the PlutoSDR Serial Console is using. In the screenshot ours is using COM6. Close device manager after.
  4. Open PuTTY and select the 'serial' button.
  5. Under 'Serial line' type in the COM port the PlutoSDR is using. In our case we type COM6.
  6. Press Open and you should be greeted with a login screen.
  7. Login with the credentials username: root, password: analog.

Now follow the instructions in the following screenshot image, typing in the three commands as they appear.

PlutoSDR Upgrade instructions

An example of the commands being entered in PuTTY

After doing a reset your PlutoSDR should now be upgraded to the full frequency range and bandwidth.

Windows PlutoSDR SDR# Setup

  1. Download the Windows Drivers from here. Choose the latest version of the PlutoSDR-M2k-USB-Drivers.exe download.
  2. Run the installer and complete the installation by clicking through the prompts.
  3. Plug in your PlutoSDR. Windows should automatically recognize the PlutoSDR and a folder containing the PlutoSDR config file may pop up. PlutoSDR creates a USB disk drive, USB network connection and a USB serial port. You can confirm in Windows Device Manager if these interfaces have been added.
  4. Download and extract SDR# into a folder of your choice from airspy.com/download. Make sure that you download the x86 version, do NOT download the x64 version.
  5. Grab the current release of the SDR# PlutoSDR plugin from here. Download the sdrsharp-plutosdr-x.x.x.zip file.
  6. Extract the contents of the PlutoSDR SDR# plugin zip file into your SDR# folder.
  7. In the SDR# folder find the "FrontEnds.xml" file. Right click it and go to "Open With" open it with Notepad, or any other text editor of your choosing.
  8. Before the </frontendPlugins> closing tag, add the PlutoSDR key below, and then save and close Notepad. NOTE: If you are copy and pasting, please double check that your browser is not converting the double quotes (") into backquotes.
    <add key="PlutoSDR" value="SDRSharp.PlutoSDR.PlutoSDRIO,SDRSharp.PlutoSDR" />
  9. Open SDR# and under the Source pull down box choose PlutoSDR.
  10. Open the properties box by clicking on the cog icon which is next to the play button. In the default Connection tab ensure the Device-URI is "ip:", and then click on "Connect".
  11. Still in the properties box go to the "Receiver tab". Choose a sample rate up to or below 4 MSPS. Higher sample rates can be selected if desired, but note that you will have dropped samples (e.g. choppy audio). This is a hardware limitation of the PlutoSDR. (Note that there currently seems to be a bug where if you mouse over the FFT or waterfall parts of SDR# then the PlutoSDR config box will be sent to the background. Move the config box to the very left to avoid this. If it disappears just click the cog icon to get it back. If you can't move it because you've moved it too far to the right, minimize SDR# and frag it back to the left.)
  12. Press close the configuration box, and then press the Play button in SDR#. The PlutoSDR should now be running.
  13. Open the configuration box again to adjust the gain.

Linux Instructions (Still Coming)

Comments Off on PlutoSDR Quickstart Guide Posted in Tagged with

Opening a Car and Garage Door With PlutoSDR

Over on his YouTube channel Tysonpower (aka Manuel) has uploaded a video showing how he was able to use his PlutoSDR to perform some simple replay attacks that open his garage and car doors. To do this he records the signal from the wireless keyfobs with the PlutoSDR, and then uses a GNU Radio program to replay that signal again at a later time. From the tests he concludes that the PlutoSDR can be a great cheaper alternative to a HackRF, with the PlutoSDR coming in at $100 vs $300 for the HackRF.

To get around the rolling code security on his car he records the keyfob with the PlutoSDR while it’s out of the wireless range of his car, so that the rolling code will not be invalidated. Then later closer to the car the PlutoSDR is used to replay the car keyfob signal which opens the door.

Note that Tysonpower’s video is narrated in German, but English subtitles are available through the YouTube interface.

[EN subs] Hacken eines Autos und Garagentors – AdalmPluto Replay Attacke

ADALM-Pluto 2-tone Test at 144 MHz

Over on his YouTube channel Adam 9A4QV has been testing his ADALM-PLUTO SDR in the 2M ham band at around 144 MHz. In one of his videos he shows a 2-tone test. A 2-tone test is used to determine how well an SDR can handle two strong narrowband signals at once, without causing intermodulation and imaging problems. The two tones in his video occur with real world signals on the 2M band when two amateur radio operators are transmitting strong signals at the same time.

The video shows that the Pluto SDR has some intermodulation problems occurring when the two strong signals transmit at once. No problems are noticed when only one signal transmits.

Problems like this with the PlutoSDR may be expected as it was never designed to be a high performance receiver, but rather a tool for learning and experimentation. But it is still possible to use it as a more general purpose receiver if you are aware of the limitations.

ADALM-PLUTO 2-tone test 144MHz