Gypsum: A Software-Defined GPS Receiver written in Python + A Writeup on How it Was Made

Thank you to RTL-SDR.COM reader Lee. who found a recently released program called "gypsum" which enables an RTL-SDR or HackRF to be used as a GPS Receiver when combined with a GPS antenna. Phillip Tennen, the author of Gypsum notes that Gypsum can obtain a fix within 60 seconds from a cold start and that it has no dependencies apart from numpy. We want to note that it appears that Gpysum has no live decoding ability yet, as it works from pre-recorded GNU Radio IQ files.

In the past, we've shown in a tutorial how GPS can be received and decoded with GNSS-SDRLIB and RTKLIB on Windows. The new Gypsum software should work on Linux and MacOS too.

What's more, Phillip has written an incredible 4-part writeup on how Gypsum was implemented from scratch. In the write-up, Phillip introduces GPS and explains how it can even work with such weak signals that appear below the thermal noise floor. He then goes on to explain how the detected signal is decoded and turned into positional information, and how challenging it was to propagate the accurate timing information that calculating a solution requires. The write-up is presented with clear visualizations to help readers intuitively gain an understanding of the advanced concepts involved.

Gypsum GPS Satellite Tracking Dashboard GUI
Gypsum GPS Satellite Tracking Dashboard GUI

Using a LimeNET Micro to Implement an Amateur Radio DMR Tier III Trunked Radio Base Station

Thank you to Adrian Musceac (author of QRadioLink) for submitting his article about how he implemented an amateur radio DMR Tier III Trunked Radio Base Station with a LimeNet-Micro software-defined radio. DMR Tier III is a digital voice trunked radio system that employs Time Division Multiple Access (TDMA) technology. Tier III is largely based on Tier II, but adds trunking abilities which enable efficient channel access and resource allocation.

The LimeNET Micro is a software defined radio based on the LimeSDR, but it has some upgraded specifications such as an embedded Raspberry Pi Compute Module 3+ that make it easier to deploy as a base station.

Adrian writes:

The Tier III extension (trunked radio) to the DMR standard is defined and specified by the European Telecommunications Standards Insititute (ETSI) in the TS 102 361-4 document.

The project uses LimeNet-Micro, LimeSDR-mini or Ettus USRP hardware to set up  such a base station for experimental and amateur radio digital voice communications purposes. The core components of this project are MMDVM, MMDVMHost (both under the form of forks supporting communication via ZeroMQ and pseudo-TTY), GNU Radio, DMRGateway, QRadioLink and the DMR trunked radio controller GUI.

Since DMR trunked radio is not very well known and used in the amateur radio world, I hope this will bring some new information to amateurs interested in these digital voice communication technologies. All code used is available as free and open source software (FOSS). A demo of the project used with real world amateur radio communications can be found on the page.

DMR Tier III system software architecture
DMR Tier III system software architecture

Discovery Dish April Manufacturing Update

This was posted over on our Discovery Dish Crowd Supply updates page and we are cross-posting here too.

It’s been over a month since our last update so we thought we’d share some of the recent progress. As mentioned in our last update, during the month of February all manufacturing was shut down due to the Chinese New Year holiday. In early March, staff returned to the factories and began making progress on finishing Discovery Dish.

We have a snazzy new logo, and we are working on obtaining some stickers to include with the feeds.

 

Dish Manufacturing Progress

The molds for the dish stamping machine were successfully created in March and the test stamps have come out great. The manufacturer is still tweaking the secondary mold that stamps the mounting and connecting holes, but we expect that to be completed shortly. Once that is done and tested, we can begin stamping the dish segments en masse.

The Dish mounting system was also finalized and we added 45-degree markers to it, which can help with aligning skew.

We are still awaiting the results of the anodizing tests, but they should be completed by the end of this month. Anodizing the dish is important as the dish must be a dark non-reflective matte color, so that it does not focus hot sunlight onto the feed point plastic head.

Feed Manufacturing Progress

PCB Upgrades

While waiting for the manufacturers to finish up with the molds, we’ve been further refining the PCB feed. Our final version of the PCB has now moved to a PTFE substrate with significantly lower loss at higher frequencies. This has yielded an over 1 dB increase in SNR at the GOES 1.69 MHz frequency.

The change to PTFE was not without problems. An interesting RF engineering problem occurred with the move to PTFE that we wanted to share. When moving to PTFE the only changes to the board layout are PCB trace width changes to keep the impedances matched. Other than that, the boards and layout are essentially identical. However, we discovered that the dual LNA design started oscillating when we moved the PTFE substrate. Oscillations can occur with LNAs when RF essentially bounces back and forth between the two LNAs, which causes undefined behavior in the LNA, such as poor gain, multiple spikes in the spectrum, and unexpected current draw values.

