Radio Tower

LimeSDR Mini Initial Thoughts and Setup Guide

I’ve been using the $22 RTL-SDR dongle for the last few years to learn about software defined radio (SDR.) I decided it was time to graduate to the next level of SDR functionality, which for me includes the ability to transmit, a wider bandwidth and a higher frequency range. There is a huge gap between the RTL-SDR and the next most sophisticated SDR in both cost and performance. At the lower end of this next range is the LimeSDR Mini, which has steadily crept up in price from $139 to a current $159. It is still about $50 less than the next tier of SDRs so I placed my order at crowdsupply.com that included the acrylic case and two antennas for an additional cost.

SDR Model Price Transmits? Bandwidth Frequency Range
RTL-SDR $22 no 2 MHz 2 MHz – 1766 MHz
LimeSDR Mini $159 yes 30 MHz 10 MHz – 3500 MHz
Airspy R2 $169 no 10 MHz 24 MHz – 1800 MHz
HackRF One $300 yes 20 MHz 1 MHz – 6000 MHz

The unit arrived within the promised time frame and was packaged satisfactorily. The first thing one notices is that there are no instructions or documentation included. This is definitely not an SDR for complete beginners. (For those new to software defined radio I would still recommend the RTL-SDR.) However, given my past experience with other dongles, moderate Linux skills and lots of patience, I was able to get the unit running on an Ubuntu virtual machine with Gqrx and GNU Radio. The steps I took to get there are outlined below.

Without even a rudimentary diagram it took me 15 minutes to figure out how to put together the acrylic case which comes in about five flat pieces that look like they have no possibility of fitting together. However, it is a fairly decent case once it is assembled. I could not find any pictures on the web to guide me so these should help if you are struggling to fit it together:

Bottom view
Side view
Side view

The first thing I did once I had the Mini up and running was to look at the FM broadcast band in Gqrx. It was immediately apparent that the noise floor was much lower than the RTL-SDR. In addition, the large bandwidth meant I could look at the entire band in one window.

FM Band

I have noticed spurious images of other frequencies showing up in various places. (see 100 MHz fuzz above) It has been noted elsewhere that for serious work, you will need to use external filters because there are none built in to the Mini. So far I’m pleased with the performance and will provide updates as I spend more time with the unit.

Setup Guide

Since there are no instructions, I’m documenting below what worked for me. This is not an official guide and your results may vary. Some steps were borrowed from other sites and are noted where applicable.

1. Set up your environment. I tried this both with a bare metal install of Ubuntu 16.04 Server and also Ubuntu 18.04 Desktop in a VMWare virtual machine. If you are using a VM, make sure the USB property setting is “3.0” and you have at least two cores. Also note you need to be connected to the internet for these steps.

2. Install LimeSuite from source using the following commands. (See https://wiki.myriadrf.org/Lime_Suite if you want the detailed explanations)

sudo add-apt-repository -y ppa:myriadrf/drivers

sudo apt-get update

sudo apt-get install git g++ cmake libsqlite3-dev

sudo apt-get install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev

sudo apt-get install libwxgtk3.0-dev freeglut3-dev

3. The next set of commands will clone the LimeSuite repository and install it.

git clone https://github.com/myriadrf/LimeSuite.git

cd LimeSuite

mkdir builddir && cd builddir

cmake ../

make -j4

sudo make install

sudo ldconfig

cd ..

cd LimeSuite/udev-rules

chmod +x install.sh

sudo ./install.sh

4. Now that you have the LimeSuite installed, you can run a diagnostic tool to make sure that your PC is detecting the Lime SDR Mini. If you get any error messages retrace the previous steps to make sure one wasn’t missed.

LimeUtil --info

5. The next command will provide information about your specific SDR. Note the serial number, we’ll need it later.

LimeUtil --find

6. Before you start using the Lime Mini, you should update the firmware and Gateware. (See https://wiki.myriadrf.org/LimeSDR_Firmware_Management if you want all the details.)

sudo LimeUtil --update

7. Make sure your Lime Mini passes the diagnostic test:

LimeQuickTest --no-gui

8. Install Gqrx. I used a variation of the steps found in this post: https://www.hagensieker.com/blog/page/?post_id=104&title=limesdr—mini-on-ubuntu-with-gqrx

sudo apt-get purge --auto-remove gqrx

sudo apt-get purge --auto-remove gqrx-sdr

sudo apt-get purge --auto-remove libgnuradio*

sudo add-apt-repository -y ppa:bladerf/bladerf

sudo add-apt-repository -y ppa:myriadrf/gnuradio

sudo add-apt-repository -y ppa:gqrx/gqrx-sdr

sudo apt-get update

sudo apt-get install gqrx-sdr

 

9.  You should now be able to run Gqrx using the command gqrx

When you first open the software, it will have a setup dialog box. Use the following settings:

  • Choose “other” from device
  • Set device string to driver=lime,soapy=0
  • Set bandwidth to 5000000 (You can increase this if you need more frequency bandwidth)
  • Set antenna to LNAW (after you leave the initial dialog box)

10. Use these commands to install the Lime version of GNU Radio. (Start in your home directory)

sudo apt-get install libboost-all-dev swig

git clone https://github.com/myriadrf/gr-limesdr

cd gr-limesdr

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

 

11. You can start GNU Radio by typing the command sudo gnuradio-companion

You will need to enter your LimeMini SDR serial number in your Lime source blocks.

My audio was choppy and distorted in GNU Radio which was also displaying the letters Ua over and over, indicating buffer underruns. I believe this was due to the fact that I was using a VMWare virtual machine. I was able to fix it by creating a new file in ~/.gnuradio called config.conf. If you already have that file, then try making the adjustments below. This post was helpful: http://sdrgps.blogspot.com/2016/01/gnuradio-getting-audio-to-work-in-vm.html

My config.conf file looks like this:

[audio_alsa]
default_input_device = default
default_output_device = default
#period_time = 0.010                      # in seconds (default)
period_time = 0.200                      # in seconds
nperiods = 4                 # total buffering = period_time * nperiods
#verbose = false
verbose = true


Hopefully this is enough to get you started using the LimeSDR Mini!