Category: Other

New GUI and Info on Outernet’s moRFeus Wideband Signal Generator

Back in March we posted about the release of Outernet's moRFeus device which is a low cost wideband RF signal generator. Since then we've received a few emails from two readers who've received their units and have found some interesting hacks and have developed software for it.

First we have a submission from Ohan Smit who discovered a hack that allows moRFeus to work as a wideband noise generator by setting the LO to 5 GHz and the Mixer current to 3. Together with an Airspy and the Spectrum Spy software he was able to measure the response of a bandstop FM filter. Over on the forums he also shows screenshots of Python based control software that he's developed for controlling moRFeus.

moRFeus Generating Noise
moRFeus Generating Noise

Next we have a moRFeus Linux GUI created by "Lama Bleu". It can be used to access the same functions as via the moRFeus LCD screen, but is also has a few very useful features such as a step generator which allows a generated tone to sweep across the frequency spectrum. The moRFeus GUI can also connect to GQRX and sync with the LO frequency specified in the GQRX GUI for easy control. It should also be possible to implement a CW morse code generator with some scripts.

Outernet moRFeus GUI
Outernet moRFeus GUI

Over on the forums Zoltan, one of moRFeus' designers also notes that it might even be possible to use moRFeus for WSPR modulation, although this isn't confirmed yet. It seems that moRFeus is shaping up to be a very useful tool for RF testing and experimentation.  The device is currently still available on Crowd Supply for $149US with over 136 units sold so far.

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.

Nexmon SDR: Turning a Broadcom 802.11ac WiFi Chip into a TX Capable Software Defined Radio

Over on GitHub we've recently seen the release of some interesting code called "Nexmon Software Defined Radio" which demonstrates a discovery that allows a Broadcom 802.11ac WiFi chip to be used as a transmit capable software defined radio. This means that it can be used to transmit (within the 2.4 GHz and 5 GHz WiFi bands) any arbitrary signal from IQ data. The specific WiFi chip used in their experiments is the US$10 BCM4339 which has been found in smartphones such as the Nexus 5. It's not clear if other Broadcom 802.11ac WiFi chips could also work.

To begin with Nexmon SDR you'll need a development environment set up on a Nexus 5 smartphone. Then it's a matter of downloading the dependencies, installing the Android NDK, and compiling Nexmon. IQ data can then be transmitted in code using from special system commands.

The Nexmon team have indicated on Twitter that they plan to present a paper with more information on Nexmon SDR at the MobiSys 2018 conference which will be held in June.

Building an IcoBoard FPGA based Software Defined Radio

The IcoBoard is an FPGA IO board that is compatible with the Raspberry Pi. An FPGA (Field Programmable Gate Array) is a silicon chip that can implement custom digital circuits (such as DSP processors) and be reconfigured with different circuits many times. Other silicon chips are ASICs (application specific integrated circuit) which have circuits that are set in stone.

Over on YouTube OpenTechLab has been trying to create a software defined radio with his IcoBoard FPGA. To do this he's combined it with an audio A2D/D2A (analog-to-digital/digital-to-analog) converter board and a Raspberry Pi. The video goes through the entire design process, including A2D/D2A selection and purchasing, PCB adapter design in KiCad, soldering the PCB, as well as 3D printing a frame.

In the last part of the video he does a simple test where a signal is input into the A2D converter, converted to digital and processed by the FPGA. The circuitry programmed into the FPGA then simply outputs the received data to the D2A which converts it back into an analog signal. In the next steps of the project OpenTechLab hopes to work on the software and turn it into a full SDR. Show notes for the video are available here.

GhostSDR: An RTL-SDR Based Ghost Box for SDR#

A "Ghost Box" or "Spirit Box" is a tool used by paranormal investigators to talk with spirits via the claimed electronic voice phenomenon (EVP). Some believers in paranormal activity theorize that electronic radio devices or EM fields are susceptible to manipulation by other worldly spirits, and thus this can be used as a communications method. A Ghost Box is a radio device that rapidly tunes through broadcast FM radio stations, hoping to catch EVP replies by spirits from questions asked. 

In the past we've seen that the RTL-SDR has been used for this purpose with the gqrx-ghostbox software. However as gqrx-ghostbox only runs on Linux, EVP researcher 'Capt Zeanie' decided to create 'GhostSDR' which is a ghostbox program that works with SDR# in Windows. The software interfaces with SDR# via the Remote Net SDR# plugin which allows SDR# to be controlled via a network connection. Note that when we tried to run it we got an invalid memory error, so it might still be a little buggy. If you have problems you can contact Zeanie over on our forums, where he has posted the following:

