GPS Matek M8Q-5883 - can not get data

Hello. I am using NeoGPS library in my sketch and it works well with BN-280 module. BUT I bought Matek M8Q-5883 and can not parse data. M8Q connected to 5V,G,TX,RX pins.

I connected with USB-UART and U-center read it normally:

06:55:28 $GNGLL,5547.63747,N,03754.67320,E,065528.00,A,A*71
06:55:29 $GNRMC,065529.00,A,5547.63747,N,03754.67320,E,0.183,,281021,,,A*64
06:55:29 $GNGGA,065529.00,5547.63747,N,03754.67320,E,1,03,5.92,189.9,M,13.0,M,,*4C
06:55:29 $GNGSA,A,2,10,32,17,,,,,,,,,,6.01,5.92,1.00*13
06:55:29 $GNGSA,A,2,,,,,,,,,,,,,6.01,5.92,1.00*15
06:55:29 $GPGSV,3,1,11,01,55,292,,08,21,210,,10,24,083,32,14,04,301,18*7C
06:55:29 $GPGSV,3,2,11,17,17,327,34,21,73,244,,22,45,265,,24,06,021,*7F
06:55:29 $GPGSV,3,3,11,28,,,28,31,09,139,,32,60,086,28*7A
06:55:29 $GLGSV,1,1,00*65
06:55:29 $GNGLL,5547.63747,N,03754.67320,E,065529.00,A,A*7F
06:55:30 $GNRMC,065530.00,A,5547.63747,N,03754.67320,E,0.178,,281021,,,A*6C
06:55:30 $GNGGA,065530.00,5547.63747,N,03754.67320,E,1,03,5.93,190.0,M,13.0,M,,*40
06:55:30 $GNGSA,A,2,10,32,17,,,,,,,,,,6.01,5.93,1.00*12
06:55:30 $GNGSA,A,2,,,,,,,,,,,,,6.01,5.93,1.00*14
06:55:30 $GPGSV,3,1,11,01,55,292,,08,21,210,,10,24,083,33,14,04,301,18*7D
06:55:30 $GPGSV,3,2,11,17,17,327,34,21,73,244,,22,45,265,,24,06,021,*7F
06:55:30 $GPGSV,3,3,11,28,,,28,31,09,139,,32,60,086,29*7B
06:55:30 $GLGSV,1,1,00*65
06:55:30 $GNGLL,5547.63747,N,03754.67320,E,065530.00,A,A*73
06:55:31 $GNRMC,065531.00,A,5547.63747,N,03754.67320,E,0.087,,281021,,,A*68

Data format same as BN-280...

Short part from sketch:

#include <NMEAGPS.h>
#include <GPSport.h>

#define gpsPort Serial // defined in GPSPort.h
#define GPS_PORT_NAME "Serial" // defined in GPSPort.h
#define DEBUG_PORT Serial // defined in GPSPort.h

NMEAGPS  gps; // This parses the GPS characters
gps_fix  fix; // This holds on to the latest values

void loop() {
if (gps.available( Serial ))
  {
    gps_fix fix = gps.read();
  
    NeoGPS::Location_t basic;
    Serial.print( F(", Sat:") );
    if (fix.valid.satellites) {
      Serial.print( fix.satellites );
    }
  }
}

But if I connect back to my Wemos D1 mini - no data. What I am doing wrong?

Not posting all your code is one thing done wrong.

you should try with TinyGPS++

