How GPS works on meshtastic?

One question, my 2 t-beam once a while find the gps but most of the time they don’t have the current position.
How often the gps position is update?

I use the last firmware .

  1. The GPS antennas that come with the t-beam are not great. You need to make sure they properly face the sky and even then they could use an upgrade. Have a look at this thread.
  2. Depending on the GPS chip (NEO-M6 / NEO-M8N) you can use only GPS sattelites (NEO-6M) or also sattelites from other systems e.g. Galileo, Baidu, GLONASS (NEO-M8N). However this has to be configured. I used a serial passthrough sketch and the official u-center software to configure mine to use GPS, Galileo and GLONASS, however I do not know if Meshtastic overrides that setting. Maybe @geeksville can clarify and / or make a change that does for everyone using a NEO-M8N.

Update: I looked at the code and the GPS is reset to factory defaults. Section 1.5 of the datasheet quotes:

The NEO-M8 GNSS modules are concurrent GNSS receivers which can receive and track multiple
GNSS systems: GPS, Galileo, GLONASS and BeiDou. Owing to the dual-frequency RF front-end
architecture, either GLONASS or BeiDou can be processed concurrently with GPS and Galileo signals providing reception of three GNSS systems. By default the M8 receivers are configured for concurrent GPS and GLONASS, including SBAS and QZSS reception. If power consumption is a key factor, the receiver should be configured for a single GNSS operation using GPS, Galileo, GLONASS or BeiDou and disabling QZSS and SBAS.

So for nodes connected to the power grid it might be an option to enable GPS + Galileo + GLONASS or GPS + Galileo + BeiDou and for mobile usage it might be an option to use only a single GNSS to save power.

1 Like

Hi Noki,
thanks for your explanation and the link
I’m using NEO-M6 and the case 3d printed design by @jangrewe
Probably the mix of the NEO-M6 and a PLA case it’s not the best shot.
I try to keep them more in place where they can see a bigger portion of sky.

Just to be sure: if the GPS antenna see enough sats it should keep the gps position even if I’m not refreshing it pushing any button or sending any message, correct?


Hi @Noki Using 1.1.23 on my tbeams - I have both gps versions but I have never tried to configure the M8N. Thanks for the info.
I have a similar issue to @wakareva. I have a ceramic antenna so on startup my tbeams almost immediately gets a gps fix. However as the device is stationary (I am in lockdown!) the tbeam, after 1-2 mins, displays the message on the screen “no Sats”, no gps lock. It is going to sleep I think - even though I am on usb power. I would like to change this setting so that I can control gps lock time.
I have installed python, pip3 and Meshtastic on my Windows PC via powershell. However I get the error “the term meshtastic is not recognised” whenever I try to modify my tbeam? Any help much appreciated.

Just to be sure: if the GPS antenna see enough sats it should keep the gps position even if I’m not refreshing it pushing any button or sending any message, correct?

@wakareva That’s at least how I understood it. The node should keep the last known position, but I can’t really verify that behaviour. In terms of cases I think that there is currently no perfect design yet. Almost everybody missed to properly align the antennas, some cases have way to much filament on top of the GPS antenna and none of the cases was designed with larger GPS antennas in mind.

@feh123: Some of the sleep behaviour was fixed on the master branch. You can try to compile it on your own or wait for a new version. You can also try to set increase the gpsAttemptTime using the python command line tool or just set a fixed GPS position with it (that’s what I did for my indoor node).

Thanks @Noki for the fast response. Looking at my putty serial log if I press the reset button I see a gps lat, lon within 30 secs. 10 seconds later it says no lock. The every 2 minutes I see the message want gps = 1 then gps = 0 so the device seems to skip getting the lock. I will check out the gps_attempt_time. Thanks.

1 Like

I have the same issue, GPS turned on then off immediately every 2 minutes. Got it fixed in my own branch. Pull request created

1 Like