Category: LimeSDR

Using a LimeSDR and RTL-SDR to Transfer a Text File Over the Air

Over on his blog nuclearrambo has been working on a project that uses a LimeSDR and RTL-SDR to transfer a small CSV text file over the air.

The transmitting side consists of a GNU Radio flowchart that encodes the text file into a binary string, modulates that binary string with Binary Phase Shift Keying (BPSK), and then transmits it using the LimeSDR.

The receiving side uses an RTL-SDR, and is based on another GNU Radio flowgraph that uses a polyphase clock sync block to synchronize the sampling time, a costas loop for fine frequency correction, an LMS DD equalizer block to compensate for multipath effects, and finally demodulation blocks that recover the bits and text file from the BPSK signal.

His results showed that he can almost recover the entire file except for the first few bytes of data which is always lost since it takes time for the clock sync and costas loop block to converge. The post goes into further detail about what each of the blocks do and some of the signal theory math behind everything. The GNU Radio GRC file is also provided if you want to try it out yourself.

LimeSDR Transmitting a CSV file to a RTL-SDR with BPSK modulation.
LimeSDR Transmitting a CSV file to a RTL-SDR with BPSK modulation.

XYNC: A Massive MIMO SDR with up to 32×32 TX/RX Channels

Back in 2017 we posted about the crowd funding of the Fairwaves XTRX, a small PCIe based TX/RX capable software defined radio that back then cost US$199 (now only the XTRX Pro is available for US$599). The XTRX is based on the same RF chips that are used in the LimeSDR and each unit has 2 x 2 MIMO (multi-input, multi-output), 120 MSPS SISO / 90 MSPS MIMO, 30 MHz to 3.7 GHz tuning range and comes with an on board GPSDO.

Recently Fairwaves have begun crowdfunding a new software defined radio called the XYNC. The XYNC is essentially a motherboard for connecting up to 16 XTRX boards together which results in an SDR with 32 TX and 32 RX channels.

If you’re working on a massive MIMO system or have a large swath of spectrum you need to monitor, XYNC (pronounced iks-sync) is right for you. XYNC builds on the success of the Octopack SDR we offered during the XTRX campaign and takes into account feedback from the original Octopack users.

You can connect two XYNC boards, either to increase the number of RX/TX channels (e.g., two XYNC Octos give you 32 TX and 32 RX channels) or to increase throughput per channel (e.g., two XYNC Quadros give you twice the throughput of a single XYNC Octo). Connecting more than two XYNC boards is also possible, but requires an external clock and 1 pps signal distribution circuitry, neither of which is provided as part of this campaign.

While advertised as low cost, the pricing is probably out of reach for most hobbyists, with the quad 8x8 unit coming in at US$4500 and the top 16 board 32x32 unit priced at US$13,000. Still, these prices are very good for a massively MIMO SDR and pricing is set to rise once the crowdfunding campaign ends in 39 days.

The XSYNC Massively MIMO SDR with up to 32x32 TX/RX Channels
The XSYNC Massively MIMO SDR with up to 32x32 TX/RX Channels

Exploring the Limits of General Purpose SDR Devices

Back in August 2019 the Chaos Communication Camp was held in Germany. This is a 5 day conference that covers a variety of hacker topics, sometimes including SDR. At the conference Osmocom developer Harald Welte (aka @LaF0rge) presented a talk titled "The Limits of General Purpose SDR devices". The talk explains how general purpose TX capable SDRs like HackRFs and LimeSDRs have their limitations when it comes to implementing advanced communications systems like cellular base stations.

If you prefer, the talk can be watched directly on the CCC website instead of YouTube.

Why an SDR board like a USRP or LimeSDR is not a cellular base station

It's tempting to buy a SDR device like a LimeSDR or USRP family member in the expectation of operating any wireless communications system out there from pure software. In reality, however, the SDR board is really only one building block. Know the limitations and constraints of your SDR board and what you need around it to build a proper transceiver.

For many years, there's an expectation that general purpose SDR devices like the Ettus USRP families, HackRF, bladeRF, LimeSDR, etc. can implement virtually any wireless system.

