i don t have an USB to TTL converter unfortunately.
In the photo i ve provided, i used a 9V power supply, that s what i had so many connector. And i used a step down convertor to make 9V ~= 5V for arduino VIN. But after one night of testing, i saw that it is not a good ideea because the battery is dead. I had my Nano RX0 connected to GPS TX(blue wire.)
Why some people recommand to used D2 instead of RX0 for nano? And if i use D2, how to code for arduino should look like? Thanks
After i returned the first gps module, and get the second one , i am waiting for them to test the module. They say Monday will give me the result. There may be a problem with satelittes in my country that make gps hard to connect to them? It s so annoying see on youtube how fast they are start the module
Because D0 and D1 are used by the Serial.print() and program upload port, so there is a conflict.
See post #15
As has been said a few times, the GPS should put out NMEA serial sentences regardless as to whether the GPS can see satellites or not. So forget about satellites for now, your problem is you cannot read the data the GPS should be putting out.
GPS satellites are not in a 'country' they are in orbit and constantly moving in and out of view.
So , here we are. Step by step.
NANO 5V - GPS VCC
NANO GND - GPS GND
NANO D2 - GPS TX Pin
the code in Arduino IDE uploaded using Atmega328(old bootloader)
#define RXpin 2 //this is the pin that the Arduino will use to receive data from the GPS
#define TXpin -1 //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 Starting");
}
Finally in Serial Monitor if I deatach antenna.
If attach it back

I will go try it outside
Please, no image shots, copy an paste the test from the Serial monitor.
without antenna
$GNZDA,,,,,,*56
$GNGGA,,,,,,0,00,,,M,,M,,*78
$GPGSA,A,1,,,,,,,,,,,,,,,,1*03
$BDGSA,A,1,,,,,,,,,,,,,,,,4*17
$GPGSV,0,1,00*78
$BDGSV,0,1,00*69
$GNRMC,,V,,,,,,,,,,N*4D
$GNZDA,,,,,,*56
$GNGGA,,,,,,0,00,,,M,,M,,*78
$GPGSA,A,1,,,,,,,,,,,,,,,,1*03
$BDGSA,A,1,,,,,,,,,,,,,,,,4*17
after i connect antenna to gps module
GPS_Echo Starting
����
Looks like the GPS antenna, which looks like an active (powered type) , is taking down the GPS power. I doubt you can fix it.
So you are saying that antenna is damaged?
Great! It's working! Exactly what happened to mine. Mine also stop working when I connect the antenna. It is shorting or something, draining the power. I haven't taken any measurements yet.
Mine worked for a short time, and I was getting valid data from the unit, but then it stopped. The same goes for both antennas. I think the problem may be in the plug, as it's very small and doesn't look too sturdy. These antennas are available separately, just make sure it's got the right plug.
In the meantime, one thing you could try - take the unit outside now, as you may get enough signal without the antenna.
BTW - this: #define RXpin 2 sets the D2 pin as the receive pin for the Arduino.
Could be, try another.
I will try it outside. Thank you so much for explination.
I will speak with the customer. Thank you a lot for your tips.
After i moved the circuit on the window, i got this in serial monitor, and the led started to blink. Thanks for everything guys.
One more question. If i stop the power supply now, or i add more components, every time i should wait for the gps to comeup with satelittes?
And any advice on how to supply it 24/7? i want to put the gps system on a electric bike with a SIM800L module to track it.
$GNZDA,102730.000,15,10,2023,,*49
$GNGGA,102731.000,4422.32899,N,02609.30468,E,1,06,1.64,54.3,M,36.0,M,,*4B
$GPGSA,A,3,04,07,03,16,,,,,,,,,1.90,1.64,0.97,1*1D
$BDGSA,A,3,09,05,,,,,,,,,,,1.90,1.64,0.97,4*02
$GPGSV,2,1,07,4,57,56,30,6,45,270,16,7,40,201,23,3,31,127,22*4A
$GPGSV,2,2,07,16,20,79,30,26,16,50,25,20,7,312,*72
$BDGSV,1,1,04,9,35,51,27,5,29,137,34,6,22,50,,2,15,116,*6D
$GNRMC,102731.000,A,4422.32899,N,02609.30468,E,0.000,149.88,151023,,,A*43
$GNZDA,102731.000,15,10,2023,,*48
$GNGGA,102732.000,4422.32903,N,02609.30469,E,1,06,1.64,54.6,M,36.0,M,,*4E
$GPGSA,A,3,04,07,03,16,,,,,,,,,1.90,1.64,0.97,1*1D
$
The GPS is reporting very weak satellite signals, its on the borderline of not working at all.
probably because is on the window. but i decoded the GPGGA and shows corect location
so I been reading this thread, and using everything i read here and there. I manage to make my GPS module work outside but there's a weird thing that was happening before it will work properly. I use this codes for it:
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
// Choose two Arduino pins to use for software serial
int RXPin = 6;
int TXPin = 7;
int GPSBaud = 9600;
// Create a TinyGPS++ object
TinyGPSPlus gps;
// Create a software serial port called "gpsSerial"
SoftwareSerial gpsSerial(RXPin, TXPin);
void setup()
{
// Start the Arduino hardware serial port at 9600 baud
Serial.begin(9600);
// Start the software serial port at the GPS's default baud
gpsSerial.begin(GPSBaud);
}
void loop()
{
// This sketch displays information every time a new sentence is correctly encoded.
while (gpsSerial.available() > 0)
if (gps.encode(gpsSerial.read()))
displayInfo();
// If 5000 milliseconds pass and there are no characters coming in
// over the software serial port, show a "No GPS detected" error
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println("No GPS detected");
while(true);
}
}
void displayInfo()
{
if (gps.location.isValid())
{
Serial.print("Latitude: ");
Serial.println(gps.location.lat(), 6);
Serial.print("Longitude: ");
Serial.println(gps.location.lng(), 6);
Serial.print("Altitude: ");
Serial.println(gps.altitude.meters());
}
else
{
Serial.println("Location: Not Available");
}
Serial.print("Date: ");
if (gps.date.isValid())
{
Serial.print(gps.date.month());
Serial.print("/");
Serial.print(gps.date.day());
Serial.print("/");
Serial.println(gps.date.year());
}
else
{
Serial.println("Not Available");
}
Serial.print("Time: ");
if (gps.time.isValid())
{
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour());
Serial.print(":");
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(":");
if (gps.time.second() < 10) Serial.print(F("0"));
Serial.print(gps.time.second());
Serial.print(".");
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.println(gps.time.centisecond());
}
else
{
Serial.println("Not Available");
}
Serial.println();
Serial.println();
delay(1000);
}
the weird things is that if I power the arduino nano and gps module with antenna it will show no GPS, but if i power the modules without the antenna it will show the time but will not get any location since the antenna is not attach, so for me to make it work I powering the device without the antenna then attach the antenna after it detected the time to make it work properly. but it would nit be ideal right? any suggestion?
Someone else reported a similar problem recently.
You would epect that a good working GPS would power up correctly when a good working antenna is connected.
Did you get the GPS from a reputable supplier ?
Yes, in the same way i started my GPS too. I don't know why it makes like this...

