**AB02S GPS module, GALILEO Settings and Best configuration**

AB02S GPS module, GALILEO Settings and Best configuration

I have just received at last, the CubeCell GPS board, I have to say very pleased with it and have some comments mainly regarding the configuration and support of GALILEO GNSS. This GALILEO GNSS is supposed to have a better general user precision and HDOP that can go down below 1.0m using a single GNS network.

I have now carried out some tests on the Air530 and It seems that the stated GALILEO setting specified in the Luat manual, do not work and that the only settings that work are for GPS, BEIDOU, and GLONASS.

My comments on recommendations are:

First: I have altered the Example “LoRaWan_OnBoardGPS_Air530” as when I tried it was consuming 3.3ma as configured as the display was always on , so changed some settings namely added “display.stop()” added to sketch and set AT support to “OFF” and RGB “DEACTIVE” in the board manager. This got the idle current down to 35uA (Very good).

Secondly: The above sketch did not show the Satellites seen by the Air530 on the display, so I have added that to the display in the updated Example Sketch.

Thirdly : I wanted a manual in English that I could use to configure the Air530 and that I could understand. To this end I have spent some time to translate this manual and amend where necessary and have placed it in my GITHUB, there are many commands that people may find interesting.

Fourthly : and most importantly is that I had seen that the Air530 will support European GALILEO satellites.

With the push to only the use US or European Infrastructure, I wanted to enable GPS and GALILEO GNSS.

The settings for the configuration of the Satellite constellations received is in the NEMA command 115 that can be used to configure the Air530. It is noted that this command when tested did not behave as the manufactures specification and failed to Generate any “GA” or “GN” messages when used as either a single setting or combined with “GPS” to detect GALILEO satellite network.

From testing, this function does not work and does not comply with the setting process in the manual.

It is also worth noting that the Air530 can only support 2 GNSS system and not 4 as expected . So, based on testing for Europe, then the settings that give the most satellites visible and hence accuracy, is with GPS and GLONASS set for the search mode.

Using the command $PGKC115,1,1,0,0*2A.

Within Sketches this setting can be evoked by placing in the void setup() { Air530.setmode(MODE_GPS_GLONASS);

The above setting is the best from my location in the UK and measured as an average over a 4-hour window. Though this will vary by time of day and satellite locations.

Satellite network used No of Satellites seen by GSV messages No of Satellites seen by GGA messages
GPS- GP 12 9
GPS- GP + BEIDOU - BD GP 11, BD 7 10

To do the above test , I have had to amend the GPS_Air530.cpp and GPS_Air530.h as they had not been configured for GALILEO or to test for multiple satellites , these are on the my GITHUB page.

In addition, I have added to the example sketch “LoRaWan_OnBoardGPS_Air530” the line “#define GPS.setmode(MODE_GPS_GLONASS); “ to get the most satellites in view and higest accuracy of precision.

The code file use

The GPS_Air530.h and GPS_Air530.cpp files on GITHUB can be down loaded and copied to typically the location below to replace the current version. These only add the following commands to allow testing or use of the GALILEO or Multi GNSS setting (note these do not work in the AIR530) these do not alter any other functionality so can be used as replacements. They add to the set of the GPS.set modes as follows:

The modes supported:

GPS: MODE_GPS - this works



GPS+GALILEO: MODE_GPS_GALILEO - this does not work


The default mode is GPS+BEIDOU.

The file locations are:


The Example files may be stored and used from any location the user wants.

Checksum Calculation

As part of the NEMA configuration commands there is a checksum e.g. *2A. the most convenient way to calculate this is with a NEMA Checksum calculator the one I used was https://nmeachecksum.eqth.net/ this worked well.

I hope this is of use to others as the unit works well and I have several good uses for them.

I have placed these files in my GitHub https://github.com/sivaelid/Heltec_AB02S_Mods


I asked the support for the support of galileo. Unfortunately, a cheaper variant is built in which doesnt suppoprt gallileo.


Hi @Sivaelid,

I would like to test your Lora example - do you have a payload formatter for use in TTN please?


Hi for the main LoRa example for GPS. I have not altered the format of the message sent so you can use the one that is in the Heltec example folder For that sketch or look under the sketch on Heltec Github Site. Regards simon

1 Like

Theese are my conclusions regarding the GPS module and they pretty much align with yours:

  • String cmd = “$PGKC115,1,0,0,0*2B\r\n”; //GPS -> OK, returns only GPS (GPXXX)
  • String cmd = “$PGKC115,1,1,0,0*2A\r\n”; //GPS + GLONASS -> OK (GPXXX, GLXXX, GNXXX)
  • String cmd = “$PGKC115,1,0,1,0*2A\r\n”; //GPS + BEIDOU -> OK (GPXXX, BDXXX, GNXXX)
  • String cmd = “$PGKC115,1,1,1,0*2B\r\n”; //GPS + BEIDOU + GLONASS -> Command error
  • String cmd = “$PGKC115,1,0,0,1*2A\r\n”; //GPS + GALILEO -> OK, returns only GPS (GPXXX)
  • String cmd = “$PGKC115,1,1,0,1*2B\r\n”; //GPS + GALILEO + GLONASS -> OK, no GALILEO (GPXXX, GLXXX, GNXXX)
  • String cmd = “$PGKC115,1,0,1,1*2B\r\n”; //GPS + GALILEO + BEIDOU -> OK, returns only GPS (GPXXX)
  • String cmd = “$PGKC115,1,1,1,1*2A\r\n”; //All -> Command error

Great work @Sivaelid!!
I am also testing CubeCell GPS board, and your suggestions for improving GPS and low power. Everything works perfect, TTN connection, GPS connection (not GA)…

I have a problem that after a couples of hours or just some minutes the board stops sending messages and trying to get GPS connection.

Leaving the serial connected to the computer for logging and I realized that the board is receiving a message and after that it stops. This is the log:

SATS: 5, HDOP: 1.36, LAT: 45.65, LON: 13.79, AGE: 139, ALT: 28.70, COURSE: 20.83, SPEED: 2.41
unconfirmed uplink sending …
receive data: rssi = -48, snr = 13, datarate = 5

This is my configuration:

Have you ever had this problem?


Hi I have not seen this problem but do note that I use an external antenna and get a lot mor says. Are you losing satellites and then stops reporting. Try a better antenna even a wire .95 of a 1/4 wave length may help. Simon

No, it’s not a GPS issue but I solved the problem updating Cubecell version to 1.1 and switching off LORAWAN_ADR.
Now it’s been working for 2 days without any issue!!