While that is true in principle, it is equally important to understand the limitations and constraints.

People with deep understanding of SDR and/or wireless communications systems will likely know all of those. However, SDRs are increasingly used by software developers and IT security experts. They often acquire an SDR board without understanding that this SDR board is only one building block, but by far not enough to e.g. operate a cellular base station. After investing a lot of time, some discover that they're unable to get it to work at all, or at the very least unable to get it to work reliably. This can easily lead to frustration on both the user side, as well as on the side of the authors of software used with those SDRs.

The talk will particularly focus on using General Purpose SDRs in the context of cellular technologies from GSM to LTE. It will cover aspects such as band filters, channel filters, clock stability, harmonics as well as Rx and Tx power level calibration.

The talk contains the essence of a decade of witnessing struggling SDR users (not only) with running Osmocom software with them. Let's share that with the next generation of SDR users, to prevent them falling into the same traps.

The Limits of General Purpose SDR devices

Uplinking to QO-100 with a LimeNET Micro and LimeRFE

The LimeNet Micro is a is a $329 board that combines a Raspberry Pi 3 (compute module) together with a LimeSDR radio. The LimeRFE is an amplifier and filter board accessory designed to be used with LimeSDR units. When a LimeNET Micro and LimeRFE are used together, it is possible to create a transmit capable radio system that can be used for amateur radio.

Daniel Estévez has recently been doing several experiments with the LimeRFE, and this time he's managed to create an uplink capable ground station for the QO-100 amateur radio geostationary satellite. The LimeRFE can output 1W at 2.4 GHz and Daniel writes that with a low cost 2.4 GHz WiFi parabolic grid antenna this is more than enough power to work QO-100.

In terms of software, Daniel is using a Python script that communicates with the Limesuite API for PTT control. For transmitting IQ data generated by GNU Radio he uses limesdr_send. So far he's been able to successfully test a CW beacon, SSB voice and waterfall text generated by gr-paint.

LimeNet Micro + LimeRFE + 2.4 GHz WiFi Antenna = Full QO-100 Solution
LimeNet Micro + LimeRFE + 2.4 GHz WiFi Antenna = Full QO-100 Solution

 

LimeRFE WSPR Tests

The LimeRFE is a power amplifier and filter bank solution designed for the low cost TX capable LimeSDR software defined radios. It has multiple bands from HF all the way up to 3.5 GHz, and is capable of putting out about 2W on the HF bands. Currently LimeRFE is crowdfunding over on CrowdSupply with a cost of US$599 or alternatively there is now a cheaper unit for US$449 without support for the cellular bands. The campaign is active for 4 more days from the time of this post, and after that the price is due to rise by another US$100.

The team at LimeMicro sent a unit to Daniel Estévez (EA4GPZ) for testing, and he has recently posted about his results and thoughts when using the LimeRFE for WSPR transmission with a 15m long wire antenna. Daniel connected his LimeRFE to his LimeSDR and used WSJT-X piped into SDRAngel via Pulseaudio to transmit WSPR on the 10m band. He notes that for lower bands, the LimeRFE will still need additional low pass filtering to attenuate harmonics. SDRAngel cannot yet control the LimeRFE so he also created a simple Python script for this purpose.

Unfortunately Daniel's unit only achieved 25dBm instead of the advertised 33dB, but in LimeMicro's post they note that they believe that this is due to shipping damage. However, even with only 0.3W power, Daniel's transmissions from Madrid were able to be picked up in the Canary Islands, Netherlands and Northern England.

WSPR Range with a LimeRFE (reduced 0.3W output)
WSPR Range with a LimeRFE (reduced 0.3W output)

Using SDR For QO-100 Satellite Operation

Es’hailsat, otherwise known as QO-100 is the first geostationary satellite with an amateur radio payload on-board. The satellite contains both a Wide Band transponder for experimental modes and DVB-S Digital Television and a Narrow Band transponder used mostly for SSB voice and some digital mode contacts with other amateur operators. If you’re unfamiliar with this satellite we’ve covered it in previous articles, like in [Es’hail Transponder Now Active]