This is my version of a Spirit Box or Ghost Box but using a V3 instead of a complete handheld radio as these modified are quite expensive.

I use SDR# and the main application to interface with the V3, and I also use the Net Remote Plugin which allows me to control SDR# from my software.

A Ghost Box is a radio that is modified to quickly scan through the frequencies without stopping on an particular signal. So essentially it skips between frequencies. This supposedly help spirits be able to speak through the white noise etc. Any TV Paranormal show has one..

I have been researching EVP (Electronic Voice Phenomenon) and trying for over 2 years to see if EVP actually exists. As of yet after 100's of hours of recording on various equipment I have not had anything really come through. In EVP terms I am talking about Class A to Class B EVP's (ie loud and clear).

I started this research into EVP 2 years ago after my Father-in-law passed away at his home. A few months later Mother-in-law saw a man in a brown suit appear in her bedroom whilst getting into bed, after 10-15secs he just faded away. Now my Mother-in-law is trustworthy and does not lie, so I thought with my interest in the paranormal and my long experience with working in IT I thought I could try and see for myself and ended up being more interested in EVP's.

So to help me create a Ghost Box I have written GhostSDR

A pre-bought modified Ghost Box just usually scans through the AM or FM bands, whereas GhostSDR allow you to choose which frequencies you want to use, you are only limited to the capabilities of your chosen SDR Device (ie V3)

My software allows a user to create various frequency lists that has a starting Frequency, Ending Frequency, Skip frequency and bandwidth. ie Start at 72MHz, ending at 108MHz, skipping xxHz and using a user selectable bandwidth. It will sequential skip through the frequencies of be totally random (which modified handheld Ghost Boxes can not do)

There are few more features to add over time but I am trying this version for a few months before tweaking/adding things.

The software is probably quite similar to the SDR# frequency scanner plugin which 'shielaaliens' has used before as a ghostbox tool as well.

GhostboxSDR Interface
GhostboxSDR Interface

An Intuitive Tutorial on SDR, The Frequency Domain and IQ Data

Over on his website P. Lutus has written up a useful article that introduces us to some common SDR hardware (RTL-SDRs, upconverters and the HackRF), mentions some common SDR software, and then dives into some SDR theory explaining concepts like the frequency domain and IQ sampling.

The theory sections in particular are explained quite intuitively with animated and interactive graphs that really help with visualizing the math. The explanations are short and not math heavy, so if you have half an hour you can learn some of the basic theory behind making SDRs work.

IQ Visualized on an interactive graph.
IQ Visualized on an interactive graph on P.Lutus' blog post.

DSP Illustrations: Learning DSP with a Soundcard SDR

DSP Illustrations is an online course that aims to explain complex digital signal processing (DSP) concepts visually instead of on a purely theoretic and mathematical level. Most of the content appears to be free, but some premium content requires payment.

One premium course that they've recently released is titled "Using your Soundcard as a Software-defined radio". In this course they use a standard PC sound to transmit (with the speakers) and receive (with a microphone) audio signals. All the DSP code is produced in Python and the course aims to walk you through all the concepts shown below.

  • baseband transmission of real-valued signals
  • passband transmission including up- and downconversion
  • modeling the audio channel as an LTI system for reproducable simulations
  • eye diagram drawing
  • symbol timing recovery
  • channel coding
  • definition and implementation of a frame structure, including header, payload and checksum
  • integration of the wireless transmission into a UDP data stream

Although the "SDR" isn't using radio frequencies, the exact same DSP concepts that apply with audio also apply to radio. So this can be a cheap way to get hands on DSP experience without the cost of needing to own a transmit/receive capable SDR.

This course costs about US$20, but the first three chapters are free.

Using a soundcard to study wireless communications.
Using a soundcard to study wireless communications.

Understanding the Fourier Transform: Video Tutorial from 3Blue1Brown

The Fourier Transform is a fundamental concept when it comes to digital signal processing (DSP) and thus understanding how software defined radios like the RTL-SDR work. It is the key bit of maths behind the RF/waterfall spectrum displays and frequency selection features used on your SDR software. In basic terms all the Fourier Transform does is take a signal (for example an RF signal from an antenna, or a sound sample), and break it down into its component frequencies. This allows us to see each individual frequency spike in the RF/waterfall spectrum display in programs like SDR# from the mash of signals that arrive at the antenna. But understanding how the Fourier Transform does this can be a little tricky to understand.

3Blue1Brown is a very successful YouTuber whose channel is all about explaining complex mathematical concepts in an animated and easy to digest format. His latest video explains the Fourier Transform, and is a great starting point for those trying to learn DSP concepts. He focuses on audio frequencies as that is the most intuitive, but the exact same concepts can be applied to radio frequencies.