NMEA messaging for A-GPS

  • Hi all

    I'm attempting to measure the difference between the TTFF of the L76 GPS chip aboard my Pytrack when it's using the "EASY" assisted GPS function, and when this function is disabled.

    I'm very new to NMEA messaging! I searched the L76 docs and found the NMEA message that disables/enables the EASY function, but I'm wondering if anyone could tell me how to send NMEA messages to the L76 chip? Can I do this through Pybytes on ATOM with the Pytrack connected to my computer?


  • Hi @Gijs,

    Fixed! I have now started getting GPS fixes! Thanks so much for your help!

    One last thing - I am interested in getting cold fixes to measure the time difference between cold fixes and warm fixes. I'm not sure if you're familiar with writing to the L76 chip, but I'm trying to use L76GNSS.write() and the relevant NMEA message to get the chip to perform a full cold restart where it has no information on the last location whatsoever. Does this command look correct? It doesn't throw up an error, but the L76 is fixing immediately afterwards so I know it isn't performing a full cold fix.

    Screenshot 2020-08-11 at 16.33.48.png

    Otherwise, do you know of another way to perform a full cold restart on command?


  • The messages are as expected, when the GPS has a fix, the (None, None) will change into the coordinates of your location.
    I can understand you are hesitant. I will try with the built in antenna tomorrow in my area. In the case of using the built in antenna, it is probably useful to have a correct RTC time, do make sure you remove the jumper when using the built in antenna, or it will try to use the nonexistent external antenna. I believe there should be a GPS command available to check the status of GPS sattelites RSSI, but I am not sure at the moment what it is exactly (you should be able to find it in the GPS documentation), this way you can check whether any signal is coming in.

  • Hi @Gijs,

    I've detached the Sigfox/LoRa antenna. I'm not all that keen to buy a new one until I can prove that it's the built-in antenna that's the problem. Even in perfect outdoor conditions, could the built-in antenna take over 20 minutes? And is the message I'm getting, (shown above) of (none, none) repeated line after line while I wait for a lock, something I should expect?

    Can you think of anything else that could be causing the problem?


  • Hi,
    To answer your questions

    1. / 3. That is really unusual. Once I step outside for a few meters and wait a few minutes, (even without the RTC enabled) It works like a charm, in a heavily built up area. Did you check the antenna connector and or jumper? If you are using an external antenna, the jumper right next to the L76 can should be inserted, if you have no external antenna connected, remove the jumper. Without external antenna, it might take longer to get a fix. There is an antenna on board (next to the label RFI1), but of course its reception is weaker. A SigFox / LoRa antenna for 868MHz is not appropriate for GPS connections (polarisation, frequency and the like). We sell the corresponding external GPS antenna here: https://pycom.io/product/external-gps-antenna/

    2. The pool.ntp.org is a ntp server pool, if you google that you will find more information. It will work wherever you are, through LTE or WiFi (make sure you establish the connection, it should automatically fetch the time from the servers once called)

  • Hi @Gijs

    That's very helpful! After discovering how difficult it may prove to supply ephemeris data to the L76 chip to do a manual version of A-GPS (without using the EASY functionality), I've decided to stick with the settings as they are.

    After reading through lots of troubleshooting on getting GPS to work using the Pytrack, I'm confused about a few key points. I'm using a FiPy and Pytrack 2.0

    1.. Using the most up to date Pycom libraries and the example code https://github.com/pycom/pycom-libraries/blob/master/pytrack-2/main.py, should I expect to see the following repeated messages while the chip is acquiring a fix?

    I have not yet had coordinates appear instead of (none, none), and I have been trying outside (in rural England) for +20 minutes each time with very clear skies.

    Screenshot 2020-08-11 at 14.33.50.png

    2.. For some reason, the RTC does not set properly when running the above main.py code. I have to set it manually before running main.py. Is this typical? Is the field containing "pool.ntp.org" supposed to be user-specified? Screenshot 2020-08-11 at 14.40.07.png
    Screenshot 2020-08-11 at 14.38.45.png

    3.. Are there external antennae that can be used with the GPS chip? After getting no GPS fix, I've been trying to use the Sigfox/LoRa antenna with a jumper on the AON pin - but this is more of a stab in the dark. Does the L76 chip have an antenna built-in?

    I'd be grateful for assistance in any of these areas.


  • Hi, You can use the L76GNSS.dump_nmea() command to review the NMEA messages from the device. It is also possible to write messages to the GPS using L76GNSS.write(), which writes to the I2C port directly. Check the datasheet of the GPS module for more info on formatting. I do not recommend writing to the port directly as you could accidentally brick the module.

Log in to reply

Pycom on Twitter