Tagged: limesdr

Creating a Multicarrier Base Station Transceiver For DMR, YSF, M17 and more with MMDVM and LimeSDR

Thank you to Adrian, creator of the QRadioLink software for writing in and sharing with us his post about how he uses a LimeSDR as an Multi Mode Digital Voice Modem (MMDVM) for various modes including DMR, YSF and M17. 

A MMDVM is usually a computing device running multiple radios, each of which is used for a separate channel with it's own filters and power amplifier hardware. Each channel can run a separate protocol if desired. 

However in order to save on radio hardware, Adrian wanted to use his LimeSDR as the radio hardware in his MMDVM system. The LimeSDR is a transceiver which has enough bandwidth to implement several channels just by itself. To do this Adrian uses his MMDVM-SDR software.

His implementation runs multiple instances of MMDVM-SDR, one instance for each channel. Then a GNU Radio flowgraph with LimeSDR block connects to each of these instances, transferring data between GNU Radio and MMDVM-SDR via ZeroMQ or TCP sockets. The bulk of Adrian's post explains the architecture in detail. Adrian writes:

The setup can transmit 7 digital carriers in 200 kHz occupied spectrum, and each radio channel can be assigned to a different mode or digital voice network as configured in MMDVMHost.

This is based on the work of Jonathan Naylor G4KLX and Rakesh Peter (r4d10n).

Adrian also notes that this is still a work in progress and there are still several limitations including high latency and issues with filtering, overload and poor channel rejection. 

Multi-Channel MMVDM LimeSDR Architecture Overview

LimeSDR 2.0 Mini Now Crowdfunding, Standard LimeSDR Discontinued

Back in March we posted about the LimeSDR Mini 1.0 becoming end of life due to component shortages, and a slightly upgraded LimeSDR Mini 2.0 was being planned. The LimeSDR Mini 2.0 has just been released for preorder over on the CrowdSupply crowdfunding website with a price of US$399 + shipping. The first 1000 units are expected to be ready within 14-weeks, with subsequent batches out at 32-weeks.

The new pricing is at quite a premium over the original LimeSDR Mini which released in 2017 for US$139, and the standard LimeSDR which released in 2016 for US$249. However we of course must to take into account the extreme inflation of electronic parts pricing that has occurred over the past few years.

Lime Micro have also noted that the standard LimeSDR has also now been discontinued due to the same supply shortages. The standard LimeSDR had 2x2 RX/TX channels and was capable of a bandwidth of up to 61.44 MHz. In comparison, both versions of the LimeSDR Mini are a 1x1 channel product with 40 MHz of bandwidth.

The LimeSDR Mini 2.0 is almost identical to the LimeSDR Mini 1.0, both still making use of the LMS7002 RF transceiver as the main chip and using the same overall design. The only change is an upgrade to the FPGA, which replaces the Intel MAX 10 16k logic gate FPGA with a significantly more capable Lattice ECP5 44k logic gate FPGA.

Given the new pricing, people on the lookout for a new hacker/research/experimenter SDR in this price range might want to consider this brief comparison to find the best suited SDR for your needs:

  • LimeSDR Mini 2.0 - US$399
    1x1 channels, 40 MHz bandwidth, 10 MHz to 3.5 GHz, 12-bits.
     
  • HackRF One - US$330 (~$150 clones)
    1x1 channels (half-duplex), 20 MHz bandwidth, 1 MHz to 6 GHz, 8-bits.
     
  • PlutoSDR - US$229.18
    1x1 channels, 20 MHz bandwidth, 325 MHz to 3.8 GHz, 12-bits.
     
  • bladeRF 2.0 Micro xA4 - US$540
    2x2 channels, 61.44 MHz bandwidth, 47 MHz to 6 GHz. 12-bits.
The LimeSDR Mini 2.0

Running GR-GSM and IMSI Catcher on a Raspberry Pi 4 with Dragon OS

