# LimeSDR Made Simple series

**URL:** <https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480>\
**Category:** LimeSDR\
**Created:** [18 July 2017 13:05 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480 "2017-07-18T13:05:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [18 July 2017 13:05 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/1 "2017-07-18T13:05:52Z")

</div>

First post in a new series that will hopefully prove useful to those getting up to speed with the LimeSDR, its LMS7002M FPRF transceiver, Lime Suite and associated APIs:

[https://myriadrf.org/blog/limesdr-made-simple-part-1/](https://myriadrf.org/blog/limesdr-made-simple-part-1/)

---

<div class="post-metadata">

**Author:** ![Psynosaur](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/psynosaur/32/1014_2.png) [@Psynosaur](https://discourse.myriadrf.org/u/Psynosaur)\
**Post date:** [18 July 2017 13:22 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/2 "2017-07-18T13:22:41Z")

</div>

Great! 🙂

---

<div class="post-metadata">

**Author:** ![9a4db](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/9a4db/32/2675_2.png) [@9a4db](https://discourse.myriadrf.org/u/9a4db)\
**Post date:** [18 July 2017 13:40 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/3 "2017-07-18T13:40:56Z")

</div>

Nice entry, looking for next edition 🙂

---

<div class="post-metadata">

**Author:** ![Timmmm](https://avatars.discourse-cdn.com/v4/letter/t/5daacb/32.png) [@Timmmm](https://discourse.myriadrf.org/u/Timmmm)\
**Post date:** [25 July 2017 08:53 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/4 "2017-07-25T08:53:37Z")

</div>

This is exactly what LimeSDR is missing! Looking forward to the next bits. Then maybe I’ll actually be able to get mine to work.

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [1 August 2017 14:53 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/5 "2017-08-01T14:53:08Z")

</div>

Hi All,

The second post in the series has just gone up:

[https://myriadrf.org/blog/limesdr-made-simple-part-2-matching-lms7002m-rx-iq/](https://myriadrf.org/blog/limesdr-made-simple-part-2-matching-lms7002m-rx-iq/)

---

<div class="post-metadata">

**Author:** ![Axeman](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/axeman/32/728_2.png) [@Axeman](https://discourse.myriadrf.org/u/Axeman)\
**Post date:** [1 August 2017 21:39 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/6 "2017-08-01T21:39:46Z")

</div>

This second article answers a lot of questions I have had. It also raised many more. Mostly “What is this?” and “Why would I need to adjust that?” I am going to wait and read before I ask, though. That way I will only have hard to answer questions left.  
The hard ones would be “How do I make X happen when Z is low and W won’t do D while F is high intermittently?”

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [14 August 2017 15:57 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/7 "2017-08-14T15:57:54Z")

</div>

Part 3 in the LimeSDR Made Simple series is out! A Practical Example:

[https://myriadrf.org/blog/limesdr-made-simple-part-3-practical-example/](https://myriadrf.org/blog/limesdr-made-simple-part-3-practical-example/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [29 August 2017 13:56 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/8 "2017-08-29T13:56:51Z")

</div>

Part 4 is now out and takes a look at constructing an FM receiver using Pothos:

[https://myriadrf.org/blog/limesdr-made-simple-part-4-pothos-beyond/](https://myriadrf.org/blog/limesdr-made-simple-part-4-pothos-beyond/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [13 September 2017 15:12 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/9 "2017-09-13T15:12:24Z")

</div>

Part 5 is now up, which takes a look at using GNU Octave to generate waveforms which can then be transmitted using Lime Suite GUI:

[https://myriadrf.org/blog/limesdr-made-simple-part-5-putting-software-sdr/](https://myriadrf.org/blog/limesdr-made-simple-part-5-putting-software-sdr/)

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [13 September 2017 17:09 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/10 "2017-09-13T17:09:45Z")

</div>

Great series this time, Andrew - I’ll check this out since I’ve used Octave in the past.

73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![chepalaRF2017](https://avatars.discourse-cdn.com/v4/letter/c/a88e57/32.png) [@chepalaRF2017](https://discourse.myriadrf.org/u/chepalaRF2017)\
**Post date:** [15 September 2017 14:43 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/11 "2017-09-15T14:43:53Z")

</div>

thanks for the update Andrew

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [25 September 2017 14:18 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/12 "2017-09-25T14:18:13Z")

</div>

Part 6 in the series is now up and looks at receiving ASK/OOK signals using Pothos and GNU Radio:

[https://myriadrf.org/blog/limesdr-made-simple-part-6-one-way/](https://myriadrf.org/blog/limesdr-made-simple-part-6-one-way/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [23 October 2017 16:29 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/13 "2017-10-23T16:29:59Z")

</div>

Part 7 is now up on the Myriad-RF blog:

[https://myriadrf.org/blog/limesdr-made-simple-part-7-one-way-continued/](https://myriadrf.org/blog/limesdr-made-simple-part-7-one-way-continued/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [16 November 2017 16:54 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/14 "2017-11-16T16:54:12Z")

</div>

The eighth instalment is now out!

LimeSDR Made Simple Part 8: C Examples and SoapySDR API:

[https://myriadrf.org/blog/limesdr-made-simple-part-8-c-examples-soapysdr-api/](https://myriadrf.org/blog/limesdr-made-simple-part-8-c-examples-soapysdr-api/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [15 December 2017 12:47 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/15 "2017-12-15T12:47:28Z")

</div>

The ninth instalment is now up and this takes a look at using the VNA example based on pyLMS7002M:

[https://myriadrf.org/blog/limesdr-made-simple-part-9-vna/](https://myriadrf.org/blog/limesdr-made-simple-part-9-vna/)

---

<div class="post-metadata">

**Author:** ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)\
**Post date:** [1 March 2018 12:27 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/16 "2018-03-01T12:27:21Z")

</div>

Split this topic on 1 March 2018 12:27 UTC

A post was split to a new topic: [Board overheated and no longer recognised](https://discourse.myriadrf.org/t/board-overheated-and-no-longer-recognised/2412)

---

<div class="post-metadata">

**Author:** ![Matti](https://avatars.discourse-cdn.com/v4/letter/m/e480ec/32.png) [@Matti](https://discourse.myriadrf.org/u/Matti)\
**Post date:** [11 October 2018 06:37 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/17 "2018-10-11T06:37:23Z")

</div>

I have tried to test a site survey tool code. I will get two errors.

First:  
error: ‘Cleanup’ undeclared (first use in this function) atexit(Cleanup);

Cleanup is undefined

Second:  
undefined reference to `Get\_Samples’

Where I can find Get\_Samples function?

I can compile the example when commenting these two lines, but I guess at least “Get\_Samples” should do something?

---

<div class="post-metadata">

**Author:** ![KarlL](https://avatars.discourse-cdn.com/v4/letter/k/dfb087/32.png) [@KarlL](https://discourse.myriadrf.org/u/KarlL)\
**Post date:** [11 October 2018 07:46 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/18 "2018-10-11T07:46:41Z")

</div>

`atexit(Cleanup);` is probably not necessary as at the end there’s a `Close(sdr);`.

`Get_Samples` may not be needed either, as there’s a `Read_1024_samples` below.

What do you get when running the program?

---

<div class="post-metadata">

**Author:** ![Matti](https://avatars.discourse-cdn.com/v4/letter/m/e480ec/32.png) [@Matti](https://discourse.myriadrf.org/u/Matti)\
**Post date:** [11 October 2018 09:24 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/19 "2018-10-11T09:24:04Z")

</div>

Output is this:

$ ./example2.bin 1e6 2e6 100e3  
Found device #0: addr=1d50:6108, driver=lime, label=LimeSDR-USB [USB 2.0] 9062000C40615, media=USB 2.0, module=FX3, name=LimeSDR-USB, serial=0009062000C40615,  
[INFO] Make connection: ‘LimeSDR-USB [USB 2.0] 9062000C40615’  
[INFO] Reference clock 30.72 MHz  
[INFO] Device name: LimeSDR-USB  
[INFO] Reference: 30.72 MHz  
[INFO] LMS7002M calibration values caching Disable  
Rx antennas: NONE, LNAH, LNAL, LNAW, LB1, LB2,  
Rx gains: TIA, LNA, PGA,  
Rx freq ranges: [0 Hz -\> 3.8e+09 Hz],  
Starting RMS scan, Start is: 1000000.000000, End is: 2000000.000000, Interval is: 100000.000000  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
This gives a total of: 10.000000 Sample pointsFreq is: 2000000.000000, RMS is: 0.000923  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2100000.000000, RMS is: 0.000924  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2200000.000000, RMS is: 0.000892  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2300000.000000, RMS is: 0.000850  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2400000.000000, RMS is: 0.000866  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2500000.000000, RMS is: 0.000932  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2600000.000000, RMS is: 0.000941  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2700000.000000, RMS is: 0.000975  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2800000.000000, RMS is: 0.000887  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Cannot achieve desired sample rate: rate too low  
[ERROR] Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)  
Freq is: 2900000.000000, RMS is: 0.000941  
Done

Which antenna port is used / how to select antenna port?

---

<div class="post-metadata">

**Author:** ![Matti](https://avatars.discourse-cdn.com/v4/letter/m/e480ec/32.png) [@Matti](https://discourse.myriadrf.org/u/Matti)\
**Post date:** [11 October 2018 10:10 UTC](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480/20 "2018-10-11T10:10:42Z")

</div>

I found the antenna setting by myself. It is in setAntenna function.

[Next page](https://discourse.myriadrf.org/t/limesdr-made-simple-series/1480.md?page=2)
