Serial LTE Modem + GPS

I am attempting to get GPS working on a custom board which uses a Fanstel m2 nrf52840 + nrf9160 module. I am also using a nRF9160-DK board, the one with the integrated GPS (Tagolas) antenna.

The nRF9160 on both devices has been loaded with the mfw_nrf9160_1.3.3.zip modem firmware. I've also downloaded the latest SDK version 2.3.0 and build and programmed the serial_lte_modem project.

The AT commands I'm using are:

```

AT%XSYSTEMMODE=1,0,1,0
AT%XCOEX0=1,1,1570,1580
AT%XMAGPIO=1,0,0,1,1,1574,1577
AT+CFUN=1
AT#XGPS=1,1

```

If I go outside, the DK board will eventually start to produce some GPS messages, while our Fanstel board does not.

In terms of hardware, there are a few differences between the devices. The DK is using an integrated Tagolas GPS antenna. The Fanstel is using some integrated internal antenna -- there is is some pad for a u.fl external antenna but it is not populated.

Looking at the schematic, the Fanstel has am amplifier which has its GPS_EN connected on the nrf9160 to MAGPIO0. On the DK, older schematic also had this arrangement, while some newer schematic had GPS_EN connected to COEX0.

At this point, I am just using the default unmodified code for the serial_lte_modem project. I'm hoping the issue is something like the GPS_EN but am not sure. I'm not sure what to do to get the GPS up and running on the Fanstel. Outside of GPS, the unit works just fine.

  • Hi,

     

    Can you share pictures of the module that you're using?

     

    Kind regards,

    Håkon

  • I've been testing the DK board and the module labeled BLN60E-B840-V6.

    On the Nordic side, I'm using the LTE Link Monitor. On the module, the nRF52840 is a running some firmware I wrote which allows me to write AT commands via USB which are rerouted to the nRF9160 over UART, and then the UART responses are written back over USB. It functions almost the same as the LTE Link Monitor but is simpler.

    The module's connector under the label is for LTE -- this is just a pic of a loose board.

  • Tested again today with no other changes. This time, I mounted the Fanstel device to the roof of my car. It eventually worked! Seems like after enabling it took 10-15 to lock. Tested with and without LTE.

    Interestingly, the last test I did had LTE enabled. Not sure if coincidence or not, but after 10 minutes or so it didn't seem like it was working then I did a "AT%XMAGPIO?" and it immediately started pumping out GPS data.

    I need to automate this stuff for use in our device. Let me know if that weird polling for the xmagpio is sensible. Could just be a fluke it started right after?

  • Hi,

     

    Thanks for posting the pictures. This helps alot.

    jhadella said:

    Tested again today with no other changes. This time, I mounted the Fanstel device to the roof of my car. It eventually worked! Seems like after enabling it took 10-15 to lock. Tested with and without LTE.

    Interestingly, the last test I did had LTE enabled. Not sure if coincidence or not, but after 10 minutes or so it didn't seem like it was working then I did a "AT%XMAGPIO?" and it immediately started pumping out GPS data.

    I need to automate this stuff for use in our device. Let me know if that weird polling for the xmagpio is sensible. Could just be a fluke it started right after?

    Good to hear that you got a fix. I think there is a performance gap between the two designs here.

    If you run the gnss sample (and set CONFIG_GNSS_SAMPLE_NMEA_ONLY=y), you should be able to get NMEA strings out directly from each module. Here, I'm interested in the CN0 for each respective satellite. This is a number that you want to be >30 for atleast 4 satellites in order to produce a fix.

    Could you try this and share the log for both DK and your custom board?

     

    Kind regards,

    Håkon

  • I was able to collect some data using that project on the DK board. See attached.

    I was having trouble getting the same on the Fanstel board. I normally use my custom nrf52840 usb uart passthrough app, but the frequency of the NMEA was causing issue. The nrf connect app doesn't seem to work correctly with that hardware. I'm using another dk with jtag.

    nrf9160_dk_gnss_log.txt

Related