DragonOS is a ready to use Ubuntu Linux image that comes preinstalled with multiple SDR software packages. The creator Aaron also runs a YouTube channel showing how to use the various packages installed. 

In his latest video Aaron tests his Pi64 image with GR-GSM and IMSI Catcher running with the GNU Radio 3.10 platform on a Raspberry Pi 4. He tests operation with an RTL-SDR and LimeSDR.

GR-GSM is a GNU Radio based program capable of receiving and analyzing mobile GSM data. We note that it cannot decode actual messages without additional information about the encryption key, but it can be interesting to investigate the metadata. GSM is mostly outdated these days, but still used in some areas by some older phones and devices. IMSI Catcher is a script that will record all detected GSM 'IMSI' numbers received by the mobile tower which can be used to uniquely identify devices.

Short video setting up and testing GR-GSM on DragonOS Pi64 w/ GNU Radio 3.10 and the RTL-SDR. The current DragonOS Pi64 build has GNU Radio 3.8 and all the necessary tools to accomplish what's shown in this video. If you'd like to test the build shown in this video, it's temporarily available here until I finish and put it on Source Forge.

https://drive.google.com/drive/u/1/fo...

A LimeSDR and DragonOS Focal's Osmo-NITB-Scripts was used to create the GSM900 lab environment. The RTL-SDR was able to see and decode the GSM900 network and although only briefly shown in the video, the IMSI Catcher script works.

Here's the fork used for this video and for testing. There's also a pull request on the main GR-GSM repo for this code to be added.

https://github.com/bkerler/gr-gsm

DragonOS Pi64 Testing GR-GSM + IMSI Catcher w/ GNU Radio 3.10 (RTLSDR, Pi4, LimeSDR, OSMO-NITB)

SignalsEverywhere: Setting up and using SDR++ Server

On this weeks SignalsEverywhere episode, Sarah demonstrates and shows us how to use the SDR++ Server, which was released as a beta earlier this year. SDR++ Server is similar to software like rtl_tcp, and Spyserver as it allows us to connect to a remote networked SDR like an RTL-SDR. Compared to rtl_tcp and Spyserver however, SDR++ Server has a huge advantage in that it is compatible with almost any SDR, and enables the full range of control options for RTL-SDRs.

In the video Sarah shows us how to activate the SDR++ server module and how to connect to a remote RTL-SDR running the SDR++ server on a Raspberry Pi. She goes on to show how to connect to other SDRs running on the Raspberry Pi as well, such as the SDRplay RSP Duo, LimeSDR, Airspy R2 and Airspy HF+ Discovery. Finally she goes on to show how to set up the server on Windows and a Raspberry Pi.

LimeSDR Mini 1.0 End of Life, and LimeSDR Mini 2.0 to be Released

The LimeSDR Mini is a sub $200 RX and TX capable SDR with 12-bit ADC, 10 MHz to 3.5 GHz tuning range and up to 40 MHz of live bandwidth. 

Due to supply chain difficulties sourcing the FPGA used on the LimeSDR Mini, an End of Life statement for the original LimeSDR Mini has now been released. However, the silver lining is that at the same time as this announcement Lime Microsystems have announced their plans to release the LimeSDR Mini 2.0.

Between the LimeSDR Mini 1.0 and the 2.0, there appear to be no major changes apart from the Intel Max 10 FPGA with 16k logic gates being replaced by the larger Lattice ECP5 FPGA with 44k logic gates. Lime Micro notes 

Not only is the ECP5 more readily available than the Intel MAX10 FPGA used in the previous design, but it has an extensive set of open source tools and a great community of developers.

The LimeSDR Mini 2.0 is in currently the 'coming soon' status on CrowdSupply and you can subscribe there to get updates on when it is released.

The LimeSDR Mini 2.0

Receiving X-Band Images from the Arktika-M1 Arctic Monitoring Satellite

Recently on Twitter @arvedviehweger (Arved) has tweeted that he has successfully received images from the Russian Arctic monitoring satellite known as ARKTIKA-M1, via it's X-band downlink at 7865 MHz. We've reached out to Arved and he's provided the following information on his setup and how he's receiving and decoding the images.

 