We found this quite odd because oscillations were not occurring in the original FR4 PCB, and the QPL9547 LNA is advertised as ‘unconditionally stable’ which means that it should never oscillate. However, we found that unconditionally stable guarantees may not apply to two-stage designs. In the end, the fix was simple, we just needed to add a damping resistor to one of the inductors on the circuit which reduces its Q-value. It seems that the change from FR4 to PTFE effectively increased the Q-value of this inductor so much, which in turn induced an oscillation in the circuit.

Discovery Dish Feed Head Enclosure

We’ve also refined the entire feed assembly. The feed arm pipe now has a ruler laser etched onto it so that mounting it at the correct distance is easy. A skew angle guide has also been added around the neck. A thumbscrew locking mechanism has been added to the feed head neck too, so that skew can easily be adjusted without the need for a screw driver or Allen wrench to loosen the set screw.

The PCB enclosure has been slightly refined and the injection molding die is currently in production and due to be completed in mid-May. While waiting for the die to be made, we’ve been testing different plastic mixes for the head enclosure to make sure that they are UV stable. The plastic mix has certain strict requirements and choosing the correct mix is crucial. It has to be RF-transparent with a low relative permittivity value, it has to endure direct sun, UV damage, and freezing weather, as well as be water-proof too.

S-Band Feed

Previously as noted in prior updates we were testing an S-band feed with the FR4 substrate. But we found that there was too much loss and the SNR values we got were not great. The move to PTFE substrate means that our experimental S-band feed is now working very well. We will be releasing this in the near future as an additional feed product that can be used with Discovery Dish. This feed will have a frequency range of 2.2 GHz - 2.3 GHz. This covers the main S-band weather satellites, other satellites like Coriolios and JASON as well as the many dump-only S-band satellites that transmit signals only over certain regions.

As requested by most people interested in an S-band feed, the S-band feed will not include a downconverter, so to use it you will either need an SDR like the HackRF which is capable of tuning to the S-band, or a third-party downconverter product.

Discovery Dish Outdoor Metal Enclosure Progress

Our enclosure set is now complete, and the final packing has almost been completed. The user manual can be found here Discovery Dish Outdoor Enclosure User Manual.pdf.

The final set consists of:

  • 1x Metal Enclosure
  • 3x Custom metal cable glands
  • 1x Vent
  • 1x Electronics mounting board
  • 1x Pole mounting set (with hose clamps)
  • 1x Wall/DIN mounting set
  • 1x 10 mm x 10 mm x 8 mm thermal pad (to be placed under the electronics mounting board)
  • 1x 10 mm x 10 mm x 3 mm thermal pad (to be placed under electronics on top of the mounting board)
  • 1x Set of various screws and washers

(Note that there will be some minor changes from this image in sets going out of customers - the hose clamp will be shorter, and the mounting rails will be longer)

Meteor M2-4 Launch

We mentioned in our last update that a new weather satellite Meteor M2-4 was due to launch. The launch was successful and the satellite is now in orbit. The satellite was briefly turned on after launch, and we were able to receive HRPT images from it in the L-band. However, now it is currently in a testing phase so the transmitters are often turned off. We don’t know how much longer it will be in testing, but we assume it won’t be more than a few more months.

GOES-U / GOES-19 Launch Updates

We’ve been keeping an eye on the expected launch date for the next GOES satellite. Currently, it has been delayed from April 30, 2024, to the new date of June 25, 2024, when it will be launched on a Falcon Heavy from Kennedy Space Center, Florida.

Elektro-L4 Updates

In the last update, we mentioned that we were having some problems getting SatDump to receive Elektro L4 properly on computing devices that used ARM processors. After some investigation, we determined that this was a problem with buffer size settings in SatDump and we were able to suggest a fix in https://github.com/SatDump/SatDump/pull/616 which was implemented. New versions of SatDump have this problem fixed.

Driver Tweaks

We have been looking at the RTL-SDR drivers and have found a few tweaks that can improve performance at L-band frequencies. We’ve put a modified version of the librtlsdr/librtlsdr fork up our the rtlsdrblog GitHub at https://github.com/rtlsdrblog/librtlsdr. With this fork and the PTFE feed upgrades, we now get around 5-6 dB of SNR on GOES-18.

Antenna Rotator

