This page contains information about using LimeSDR family devices from Lime Microsystems together with Osmocom software.


The LimeSDR is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip.

Key characteristics include:
  • RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF
  • FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23
  • Memory: 256 MBytes DDR2 SDRAM
  • USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC
  • Oscillator: Rakon RPT7050A @ 30.72MHz
  • Continuous frequency range: 100 kHz – 3.8 GHz
  • Bandwidth: 61.44 MHz
  • RF connection: 10 U.FL connectors (6 RX, 4 TX)
  • Power Output (CW): up to 10 dBm
  • Multiplexing: 2×2 MIMO
  • Power: micro USB connector or optional external power supply
  • Status indicators: programmable LEDs
  • Dimensions: 100 mm x 60 mm

RF Output Power

  • +11dB in gsm900 (arfcn 5)
  • +3dB in dcs1800 (arfcn 871)

in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 7). the resulting rf output will be around -6dB, but will meet phase noise requirements (<5°rms).

there is a graph from myriad showing the power vs frequency plot in this thread:


The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb should be sufficient for laboratory use.

Using external clock reference

using "clock-ref external" the clock-ref input can be fed with a 10MHz clock from e.g. a gpsdo.
the signal slope is not really important since there is a full pll which can handle sine as well as rectangle signals.

the internal clock reference should be fine for short testing in the lab(<30min) but is not stable enough for longterm use.

LimeSDR Mini

The LimeSDR Mini is a smaller, less expensive version of the original LimeSDR.

Key characteristics include:
  • RF Transceiver: Lime Microsystems LMS7002M FPRF
  • FPGA: Altera MAX 10 (10M16SAU169C8G)
  • EEPROM memory: 2 x 128 KB for RF transciever MCU firmware and data
  • Flash memory: 1 x 4 MB flash memory for data
  • USB 3.0 controller: FTDI FT601
  • Rakon 30.72 MHz VCTCXO
  • Continuous frequency range: 10 MHz – 3.5 GHz
  • Bandwidth: 30.72 MHz
  • RF Connection: 2 x SMA connectors (each can be switched between high and low frequency bands) + 1x U.FL REF CLK
  • Power Output (CW): up to 10 dBm
  • Dimensions: 69 mm x 31.4 mm

RF Output Power

  • +3dB in gsm900 (arfcn 5)
  • -12dB in dcs1800 (arfcn 871)


the internal clock is ok, but not stable enough (longterm) to run a gsm network. for short term lab use it should be ok. (few minutes).

Using external clock reference

providing an external clock is tricky:
according to the spec from the clockchip used (ti LMK00105) the input signal needs to have "sharp rectangles 2V/ns or better".
this is a limitation of the LimeSDR mini due to no extra pll chip being present, in contrast to the LimeSDR-USB.


Due to some yet unknown issue with the usb bridge chip used on limesdr mini, some machines have issues getting a reliable usb connection and loose an extreme amount of USB packets. Since the extra bandwith of USB3 is not necessary for normal use of osmo-trx-lms, a simple work-around is to force the device down to USB2. This can be done easily by selecting a port which does not have a USB3 socket or use a USB2 only cable/extension to connect the device.

The board also gets quite warm and can make good use of an extra fan and/or some heatsinks.
it also takes 800-1000mA of current from the USB socket, so using a 'Y cable' to feed it can help with stability. issues.

LimeNet Micro

LimeNet Micro is a small all-in-one board combining the sdr, a gpsdo and some rf filters with a raspberry pi compute module3.
Due to the integrated gpsdo it should have no problems running tdma networks like gsm.

there are different board variants of which some provide internal diplexers, poe pd, wifi module, hdmi and audio sockets.
our tests happened with a poe enabled variant without wifi, no diplexers.

setup: install default raspbian (see getting started link below) and osmocom latest or nightly feeds.
config: use LNAL or LNAH for rx-path, BAND1 for tx

RF Output Power

  • +7dB in gsm900 (arfcn 5)
  • -5dB in dcs1800 (arfcn 871)

in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 2). the resulting rf output will be around -7dB, but will meet phase noise requirements (<5°rms).


do not select a specific clock on LimeNet Micro. (remove clock-ref line)
when this type of hardware is detected osmo-trx defaults to the gps synchronized clock from the fpga (gpsdo).
see led4/led5 for gps status

the external reference clock input socket is currently not supported.

further information



currently not supported

OsmoTRX on LimeSDR

In terms of OsmoTRX for LimeSDR, we now have osmo-trx-lms which avoids the previously complex driver stack with UHD, SoapyUHD, SoapySDR, etc. All you need in terms of specific dependencies is:
  • LimeSuite containing the actual drivers and utilities for LimeSDR (version 17.09 or later required, last release 18.06.0 or master really advised)
    • for LimeSDR-mini, you will need 17.10 or later (last release 18.06.0 or master really advised)

If your distro doesn't ship with a LimeSuite new enough, it is advised that you install LimeSuite from osmocom repositories, see MacroBinaryPackages.

Verifying the driver stack

You can ensure that LimeSuite recognizes your device using the LimeUtil part of LimeSuite:

$ LimeUtil --find
  * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz]

Running osmo-trx-lms with LimeSDR

If rt-prio is set in .cfg file, running as root may be required.

A sample cfg file to run osmo-trx-lms with a LimeSDR device can be found in osmo-trx.git in doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg.

osmo-trx-lms -C osmo-trx.git/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg

Other LimeSDR related information

Files (4)

Updated by roh over 4 years ago · 52 revisions

Add picture from clipboard (Maximum size: 48.8 MB)