The Arktika-M1 satellite is a Russian weather satellite which operates in a HEO orbit. It was launched in February 2021 and has downlinks on multiple bands. The main payload downlink for the imagery is on 7865 MHz (which is also known as the lower X-Band). The satellite only transmits imagery on the X-Band at the moment, it is currently unknown whether it will ever transmit any image data on L-Band.

For Amateur reception that means having access to X-Band RF gear. It usually consists of a low noise pre-amplifier and a downconverter to convert 7865 MHz down to a lower frequency for easier reception with a high bandwidth SDR such as the LimeSDR, a USRP etc.

In my personal setup I use a surplus pre-amplifier made by MITEQ (around 36dB of gain, 1dB NF), my own self-made DK5AV compact X-Band downconverter and a LimeSDR-USB.

The L-Band gear is mounted on top (helix and the pre-amp behind it) and the X-Band gear is right below. From left to right you can see the feed, the downconverter (silver box) and the LNA (mounted to a heatsink and a fan). Recording is done with a LimeSDR-USB running at a sample rate of 50 MSPS. The satellite transmits every 15 minutes once it reaches its apogee, each transmission including the idle period lasts for about 10 minutes. Some pictures of the idle transmission and the actual data transmission can be found in this Tweet, [noting that Idle = more spikes, actual data looks weaker]:

Depending on the geographical location a rather large satellite dish is also required for Arktika-M1. Reception reports all over Europe clearly show that the satellite has a beamed antenna (similar to ELEKTRO-L2).

In my setup I can get away with a 2.4m prime focus dish (made by Channel Master) in North Eastern Germany. It produces around 9 - 10 dB of SNR in the demod of @aang254’s excellent SatDump software. Anything above 5dB will usually result in a decode but since the satellite does not have any FEC you will need more than that for a clean picture. (Image of SNR in Satdump)

A SDR Digital Voice Hotspot with GNU Radio, MMDVM and QRadioLink

Thank you to Adrian (YO8RZZ) for writing in and sharing with us his article explaining how to use an SDR to set up a digital voice hotspot for digital voice modes supported by MMDVM such as D-Star, DMR, System Fusion, P25 and NXDN. Adrian notes that this is possible with any full duplex SDR such as the LimeSDR or PlutoSDR, or with a combination of simplex devices, such as a HackRF for transmitting combined with an RTL-SDR for receiving.

MMDVM is firmware that normally runs on an ARM microcontroller board such as the Arduino Due, and is designed to be interfaced with hardware radios via the microcontrollers built in ADC and DAC hardware.

In order to use an SDR instead of physical hardware radios, Adrian's article describes how a fork of MMDVM called MMDVM-SDR is used in his system as this allows the code to run on a normal Linux computer with an SDR. GNU Radio running on Adrian's own QRadioLink software is then used to create software ADC/DAC interfaces for the SDR and MMDVM-SDR to interface with, as well as providing a user interface.

QRadioLink used as the UI for MMDVM-SDR and GNU Radio

LibreCellular: Easy 4G Cellular Network with LimeSDR and Intel NUC

We recently came across the LibreCellular project which is aiming to make it easy to implement 4G cellular networks with open source software and low cost SDRs. The project appears to be in the early stages, and seems to be focusing on deploying and modifying existing open source 4G basestation software known as srsRAN which will be used with a particular combination of hardware in order to create a reliable and easy to set up 4G basestation solution.

The reference hardware that they are recommending consists of an Intel NUC single board computer ($699), LimeSDR ($315), LimeRFE front end filtered power amplifier ($699), and Leo Bodnar Mini Precision GPS Reference Clock ($140). All together you can create a 4G basestation for around $1850.

LibreCellular Components for a 4G Basestation: LimeRFE, Leo Bodnar GPS Clock, LimeSDR, Intel NUC.