12

I am trying to use a ORG-1411 GPS (https://origingps.com/products/hornet-org1411/) to get location and UTC fix, using the breakout from Mikroe (https://www.mikroe.com/nano-gps-click). To parse the readings I am using ublox ucenter (https://www.u-blox.com/en/product/u-center) and sometimes I also use TinyGPS+ library for the Arduino.

The TTFF was around 5 minutes for location and 10 seconds for UTC time the first time I turned on the GPS from cold start. I expect the fix time to be lower (< 35 seconds) as claimed by Origin for the subsequent cold starts (https://origingps.com/wp-content/uploads/2019/09/Nano-Hornet-ORG1411-Datasheet-Rev-4.3.pdf). However, the GPS takes the same amount of time to get the location and time data from satellites. I tested the module in two locations out in the open with open sky above and no surrounding buildings within close proximity.

Can anyone suggest what's wrong?

Swapnil Saha
  • 157
  • 1
  • 7
  • It's obvious that every fix is a "first fix". The problem then points to the saved data from the first fix being lost. – Jörg W Mittag Sep 03 '20 at 16:26
  • 1
    Origin tech support should be able to help. – user57037 Sep 03 '20 at 17:43
  • Tech support was pointing out at non-plausible solutions (e.g. boards being sold in the market using their GPS module being improperly designed etc etc). The comment below provides more plausible answer. – Swapnil Saha Sep 03 '20 at 18:12
  • 1
    I tend to support Origin's feedback. The performance of a GPS greatly depends on the oscillator, and also on the RF input chain. The board should have a goot TCXO to start with. The required information is sent every 18 seconds, so if the first second is missed, the end of the following message is 35 seconds later. This delay is therefore achievable with Cold Start (no almanac, no known time, ...) if the GPS is well designed. Some GPS chips/modules are better than others and will still perform well even with a bad design. A battery backup helps, but you'll not notice with a good GPS. – le_top Sep 03 '20 at 20:53
  • Then it's the problem with the GPS module Origin designed itself instead of breakout manufacturers and us designing PCBs. I used other cheap GPS boards earlier which did not have such long subsequent cold starts. If they had properly designed the module properly then it wouldn't have issues. – Swapnil Saha Sep 04 '20 at 20:29
  • Ok, I didn't notice this was a *Module* from Origin on a breakout. Already from 2014. It haseverything on board "Fully integrating: Low profile antenna element, Dual-stage LNA, SAW filter, TCXO, RTC crystal, GPS SoC, PMU, RF shield" and is based on a SiRFstarIV, something I haven't been a fan off. Host PCB recommendations are here: https://origingps.com/wp-content/uploads/2018/08/Hornet-Modules-Layout-Recommendations-andIntegration-Application-Note.pdf . The decoupling capacitors on pin 4 near PWR have a poor GND return path and should have been connected directly to pin 5 without via. – le_top Sep 04 '20 at 21:59
  • While it's an old module with IMHO a not so good chip, the host board could clearly be better as well. To check if the capacitors have an influence, I might have moved their location on the PCB, but it's difficult to do by hand here. The antipad seems to be missing (there seems to be a via there), the top ground area under the module should have been "separate" but seems joined with the top GND ("Avoid copper pour on the module side, keeping out the module minimum 3mm from the copper planes", "Decoupling capacitors might be placed in the keep out area as close as possible to the VCC pad.) – le_top Sep 04 '20 at 22:13
  • I designed my own PCB keeping these issues in mind. I will see if mine makes any difference but I doubt it will improve the performance. – Swapnil Saha Sep 04 '20 at 22:21
  • The reason I chose this chip is because it's one of the smallest GPS modules with integrated antenna and consumes low power. – Swapnil Saha Sep 04 '20 at 22:21

2 Answers2

26

The first thing that comes to my mind is that a first fix starts with unknown position and with unknown time. The device has to find as much satellites and then calculate the position.

All the subsequent fixes are easier to find, because you already have an approximate positon and you already have the correct time, then a GPS tracker would spend less time to lock in, by doing a Cross-correlation of known sattelite sequence and received signal. But in case the initial conditons are not met (no approximate position or no correct time) it has to do the first fix, every startup.

Make sure you have a battery backed RTC time and position, and a kind of mechanism to upload the initial conditions to the GPS receiver at startup.

EDIT:

enter image description here

Looking at datasheet, the SoC has a BBRAM - Battery Backed RAM, but there s no mention about the battery neither it has any pad to connect an external battery. Probably it has an super capacitor or small LiPo battery embedded in the module. It could be that this battery is empty, since it is new device. Try to power the device for couple of hours or the entire day, because that battery would charge very slowly.

Once it will be charged try to see if the fix comes within specific time.

EDIT 2: I think I have found the root of the problem read this:

17.2. POWER SUPPLY It is recommended to keep the power supply on all the time in order to maintain RTC block active and keep satellite data in RAM for fastest possible TTFF. When VCC is removed settings are reset to factory default and the receiver performs Cold Start on next power up.

Marko Buršič
  • 23,562
  • 2
  • 20
  • 33
  • 2
    I think your answer is comprehensive and educational even for the general EE pro. The explanation and recommendation at the end is useful for all the newbies, including me. :) Cheers. – tlfong01 Sep 03 '20 at 09:23
  • 1
    @tlfong01 Thank you. Your answer is also very educative and well described. +1 – Marko Buršič Sep 03 '20 at 09:59
  • 1
    thanks a lot. I contacted the manufacturer and they were giving weird reasons (e.g. all breakout boards in market are improperly designed and etc etc). The reasoning in the answer is valid. – Swapnil Saha Sep 03 '20 at 16:49
15

Question

How come my GPS module takes so long time to fix, after TTFF (Time To First Fix)?

gps


Answer

Update - I now realise my answer below will apply to many similar GPS signal acquisition problems but does not answer the OP's question in this specific case.

The OP asks why first fix is reasonably long, but later fixes are disappointingly not that much shorter.

@Marko Buršič already gave the correct answer, with the reason that no battery backup is the root cause of the problem.

End of update


Note - As explained above, my answer below is not the correct answer, but can provide some background knowledge for newbies to understand the situation better.

Now let me share my GPS testing and fixing experience. My experience is about 100 hours learning and testing, with 5 of so different GPS/GNSS modules.

Yes, sometimes it takes 3 to 5 minutes to get the first fix TTFF (Time To First Fix). But almost always, afterwards it takes much shorter to do subsequent fixes, in average 30 seconds or so (shortest 15 seconds, longest 2 minutes).

I always use my GPS module at home, near two windows facing two directions. I found that I need to extend the antenna at least 15cm from window, but no need farther, even my open sky is not that open (see Appendices for some photos). I found the optimum distance is just some two meters from window.

I surprisingly found that the "openness" of an open sky does not matter that much. Often I just hang my GPS module outside the wall of my flat, some 20 stories high, with a one meter long connecting wire to the active antenna.

I also surprisingly found that power supply noise does not mater that much. Using a Lipo battery power bank, hoping to get little noise, and best performance, does not help at all.

I once used GPSD with ATK1218-BD (BeiDou), but the learning curve very steep and not friendly to newbies. One the other hand, for NEO-6m/7M/8M, I found uBlox uCenter "IDE" very good. Tip - SparkFun has newbie GPS tutorials.

I have also written basic Rpi4B Thonny python 3.7.3 programs to extract GPS data, based on uBlox uCenter. I found everything straight forward and easy (Of course the GPS NMEA1083 protocol is already text based and easy to play with python.)

For more GPS setup and testing details, you might like to read my answers to similar GPS questions in the reference list below.


References

(1) Rpi Neo-6M / Neo-8M GPS Module Setup / Fix / Update Problems

(2) How can Rpi listen to a GPS module?

(3) How can Rpi connect a GPS module?

(4) The Basics of GPS - SparkFun

(5) How GPS Works (YouTube 12 min watch) - SparkFun 2017jul31


Appendices

Appendix A - Photos of my open sky at home

gps test


gps test


gps test


gps test 6


gps 9


gps 10


gps11


gps 8


Appendix C - YouTubel showing a GPS module blinking once per second after fixing

Video showing GPS module blinking once per second after fixing

Notes

(1) The little backup battery that the OP must feel jealous is at the left side the blinking blue LED.

(2) The tiny connector connecting the black wire to the active anetnna is tricky to connect, must read SparkFun for a newbbie tutorial on how to connect.

(3) Even if you have learned how to connect, be warned that the number of connections allowed is only 5. That means after 5 times plugging in, the contacts will become loose and very easy to fall out, so you see I am using cable ties to fix the cable in secure position to "release strain" caused by careless guys like me pulling or tripping long antenna cables.

And if you find fixing intermittently fails, it is probably the poor contact connector due to you poor craftsmanship, so don't curse half of the Universe for its clear blue sky, or the ridiculously packed match box size flats blocking the sky waves. And yes, I also live in a match box, or what we locals called a "coffin" room, and I am playing GPS toys inside a coffin, and I am loving it :)

Video


Appendix D - Crowded Buildings

crowded buildings

/ to continue, ...

Russell McMahon
  • 147,325
  • 18
  • 210
  • 386
tlfong01
  • 2,766
  • 1
  • 9
  • 17
  • 2
    Looking your module ATK... on Ali, I can see it has a lithium battery on-board, meanwhile the OPs module doesn't seem to have it, this is a crucial difference. – Marko Buršič Sep 03 '20 at 08:36
  • 1
    @Marko Buršič. OMG, indeed ***the no-backup-battery-on-board is a crucial difference and explanation*** of why the Op's first fix TIFF is 5 minutes, but later fixes (after power off without battery backup ) still take long time. So I think your answer is the only answer the OP should accept. Glad that you pointed that out. Cheers. – tlfong01 Sep 03 '20 at 08:59
  • 2
    `+1` for update & historical preservation – uhoh Sep 04 '20 at 01:41