I tried all libraries. TinyGPS++ too (

This part works well with BN-280. It print Sat count. But it does not work with Matek..

Using the latest TinyGPS++ library, try the 'FullExample.ino' and see if it reports any failures.

Something looks odd ........................

No GPS data received: check wiring
**** ***** ********** *********** **** ********** ******** **** ****** ****** ***** ***   ******** ****** ***   0     0         0

But wiring is ok:

Does baud rate in the example match the baud rate of your GPS ?

Swtiched module to BN-280 and everything is ok:

0    100.0  ********** *********** **** 00/00/2000 00:00:00 700  ****** ****** ***** ***   ******** ****** ***   1366  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 712  ****** ****** ***** ***   ******** ****** ***   1528  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 724  ****** ****** ***** ***   ******** ****** ***   1690  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 735  ****** ****** ***** ***   ******** ****** ***   1852  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 748  ****** ****** ***** ***   ******** ****** ***   2014  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 759  ****** ****** ***** ***   ******** ****** ***   2176  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 772  ****** ****** ***** ***   ******** ****** ***   2338  0         0        
0    100.0  ********** *********** **** 00/00/2000 00:00:00 784  ****** ****** ***** ***   ******** ****** ***   2500  0         0  

Yes, default config - 9600. Works well in u-center

Tried swapping RX and TX ?

Tested now, same

Did you edit\alter the printout from the GPS in your first post ?

I do not understand what you mean, but this example works well with bn-280

The checksums for the sentences reporting location, $GNGGA and $GNRMC and $GNGLL do not appear to be correct.

So did you change anything in the printout before posting it ?

Ah, yes, coordinates was modified a little bit (for privacy)

Hm, may be this is my issue? Can't use Hardware Serial on Wemos D1 mini - #8 by arnemauer

I have some success but still need you help.

I wrote simple sketch:

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  while (Serial.available() > 0) {
    Serial.print(Serial.read());
  }
}

And I see a GPS data in my Serial Monitor!! Even if I just launch u-center - I see that GPS data is ok, 3D fix is ok, etc.

BUT all libraries does not work for some reason, I can not understand why.

11:38:07.167 -> $GNGLL,5546.63160,N,03754.67049,E,083807.00,A,A*76
11:38:07.467 -> $GNRMC,083808.00,A,5546.63167,N,03754.67058,E,0.246,,311021,,,A*67
11:38:07.514 -> $GNVTG,,T,,M,0.246,N,0.456,K,A*3A
11:38:07.568 -> $GNGGA,083808.00,5546.63167,N,03754.67058,E,1,10,1.55,168.4,M,13.0,M,,*42
11:38:07.615 -> $GNGSA,A,3,31,19,32,25,12,06,,,,,,,2.34,1.55,1.75*12
11:38:07.715 -> $GNGSA,A,3,68,85,67,78,,,,,,,,,2.34,1.55,1.75*16
11:38:07.715 -> $GPGSV,4,1,13,01,51,194,,03,72,279,,04,33,229,,06,07,323,27*76
11:38:07.815 -> $GPGSV,4,2,13,09,00,237,,12,08,009,16,17,24,280,09,19,24,305,15*78
11:38:07.869 -> $GPGSV,4,3,13,21,31,181,,22,80,150,,25,11,039,28,31,45,093,30*74
11:38:07.969 -> $GPGSV,4,4,13,32,16,062,11*49
11:38:07.969 -> $GLGSV,3,1,10,67,10,075,20,68,59,059,22,69,60,278,,70,02,262,*6F
11:38:08.069 -> $GLGSV,3,2,10,76,04,357,,77,29,039,,78,27,103,10,83,13,193,*6B
11:38:08.116 -> $GLGSV,3,3,10,84,52,25h
===
(pressed reset here)
===
NMEA.INO: started
11:38:08.270 ->   fix object size = 44
11:38:08.270 ->   gps object size = 124
11:38:08.316 -> Looking for GPS device on Serial
11:38:08.370 -> 
11:38:08.370 -> GPS quiet time is assumed to begin after a RMC sentence is received.
11:38:08.417 ->   You should confirm this with NMEAorder.ino
11:38:08.470 -> 
11:38:08.470 -> Status,UTC Date/Time,Lat,Lon,Hdg,Spd,Alt,Sats,Rx ok,Rx err,Rx chars,
(stops print here)