LS20031 GPS unable to get a fix

Hello, I am a newbie working on building a prototype that includes a LS20031 GPS prototype running on an Arduino Uno. I have been through all the related questions on the same problem but I can’t seem to find a solution.

I followed the tutorial on Sparkfun below (https://www.sparkfun.com/tutorials/176) and got it hooked up without connecting it’s RX pin as I don’t yet have a Logic Converter/Voltage Divider.

Problem: I am getting NMEA messages but unable to get a fix (the red LED blinks once when I power up the module and then never again). Here is a sample of the output I am getting:

$GPRMC,004938.800,V,,,,,0.00,0.00,060180,,,N*4C
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPGGA,004939.000,,,,,0,0,,,M,,M,,*4F
$GPGLL,,,,,004939.000,V,N*7D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,03,05,,,27,26,,,45,15,,,38*70

The code running on the arduino is:

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


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

From my understanding the module is in contact with 3 satellites but the data is void according to the GPRMC line. I have tried leaving it outside for over two hours under a cloudless clear sky, I have checked the parity, I have connected both grounds and moved the module as far away from the Arduino but still no luck whether running off my computers USB or on a 9V battery. Please help.

The TinyGPS library just gives me asterisks.

Thnx.

UPDATE: I have left it running all night and now have the correct time and date and up to 10 satellites depending on where I position it and still no lock.

I am reading data from the GPS on the Arduino’s RX pin.

If you can read the messages, there is no problem with the serial connection. So, the problem is in the satellite reception, which must be partially working for you to get the time and date. Is the tan-colored ceramic antenna pointed at the sky? Otherwise the module may be defective.

jremington:
If you can read the messages, there is no problem with the serial connection. So, the problem is in the satellite reception, which must be partially working for you to get the time and date. Is the tan-colored ceramic antenna pointed at the sky? Otherwise the module may be defective.

Thank you for the reply. Yes the antenna is pointed at the sky

I have now connected my Arduino to a DC charger and I am now getting random fixes for every 2 out of 3 times I start up the module with up to 13 satellites but the Latitude and Longitude are way off (It says I am 42km’s South South West of where I am). And the fix never lasts, it comes on for a few minutes and goes off again.

Have you verified that you are powering the GPS module with 3.3V? Measure the voltage with a multimeter to be certain. The module may survive higher voltages but its performance is unlikely to be good.

I can confirm at least that 5.2v will smoke the LS20031.

Got 2 of them on the shelf. Both of them send sentences…although invalid ones. Neither of them will get a fix.

After reading the datasheet, got another one, and it’s still working at ~3.3v…

EDIT: But, if you’re getting a half-ass fix for awhile, then nothing, might be worth trying them at ~3.3v anyways before tossing them. Might be the case that something inside the module is overheating and/or shutting down under the higher than spec voltage input.

Thanks for your replies. Yes I am powering it from an Arduino’s 3.3V output.

Correction: the coordinates I was getting yesterday were actually precise, I was just reading them wrong.

I switched it off last night, switch it on again this morning and no more fix. Have tried restarting it several times. The change I made when I started getting a fix last night was I connected to an external 9V charger and disconnected the modules connection to the Arduino’s hardware serial RX port (read somewhere that this could interfere with it). Have made no changes this morning and it’s not working again.

You say you are running this outside. Exactly where and how? If you live in a northern city and place on the north side of a building then you may simply not be receiving enough satellites to compute a fix. None of the satellites are circumpolar. This leaves a gap of coverage due north for northern areas and a gap due south for southern areas. You can use the Trimble Planning software to determine what satellites you should be able to see.

I have never used the NEMA protocol preferring the binary messages, but I think one NEMA message provides satellite (SV) data like altitude, elevation, and signal strength. Decoding this message might shed some light on your situation.