The low-cost antenna rotator is finishing up with prototype testing, and we are now working on improving the design’s manufacturability.

Timeline

The ramping of progress from the Chinese New Year holidays to now has been a little slower than expected, but if everything goes perfectly to plan, we will be on time for shipping by the end of June. However, this is currently a best-case scenario. There are still a few manufacturing stages to get through like the final mass production, CE testing and sea freight shipping. Unfortunately, from prior manufacturing experience, there are always setbacks along the way that slow progress, so we are conservatively pushing our advertised timeline back by about 1-2 months. We apologize for any potential delays, but we are working hard to get the product out to you ASAP!

Customer Questions

We have had a few more customer questions over email which we’d like the answer publicly below:

Would it be practical to use this kit indoors to do hydrogen-line astronomy? I ask because I live in a flat in a block of retirement flats, and wouldn’t be able to place an aerial or dish outside, but could find space for a Discovery dish + rotation gear inside.

Unfortunately, indoor Hydrogen line astronomy is out of the question. The hydrogen line signal is just too weak to be seen indoors, and there would most likely be too much interference indoors as well.

What all do i need to purchase and get for the Discovery Dish for Radio Astronomy?

You’ll need these two components from the Discovery Dish Crowd Supply store:

  • Discovery Dish (Dish & Mount Only)
  • Hydrogen Line Discovery Feed

You will also need a software defined radio, such as an RTL-SDR Blog V3/V4 which can be purchased separately, a computer and somewhere to mount your dish (e.g. a mast/tripod etc).

Have you tested this for C-Band / Aero downlink reception?

Currently, we do not have a C-band feed, so we have not tested it for this purpose. Generally, a larger 1.2 m+ dish is required for C-band AERO, so the 70 cm Discovery Dish may not be suitable. We may test this with Discovery Dish in the near future just in case however.

I want to purchase a hydrogen antenna. Where should I buy it? Also, please tell me what is needed to observe seti radio waves.

The Discovery Dish (Dish & Mount) and Hydrogen Line Discovery Feed can be pre-ordered from the Discovery Dish Crowd Supply store. I’m not sure exactly what you are referring to with SETI radio waves. An alien signal could in theory be on any frequency, but the 1.42 GHz Hydrogen line frequency could be a good bet as it’s a universal frequency of interest that any technological civilization would be observing. Realistically the Discovery Dish would be too small to detect potential alien signals unless they were very strong.

I’ve seen a small home made 3D-printed dish called a ‘heliocone dish’ being used for HRPT. How is Discovery Dish different?

The heliocone 3D printer design going around is a great DIY solution for L-Band polar orbiting HRPT satellites. But it has some limitations as it cannot receive the weaker geostationary satellites due to its smaller size and use of a circular polarized feed. It also cannot receive satellites using the opposite circular polarization. It also cannot receive satellites on different frequencies or the Hydrogen Line without designing a new helical feed and using a different LNA+filter combo. Discovery Dish is a more of a general purpose ‘does-it-all’ and ‘ready to use’ out-of-the-box dish. With our dish and feeds you can receive the L-Band polar orbiting HRPT satellites as well as the geostationary satellites. You can quickly swap out the feed for a different feed that covers a different band as well.

 

Tech Minds: Reviewing the Malahit DSP1 SDR Receiver 50KHz – 2GHz

Over on the Tech Minds YouTube channel, Matt has uploaded a new review and demonstration of a Malahiteam DSP1 SDR Receiver 50KHz - 2GHz. This particular unit appears to be a Chinese clone unit which is actually called a 'Malahit SDR'. The Russian company Malahiteam makes the original units, and they come in a different enclosure and feature the full Malahiteam logo.

In the video Matt shows this version of the Malahit DSP1 in action, noting that the built-in speakers sound great and that RF performance seems to be good. He does however note that the enclosure is a bit cheap, being built out of PCB boards, and that the top encoder knob sometimes doesn't work properly. Overall Matt mentions that he probably wouldn't buy it at the current ~US$180 price point, noting that better newer models like the DSP2 and DSP3 already exist. 

Malahiteam DSP SDR Receiver 50KHz - 2GHz

WarDragon: Testing EMEye/TempestSDR with Wyze Cam Pan V2 Cameras and a USRP B210

Last week we posted about University researchers who found that it was possible to recover live video images from the EM leakage emanating from various IoT security cameras. The 'EMEye' software to do this was released as open-source on GitHub.

Recently Aaron, who created DragonOS and WarDragon, has uploaded a video showing EMEye working on WarDragon. In the video, Aaron shows how to install and use the EMEye software on WarDragon, and demonstrates it working with a Wyze Cam Pan V2 that he purchased for this test.

