Tagged: raspberry pi

Monitoring FT8, JT65, JT9 on Multiple Bands with Low Cost Single Board PCs

Thank you to Michael (dg0opk) who wrote in and wanted to share details of his full SDR monitoring system for weak signal HF modes. His setup consists of nine ARM mini PCs (such as Banana Pi's, Raspberry Pi's, and Odroid's), several SDRs including multiple RTL-SDR's, an Airspy Mini, FunCube Dongle and SDR-IQ, as well as some filters and a wideband amp. For software he uses Linrad or GQRX as the receiver, and WSJTx or JTDX as the decoding software, all running on Linux.

Michael also notes that his Bananapi FT8, JT65 and JT9 SDR monitor has been up and stably running continuously for half a year now. Bananapi's are lower cost alternatives to the well known Raspberry Pi single board computers, so it's good to note that a permanent weak signal monitoring system can be set up on a very low budget. Presumably even cheaper Orange Pi's would also work well.

With his setup he is able to continuously monitor FT8, JT65 and JT9 on multiple bands simultaneously without needing to tie up more expensive ham radios. His results can be seen on PSKReporter. A video of his RTL-SDR Raspberry Pi 3 decoding FT8, JT65 and JT9 can be found here.

Weak Signal Receiver Setup
dg0opk's weak signal receiver setup

Getting the V3 Bias Tee to Activate on PiAware ADS-B Images

A few owners of our RTL-SDR V3 and/or our Triple Filtered ADS-B LNA (or other bias tee powered LNAs) have been having trouble getting the V3 bias tee to activate on the FlightAware PiAware Raspberry Pi image. The core stumbling point is that the PiAware image activates the dump1090 ADS-B decoder immediately upon boot. To activate the bias tee, the bias tee software requires access to the dongle which it cannot get since dump1090 is blocking it. So to get around this the bias tee must be activated first before dump1090 runs.

PiAware is FlightAware's Raspberry Pi image which feeds their flightaware.com flight tracking service using RTL-SDR dongles. By using our Triple Filtered ADS-B LNA, users can expect increased range and decoded messages, especially when using long runs of coax cable, and/or in environments with strong interfering signals.

In the instructions below we'll explain how to set up a PiAware image that automatically enables the Bias Tee upon boot.

Downloading the V3 Bias Tee Software onto PiAware

First we assume that you're starting fresh from a new PiAware image, so we need to enable WiFi and SSH connections which is part of the standard set up for PiAware. See the following links for instructions.

Enable WiFi via config file https://flightaware.com/adsb/piaware/build

Enable SSH by adding ssh file to boot https://flightaware.com/adsb/piaware/build/optional#password

 
Now log in to your PiAware machine using SSH and PuTTY (or any other terminal software) using username "pi" and password "flightaware".

Run the following commands to update and install some dependencies. 

sudo apt-get update
sudo apt-get install git cmake build-essential libusb-1.0-0-dev

 
Download and install the RTL-SDR V3 Bias Tee software.

cd ~
git clone https://github.com/rtlsdrblog/rtl_biast
cd rtl_biast
mkdir build
cd build
cmake ..
make

Testing the Bias Tee

Over on his blog Akos has created a short guide to activating the bias tee manually, by first stopping dump1090, activating the bias tee, then restarting dump1090. It's a simple one line copy and paste job.

So after installing the rtl_biast software above you can use the following line to test the bias tee. After running this line the FlightAware service should be up and running again, with the bias tee and LNA activated.

sudo service dump1090-fa stop && cd ~/rtl_biast/build/src && ./rtl_biast -b 1 && sudo service dump1090-fa start

Automatically Starting the Bias Tee on Boot

Ideally we don't want to have to reactivate the bias tee manually every time the Raspberry Pi reboots. To make it automatic use the following instructions:

First create a service directory and configuration file

sudo mkdir /etc/systemd/system/dump1090-fa.service.d
sudo nano /etc/systemd/system/dump1090-fa.service.d/bias-t.conf

 
Then paste in the following

[Service]
ExecStartPre=/home/pi/rtl_biast/build/src/rtl_biast -b 1

 
Finally press Ctrl+X then Y to close and save. Now whenever PiAware reboots the bias tee should be automatically activated as this service runs before dump1090 is activated.

Credits:

Thanks to the discussion on the FlightAware forums and in particular user 'obj' for originally finding this automatic solution.

OH2BNF’s Plan for a Large Scale Raspberry SDR (LSR-SDR) Based on RTL-SDR Dongles

Thanks to OH2BNF for writing in and sharing his plan to build a "Large Scale Raspberry SDR" (LSR-SDR), which will be based on RTL-SDR dongles. To create the LSR-SDR he plans to take a 19" rack which can support up to 40 Raspberry Pi 3's, plus up to 160 USB devices, and turn it into a massive SDR array. The rack is key as it allows for simple power management of all the Pi's and other devices to be connected.

OH2BNF plans to connect 20 or so RTL-SDRs, with some operating individually and with others operating coherently via a common external oscillator. The rack may also contain some transceivers, an ICOM IC-7300, antenna switches, upconverters, LNAs and other hardware too. Once completed he hopes to move the system to a low RFI environment and operate the unit entirely remotely. With this he hopes to solve his local RFI issues. He also writes regarding applications:

Primary objectives are to incorporate automated adaptivity to the system at large – for example leveraging on band condition information, WSPR (Weak Signal Propagation Report) & friends, automated signal detection and decoding, great flexibility in terms of individual cluster nodes being able to fast respond to various needs and tasks, strong emphasis in parallel processing where applicable depending on the problem type and dataset, support for multiple end users benefiting from the computing and reception capacity of the cluster – to name the most significant.

It's an interesting idea for sure, and we hope to see some updates from OH2BNF in the future.

The Raspberry Pi 19" Rack
The Raspberry Pi 19" Rack

Nexmon SDR: Using the WiFi Chip on a Raspberry Pi 3B+ as a TX Capable SDR

Back in March of this year we posted about Nexmon SDR which is code that you can use to turn a Broadcom BCM4339 802.11ac WiFi chip into a TX capable SDR that is capable of transmitting any arbitrary signal from IQ data within the 2.4 GHz and 5 GHz WiFi bands. In commercial devices the BCM4339 was most commonly found in the Nexus 5 smartphone.

Recently Nexmon have tweeted that their code now supports the BCM43455c0 which is the WiFi chip used in the recently released Raspberry Pi 3B+. They write that the previous Raspberry Pi 3B (non-plus) cannot be used with Nexmon as it only has 802.11n, but since the 3B+ has 802.11ac Nexmon is compatible. 

Combined with RPiTX which is a Raspberry Pi tool for transmitting arbitrary RF signals using a GPIO pin between 5 kHz to 1500 MHz, the Raspberry Pi 3B+ may end up becoming a versatile low cost TX SDR just on it's own.

Automatically Receiving, Decoding and Tweeting NOAA Weather Satellite Images with a Raspberry Pi and RTL-SDR

Over on Reddit we've seen an interesting post by "mrthenarwhal" who describes to us his NOAA weather satellite receiving system that automatically uploads decoded images to a Twitter account. The set up consists of a Raspberry Pi with RTL-SDR dongle, a 137 MHz tuned QFH antenna and some scripts.

The software is based on the set up from this excellent tutorial, which creates scripts and a crontab entry that automatically activates whenever a NOAA weather satellite passes overhead. Once running, the script activates the RTL-SDR and APT decoder which creates the weather satellite image. He then uses some of his owns scripts in Twython which automatically posts the images to a Twitter account. His Twython scripts as well as a readme file that shows how to use them can be found in his Google Drive.

mrthenarwhal AKA @BarronWeather's twitter feed with automatically uploaded NOAA weather satellite images.
mrthenarwhal AKA @BarronWeather's twitter feed with automatically uploaded NOAA weather satellite images.

Going Portable with the Airspy HF+, Raspberry Pi and 7-Inch Touch LCD

Over on the swling blog we've seen a post where contributor 'Tudor' demonstrates his Airspy HF+ running nicely on a Raspberry Pi 3, 7-inch touchscreen LCD, and USB power bank. The video shows GQRX running very smoothly on the Pi, and how the setup is able to receive various HF signals. Tudor writes:

I bought the RPi to use it as a Spyserver for my Airspy HF+ SDR.

My main radio listening location is a small house located on a hill outside the city and there is no power grid there (it’s a radio heaven!), so everything has to run on batteries and consume as little power as possible.

My first tests showed that the Raspberry Pi works very well as a Spyserver: the CPU usage stays below 40% and the power consumption is low enough to allow it to run for several hours on a regular USB power bank. If I add a 4G internet connection there I could leave the Spyserver running and connect to it remotely from home.

Then I wondered if the Raspberry Pi would be powerful enough to run a SDR client app. All I needed was a portable screen so I bought the official 7” touchscreen for the RPi.

I installed Gqrx, which offers support for the Airspy HF+. I’m happy to say it works better than I expected, even though Gqrx wasn’t designed to work on such a small screen. The CPU usage is higher than in Spyserver mode (70-80%) but the performance is good. Using a 13000 mAh power bank I get about 3.5 hours of radio listening.

On the swling blog post comments Tudor explains some of his challenges including finding a battery that could supply enough current, finding a low voltage drop micro-USB cable, and reducing the noise emanating from the Raspberry USB bus. Check out the post comments for his full notes. 

Airspy HF+ and Gqrx running on Raspberry Pi

Raspberry Pi 3 B+ Released: Faster CPU, Faster Networking and Power over Ethernet

RTL-SDR dongles and other SDRs are often used on single board computers. These small credit sized computers are powerful enough to run multiple dongles, and run various decoding programs. Currently, the most popular of these small computers is the Raspberry Pi 3.

Just recently the Raspberry Pi 3 B+ was released at the usual US$35 price. It is an iterative upgrade over the now older Raspberry Pi 3 B. The 3B+ has an improved thermal design for the CPU, which allows the frequency to be boosted by 200 MHz. WiFi and Ethernet connectivity has also been improved, both sporting up to 3x faster upload and download speeds.

The Raspberry Pi 3 B+ Power over Ethernet Hat
The Raspberry Pi 3 B+ Power over Ethernet Hat

The 3B+ also implements new Ethernet headers which allows for a cleaner Power over Ethernet (PoE) implementation via a hat. Previous PoE hats required that you connect the Ethernet ports together, whereas the new design does not. PoE allows you to power the Raspberry Pi over an Ethernet cable. The official PoE hat is not released yet, but they expect it to be out soon.

The faster processing speed should allow more processing intensive graphical apps like GQRX to run smoother, whilst the improved WiFi connectivity speeds should improve performance with bandwidth hungry applications like running a remote rtl_tcp server. PoE is also a welcome improvement as it allows you to easily power a remote Raspberry Pi + RTL-SDR combination that is placed in a difficult to access area, such as in an attic close to an antenna. Placing the Pi and RTL-SDR near to the antenna eliminates the need for long runs of lossy coax cable. If the Pi runs rtl_tcp, SpyServer or a similar server, then the RTL-SDR can then be accessed by a networked connected PC anywhere in your house, or even remotely over the internet from anywhere in the world. 

The Raspberry Pi 3 B+
The Raspberry Pi 3 B+

Decoding Meteor-M Images on a Raspberry Pi with an RTL-SDR

Thanks to Andrey for writing in and showing us his Java based Meteor-M decoder for the RTL-SDR which he uses on a Raspberry Pi. The decoder is based on the meteor-m2-lrpt GNU Radio script and the meteor_decoder which he ported over to Java. Essentially what he's done is port over to Java a bunch of GNU Radio blocks as well as the meteor decoder. The ported Java blocks could also be useful for other projects that want to be cross platform or run without the need for GNU Radio to be installed.

In his blog post (blog post is in Russian, use Google Translate for English) Andrey explains his motivation for writing the software which was that the Windows work flow with SDR# and LRPTofflineDecoder is quite convoluted and cannot be run headless on a Raspberry Pi. He then goes on to explain the decoding algorithm, and some code optimizations that he used in Java to speed up the decoding. Andrey notes that his Java version is almost 2x slower compared to the GNU Radio version, but still fast enough for real time demodulation.

Meteor-M2 is a Russian weather satellite that operates in the 137 MHz weather satellite band. With an RTL-SDR and satellite antenna these images can be received. Running on a Raspberry Pi allows you to set up a permanent weather satellite station that will consistently download images as the satellite passes over.

Decoded Images with Andry's Meteor-M software on Raspberry Pi.
Images received with Andry's Meteor-M software running on a Raspberry Pi.