GPS fake out project



You can’t use any active GPS antenna for TX. It has an LNA inside for signal reception and doesn’t pass signals in the opposite direction. You need a passive antenna, and I recommend TS.07.0113 GNSS monopole terminal antenna from taoglas.

You can also make a simple dipole antenna by yourself.


I have been trying to do the same thing but unable to get a position fix (coincidentally I am also using the same app on my Android phone). As soon as I turn ON the limesdr-mini a lot of satellites show-up but “in use” value fluctuates between 0 and 5 (being 0 most of the time even though the number of satellites is pretty high (~20 and signal strengths are between 30 and 40).
May I ask you to please advise on what might be going wrong.
Thank you for your help in advance,


Trying gps simulation with the Mini is on my short list.

Are you following the wiki instructions (as a point of reference) - ?
There is an error in one pic for the frequency should be 1575.42MHz - not the 1545.42 pictured.


I think I am following the instructions correctly but probably something is still wrong.
Yes, I corrected the frequency.
Look forward to the results of your tests with the Mini.


See note about antenna below - looks like the osmocom sink should be set for BAND2 using 1.5GHz output.

Also helps to switch off “High Accuracy” in Android - that uses wifi and cell in addition to gps for location - change it to GPS only in location settings.

Other than that - ensure the right antenna** – found this interesting read while searching for that: - and that the gps-sim parameters match the grc sketch, that is -s 10e6 10MHz sample rate, you can actually switch to the default 2.6e6 for smaller rf dat files but they must match, and the size -b 8 for char in the sketch.

And are you using a static location (-l lat long) or a motion file (-u) ? Best to get static location working first.

** I have not dug into the Mini antenna but according to this “Use TX1_2 RF output for 10MHz - 2GHz frequency range” - so the fellow at is correct - we should be using BAND2 for 1.5Ghz output.


Good news - I was able to reproduce what I think you were seeing, a setup that worked solid with the non-mini was losing sync a lot with the mini - could actually get a fix and see 7 sats or so in use then they would all drop out. That was with the osmocom, SoapySDR/UHD sink.

Switching to the gr-limesdr sink in gnuradio companion seems to work better - I’m currently at SEG tower with 10 sats in use and 1m accuracy and is stable.

Instructions at Will update the wiki shortly with details but here’s a screenshot of a working configuration in grc for the mini, using 2.6Msps


Thanks a lot for the super quick updates!
Actually I have been trying with the gr-limesdr sink all through although with a 10M sample rate.
As per your detailed guidelines, I changed the “high accuracy” settings in Android.

Does the change from 10Msps to 2.6Msps work (in your case) because of some issue in the USB interface?
The sudden drop in the satellites seen also matches with the abrupt disappearance of the signal when seen on a spectrum analyzer.
Also, sometimes the satellites “in-use” change very quickly which does not look normal .

Anyways, looking forward to your design details so that I can also get my first position fix.
Thanks again,


Well you have more instrumentation on the issue than I have :slight_smile:
Tried same setup again with a Galaxy S4 (gps only) got got the drop outs too.
A Lenova TAB 2 is what works stably with the same app, so looks that was not the solution. Get no difference with 10 or 2.6Msps.


No amount of instrumentation can replace the grey matter at your end :slight_smile:
May I ask what do you feel could be the issue?


Hi, may I ask if you could hint on the issue here.


Would if I had any idea but no clue.


Hi - finally got around to working with the LimeSDR-Mini and the gps-sdr-sim project and finally had some luck.

Created an rf data file with this, using 5Msps, 8bit char samples -
$ ./gps-sdr-sim -l 22.542883,114.062996,45 -e brdc2500.18n -s 5000000 -b 8 -o seg_r5_b8.s8 -d 1200

you may not want duration of 20 minutes though. Using the attach grc graph and I got it to work with:

  • Qstars BT-818XT bluetooth gps
  • Lenova TAB 2 A-10 running GPS Test+
  • OnePlus 5T running GPS Test+
  • Samsung GS4 running GPS Test+

and google maps of course. Turn off fine location in settings, set for gps only, put in airplane mode and restart and run the sketch first thing before it gets any other satellite reading.

Cannot upload the grc so posted it here:

Would like to hear if anyone else has good luck with that.


Config while it’s working:

# LimeUtil --info
Version information:
Library version: v18.03.0-ga71714c0
Build timestamp: 2018-09-08
Interface version: v2018.3.0
Binary interface: 18.03-1

Using 8 bit interleaved char from gps-sdr-sim so it’s scalled down by 1/256 or 0.0039 , running full deplex to see the output is nicely not-overdriven.


Just upgraded to the latest and everyone seems happy with that too:

Version information:
  Library version:	v18.06.1-gef262563
  Build timestamp:	2018-09-10
  Interface version:	v2018.6.0
  Binary interface:	18.06-1


Working nicely on my LimeSDR-mini too, Many Thanks for you !!