In this video, I guide you through a practical demonstration of Tempest-based camera eavesdropping attack research. I'll be focusing on the EM Eye project, a tool derived from TempestSDR with some added features.

I'll show you how to construct the EM Eye project, step by step, and how to use it to tune into the EMI emitted by the Wyze Cam Pan v2 using an Ettus B210. By processing this EMI/RF signal, we're able to reconstruct the video stream using the algorithms provided by EM Eye and TempestSDR.

Additionally, I'll demonstrate how DragonOS FocalX and the WarDragon kit offer a cost-effective alternative by including a prebuilt version of TempestSDR that works with the Airspy R2. This allows for similar functionality at a lower cost.

If you're interested we reviewed WarDragon in a recent post as well.

WarDragon EMEye/TempestSDR Camera Eavesdropping Attack Research (B210, Airspy R2, Wzye Cam Pan v2)

The Latest Talks from the Society of Amateur Radio Astronomers

Over on YouTube a bunch of new talks from the Society of Amateur Radio Astronomers (SARA) have recently been uploaded from their recent SARA Western Conference that was held in April 2024. The talks typically involve small home-based radio astronomy setups that use small satellite or WiFi dishes and RTL-SDR or similar low-priced SDRs in their setup. Some of the latest talks include:

  • Nathan Butts: A Novice's Guide to Radio Astronomy (Link)
  • Dr Andrew Thornett: Detecting Cosmic Rays & Building your own version of the Large Hadron Collider (Link)
  • Dr Andrew Thornett M6THO: Lichfield Radio Observatory - Mapping Milky Way at 1420.405 MHz (Hydrogen) (Link)
  • Bruce Randall: IBT Eclipse and other Radio astronomy Failures (Link)
  • Felicia Lin: Mapping the Milky Way by Cross Section Data (Link)
  • Kent Britain WA5VJB: Antennas for Radio Astronomy (Link)
  • Charles Osborne: Eclipse Detection using a VLF Receiver (Link)
  • Rob Lucas - Eclipse Research (Link)
  • Dr Wolfgang Herrmann: Lunar Occultation Observation of Radio Sources (Link)
  • Keynote: Dr Linsay King - Gravitational Lensing (Link)

We note that the last talk was uploaded only a few hours ago at the time of this post, so we're not sure if more talks are yet to be uploaded. So please keep an eye on the SARA YouTube videos page.

Nathan Butts: A Novice's Guide to Radio Astronomy

Tech Minds: Review of the KiwiSDR 2

Earlier this year the KiwiSDR 2 became available for purchase and began shipping out to customers. The KiwiSDR 2 is an upgraded version of the original KiwiSDR with the main upgrades being an enhanced RF front end and the addition of a digital attenuator.

Over on the Tech Minds YouTube channel, Matt received his KiwiSDR 2 and uploaded a review and demonstration of the product. In the video, Matt shows the external ports of the KiwiSDR and discusses the differences between the KiwiSDR 2 and the original version. Matt goes on to show how to set up the KiwiSDR 2 and shows it receiving through it's web-based receiving software.

KiwiSDR is a 14-bit wideband RX-only HF software-defined radio created by John Seamons (ZL/KF6VO). The KiwiSDR has up to 32 MHz of bandwidth, so it can receive the entire 10 kHz - 30 MHz VLF/LF/MW/HF spectrum all at once. Other than the specifications, the main interesting feature about the KiwiSDR is that it is designed to be operated entirely as an online web-based SDR which is accessed over a network connection. Owners can optionally share their KiwiSDRs online with anyone who wants to access it, which also allows for interesting distributed applications, such as TDoA direction finding, which allows users to pinpoint the location of unknown HF transmissions such as numbers stations.

KiwiSDR 2 - A Standalone Software Defined HF Radio Receiver

New Tool to Convert Between SDR# and SDR++ Frequency List Formats

Thank you to 'thewsoftware' over on our forums who has shared with us his SDR# <-> SDR++ frequency list converter (sdrfc) software. SDR# and SDR++ are two popular SDR programs often used with the RTL-SDR, but each uses a different format for storing custom frequency lists.

The new sdrfc tool allows users to easily convert frequency lists between SDR# and SDR++ formats, so you don't need to manually type out a frequency list for both programs.

The sdrfc is a Windows command line tool and instructions for using it can be found on the GitHub Readme. A release zip file is available on the GitHub Releases page.

SDR# <-> SDR++ Frequency Converter Readme