Lime Suite is a collection of software supporting several hardware platforms including the LimeSDR, drivers for the LMS7002M transceiver RFIC, and other tools for developing with LMS7-based hardware. Installing the Lime Suite enables many SDR applications such as GQRX to work with supported hardware through the bundled SoapySDR support module. This wiki page will guide users through available binary packages, obtaining dependencies, compiling the suite, basic testing with hardware, and upgrading firmware.
- Interested in software or hardware development? Learn more about the Lime Suite driver architecture.
1 Supported hardware
- LimeSDR USB 3.0
- STREAM with LMS7002M UNITE (EVB7)
- LMS7002M UNITE (EVB7) through COM port
- Novena Laptop with LMS7 RF board
2 Installers and packages
We have support for a select number of platforms and package managers. If your platform isn't supported, follow the next sections for getting the dependencies and building LimeSuite.
2.1 Ubuntu PPA
The drivers PPA for Ubuntu has a recent build of LimeSuite:
sudo add-apt-repository -y ppa:myriadrf/drivers sudo apt-get update sudo apt-get install limesuite limesuite-udev sudo apt-get install soapysdr soapysdr-module-lms7
- The build/bin/Release directory of the repo has a pre-built binary for the lms7suite GUI. Use this application for testing, plotting, firmware updates, and hardware evaluation.
- LimeSuite is also bundled with the PothoSDR development environment to use supported hardware in an ecosystem of SDR applications like GQRX, Pothos, CubicSDR, and GNU Radio.
2.3 OSX homebrew
- install the Xcode Command Line Tools,
- then install homebrew from http://brew.sh/,
- and run the following commands:
brew tap pothosware/homebrew-pothos brew update brew install limesuite
3 Get the dependencies
Before building LimeSuite from source, several dependencies must be installed. However, the dependencies required change based on how much of the suite will be used. LimeSuite will automatically try and build all components that it can satisfy the dependencies for. The following table is a guide to the the requirements for various components.
|Build system||Git & CMake|
|Core library||sqlite3||Has embedded copy for windows|
|LMS7 GUI||wx widgets & OpenGL||Has embedded GL for windows|
|LimeSDR||libusb 1.0/CyAPI||Use CyAPI for windows|
|NovenaRF7||i2c and spi dev||Linux only device|
|SoapyLMS7||SoapySDR||SDR app ecosystem support|
#packages for soapysdr available at myriadrf PPA sudo add-apt-repository -y ppa:myriadrf/drivers sudo apt-get update #install core library and build dependencies sudo apt-get install git g++ cmake libsqlite3-dev #install hardware support dependencies sudo apt-get install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev #install graphics dependencies sudo apt-get install libwxgtk3.0-dev freeglut3-dev
Users building LimeSuite on windows will need a recent visual studio compiler, preferable 2015. Other dependencies can be obtained from the following download links:
- Git for windows - https://git-for-windows.github.io/
- CMake - https://cmake.org/download/
- wxWidgets - https://www.wxwidgets.org/downloads/
- CyUSB - http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit
- It may be easier to download "cy_ssusbsuite_*.zip" rather than the full SDK
4 Building LimeSuite
4.1 Unix makefiles
The following commands will clone the LimeSuite repository, configure the project using CMake, build the project, and install it. The output of the cmake command will show enabled and disabled components. Pay careful attention to this before building with make.
git clone https://github.com/myriadrf/LimeSuite.git cd LimeSuite mkdir builddir && cd builddir cmake ../ make -j4 sudo make install
Linux-only post install step: Install the udev rules to enable non-root users to access usb-based devices like the LimeSDR:
cd LimeSuite/ udev-rules sudo ./install.sh
4.2 Visual Studio
After installing the dependencies, open a cmd prompt and run the following command to clone the repository:
git clone https://github.com/myriadrf/LimeSuite.git
Complete command line example with cmake for MSVC 2015 64-bit (your dependency directories may vary):
cd LimeSuite mkdir builddir cd builddir cmake ../ -G "Visual Studio 14 2015 Win64" ^ -DWX_ROOT_DIR=C:/wxWidgets-3.1.0 ^ -DwxWidgets_ROOT_DIR=C:/wxWidgets-3.1.0 ^ -DwxWidgets_LIB_DIR=C:/wxWidgets-3.1.0/lib/vc140_x64_lib ^ -DFX3_SDK_PATH="C:/EZ-USB FX3 SDK/1.3" ^ -DSoapySDR_DIR=C:/PothosSDR cmake --build . --config Release #installs files to CMAKE_INSTALL_PREFIX cmake --build . --config Release --target install
Or use cmake-gui to configure and generate the visual studio project solution. After generating, open the Visual Studio solution file and run the build target.
5 LimeSDR notes
The following post-install tasks are designed to get users up and running with the LimeSDR USB 3.0 device. Lets check that any necessary drivers are installed and that the LimeSuite utilities can find the LimeSDR attached to your system. We will also cover using the LMS7 GUI to update the firmware and FPGA images stored in the board's flash memory.
5.1 CyUSB driver
Windows only, OSX and Linux users do not need to install drivers for USB support. Download the CyUSB driver: The driver is part of the cyusb suite, however we also maintain a zip of just the drivers to make it easy on users. Download the CyUSB driver for windows and unzip the package. LimeSDR should appear as an unrecognised device in the device manager. Use the device properties dialogue to specify the path to the drivers directory (its the directory that contains CyUSB.chm). Once the proper directory is specified, the driver installation should complete successfully.
5.2 Device enumeration
Open the lms7suite GUI and check for the LimeSDR in the connection settings dialogue:
From the command line run LimeUtil to get a list of available devices:
#make sure that STREAM is one of the available connections LimeUtil --info #now run LimeUtil with --find to locate devices on the system LimeUtil --find #Example print output from LimeUtil * [module=STREAM, media=USB, name=USB 3.0 (LimeSDR-USB), addr=241:1204]
Similarly, when working with SDR ecosystem applications, its also good to verify that the LimeSDR can be found by SoapySDRUtil:
#make sure that lime is one of the available factories SoapySDRUtil --info #now run SoapySDRUtil with --find to locate devices on the system SoapySDRUtil --find="driver=lime" #Example print output from LimeUtil Found device 0 addr = 241:1204 driver = lime media = USB module = STREAM name = USB 3.0 (LimeSDR-USB)
5.3 Flashing images
You may need to update the FX3 firmware or FPGA bitstream stored in the flash memory of the LimeSDR. Download the latest firmware images and use the LimeSuiteGUI to write the images to the flash. Make sure to select the correct File, Device, and Programming mode -- the FX3 firmware has a ".img" file extension and the FPGA bitstream has a ".rbf" file extension. The device must be power-cycled after the flash is written.