While many choose to use a transverter connected to a traditional amateur transceiver, others have turned to use Software Defined Radios to complete their satellite ground stations.

[Radio Innovation] posted a video back in March showing his contact on QO-100 using a LimeSDR Mini as the 2.4 GHz transmitter and a 10 GHz LNB for the downlink.

Calling cq on QO-100 with LIMESDR

The PlutoSDR has been frequently seen used for QO-100 satellite operation on the Wide Band transponder due to its ease of DVB-S transmission utilizing software such as [DATV Express] but more recently there have been more and more operators turning to SDR for their day to day satellite operation.

It will be interesting to see how these stations evolve, perhaps by the time North America has access to a similar satellite, we’ll be prepared to operate it.

PiSDR Image Gains PlutoSDR Support

[@Lugigi Cruz] has announced on twitter that his latest PiSDR image now includes full PlutoSDR support. PiSDR is a pre-built Raspberry Pi distribution that supports several SDRs including the RTL-SDR. It comes with many applications and libraries ready for you to use some of which include GQRX and GNURadio Companion. PiSDR is available on [GitHub] and just needs to be burned to an SD card to be used. The PlutoSDR is a low cost (typically priced anywhere between $99 – $149 depending on sales) RX/TX capable SDR with up to 56 MHz of bandwidth and a 70 MHz to 6 GHz frequency range.

With this update support for the PlutoSDR has been added. This should allow for a host of new interesting uses for the image as it includes SDRAngel, an SDR application that works with transmit capable SDRs. While I’ve not yet tested the image myself, this should in theory mean that the PiSDR image could be used with a transmit capable SDR like a PlutoSDR or Lime/Mini SDR to both transmit and receive anything from DATV to voice and more.

Below you can see the image running the Raspbian desktop with the SDRAngel software connected to the PlutoSDR. Those with a keen eye may also see the LimeSDR mini laying on the desk s well. The concept of SDR on a small microcomputer such as the Raspberry Pi isn’t a new one, but the existence of this distribution makes it much easier for people to jump in and start using it without having to configure and install software from scratch which can sometimes be a daunting task.

Dronesense: A LimeSDR Based Drone Detector and Jammer

Over on the LimeSDR CrowdSupply blog, Ogün Levent has submitted a short article about his "Dronesense" project. Dronsense is a spectrum-scanning and jamming system based on the LimeSDR. The LimeSDR is a US$299 12-bit TX/RX capable SDR that can tune between 100 kHz – 3.8 GHz, with a maximum bandwidth of up to 61.44 MHz.

Drone defense is a problem that is plaguing airports, cities, sensitive buildings and the military. These days anyone with a low cost off the shelf drone can cause havoc. Solutions so far have included net guns, drone deployed nets, wideband jammers, GPS spoofers, traditional and passive radar systems, visual camera detection, propeller noise detection, microwave lasers and SDR based point and shoot drone jamming guns like the IXI Dronekiller.

Both the expensive made for military IXI Dronekiller SDR gun, and the LimeSDR Dronesense work in a similar way. They begin by initially using their scanning feature to detect and find potential drone signals. If a drone signal is detected, it will emit a jamming signal on that particular frequency, resulting in the drone entering a fail-safe mode and either returning to base or immediately landing. Specifically targeting the drone's frequency should help make the jammers compliant with radio regulations as they won't jam other legitimate users at the same time. We note that this method might not stop drones using custom RF communications, or fully autonomous drones.

Dronesense: Drone Detection and Jammer Mounted on another Drone, running on a LimeSDR.
Dronesense: Drone Detection and Jammer Mounted on another Drone, running on a LimeSDR.

However, unlike the IXI Dronekiller gun, Dronesense requires no pointing and aiming of a gun like device. Instead it appears to be mounted on another drone, with an omnidirectional jamming antenna. It runs with a GNU Radio based flowgraph which decides if a detected signal is from a drone, and if so activates the jammer. Unfortunately the software and further details don't appear to be available due to non-disclosure agreements.

DroneSense Second Jamming Test (Software Defined Aerial Platform)