L76X GPS not working on arduino nano

so, i've got my arduino nano and the L76X GPS module from waveshare

manual to the L76X

this is the example code i used:

#include <SoftwareSerial.h>
#include "DEV_Config.h"
#include "L76X.h"
GNRMC GPS1;


void setup()
{
 Serial.begin(9600);
  Serial.print("noxo");
DEV_Set_Baudrate(115200);
L76X_Send_Command(SET_NMEA_OUTPUT);
L76X_Send_Command(SET_NMEA_BAUDRATE_9600);
DEV_Delay_ms(500);

L76X_Send_Command(9600);
DEV_Set_Baudrate(9600);
DEV_Delay_ms(500);
L76X_Send_Command(SET_NMEA_OUTPUT);
}

void loop() // run over and over
{  
  GPS1 = L76X_Gat_GNRMC();
  Serial.print("\r\n");
  Serial.print("Time:");
  Serial.print(GPS1.Time_H);
  Serial.print(":");
  Serial.print(GPS1.Time_M); 
  Serial.print(":");
  Serial.print(GPS1.Time_S);
  Serial.print("\r\n");
}

it compiles, uploads and returns "noxo" in the serial monitor
what i don't get - regardless how long i wait - is anything else

it get's power and blinks at the beginning, so VCC/GND is correct...

TX/RX to TX/RX as in the main manual
TX/RX i've tried: connecting it to D3 and D4 as mentioned in one document

but nothing... does anyone has some idea?






That example is using a GPS library I have not seen used before, you might need to wait a while if you want support for it.

Maybe just try this simple program,it will copy the GPS serial output to the SerialMonitor;

#define RXpin 2   //this is the pin that the Arduino will use to receive data from the GPS
#define TXpin 3   //this is the pin that the Arduino can use to send data (commands) to the GPS - not used

#include <SoftwareSerial.h>

SoftwareSerial GPS(RXpin, TXpin);

void loop()
{
  while (GPS.available())
  {
    Serial.write(GPS.read());
  }
}


void setup()
{
  GPS.begin(9600);
  Serial.begin(115200);
  Serial.println("GPS_Echo_SoftwareSerial Starting");
}

Show us the output in Serial Monitor. Note SerialMonitor baud needs to be set to 115200.

thanks

unfortunately i only get:
"GPS_Echo_SoftwareSerial Starting"

something is fishy here...

weird, setting speed to 115200 after the starting message i get stuff like this:

GPS_Echo_SoftwareSerial Starting
SA,A,1,,,,,,,,,,,,,,,0F
$GPGSV,1,1,01,24,,,34
79
$BDGSV,1,1,0068
$GNGLL,,,,,080803.090,V,N
6E
�+ �b��bbb��R��j
$BDGSV,1,1,0068
$GNGLL,,,,,080810.090,V,N
6C~��

Looks like the default GPS baud rate is set to 115200 baud.

SoftwareSerial will not work reliably at 115200, so you need to use an Arduino that has a spare hardware serial port.

i hope my question is not too stupid:

so TX/RX pins are no good here? - what do you mean by spare hardware pin?
how would i identify such a hardware serial port?

Not really they are used by the Serial.print() functions and program uploads.

The Nano does not have a 'spare' hardware serial port, but a Mega and Due have 3 spare hardware serial ports. Check their pin out maps.

The GPS module does look like it has a backup battery to save the configuration, so its possible you might just need to configure it to run at 9600baud once, save the configuration and it will stick at 9600baud.

Although it would be better to be able to either use it direct at its apparent default of 115200baud or program it every time down to 9600baud. But that would require an Arduino with a hardware serial port.

i'll get some mega or due...

An alternative, though not an 'Arduino' as such, is an ESP32 board, can be low cost and has a second hardware serial port. Lots of tutorials out there too.

hm, oke... what would i use there like the "arduino IDE"?
i never investigated too much there...

disregard, i got confused with something else...