Anyone using the SR-92 GPS?

Here is the data sheet:

http://www.seeedstudio.com/depot/images/product/sr-92.pdf

I wired mine to Serial2 on a Mega2560 (Tx to Rx, Rx to Tx) and feed it 5V. I looped back Rx to Tx on Serial2 to test the serial input an my code; it echoes characters when I do that. But I get nothing from the GPS. I tried different baud rates, just in case (info at Cute Digi indicates some units show up at 9600 by default). I was initially using 3.3v as that is how it is documented at CuteDigi, and was getting floating noise on the serial line. Running at 5v, it is not floating.

Some code I have been using to try to test is below. I call the GPS_Init() from my main setup() and the GPS_Stream from my main loop when trying to use this:

void GPS_Init() { Serial2.begin(4800); }

bool bReported = false; void GPS_Stream() { int inByte; if( Serial.available() > 0) { inByte = Serial.read(); //Serial.print(inByte, BYTE); Serial2.print(inByte, BYTE); } // see if there's incoming serial data: while (Serial2.available() > 0) { if( !bReported) { bReported = true; Serial.println("Received from GPS!"); } // read the oldest byte in the serial buffer: inByte = Serial2.read(); Serial.print(inByte, BYTE); } }

I was initially using 3.3v as that is how it is documented at CuteDigi, and was getting floating noise on the serial line.

The data sheet that you posted the link to says that it takes 3.3V. Powering it with 5V is a good way to fry it.

What does floating noise mean? Is that anything like random bytes of serial data?

What did you do with the PWR_CTRL pin (pin 5)?

 if( Serial.available() > 0)
 {
   inByte = Serial.read();
   //Serial.print(inByte, BYTE);
   Serial2.print(inByte, BYTE);
 }

What are you expecting the GPS to do with the serial data that you are sending it?

From the data sheet at the link I posted:

2.2 Pin Assignment 5-pin Interface Pin Name Function I/O 1 GND Ground Input 2 VCC Power supply of 3.3 ~ 5.5 VDC Input 3 TX Port A serial data output (GPS out); N-8-1, NMEA v3.00 output Output 4 RX Port A serial data input (GPS in); N-8-1, accepts commands from external applications, e.g. SiRFDemo. Input 5 PWR_CTRL Hardware controlled power saving pin. If this function is used, it is usually connected to a GPIO pin of a micro-processor. “Low”: for normal run “High” or floating: turn off VCC for power saving Tie it to low if this pin is not used. Input

The data sheet that you posted the link to says that it takes 3.3V

I read that differently. It says 3.3 - 5.5v on pin 2.

What are you expecting the GPS to do with the serial data that you are sending it?

You can request data other than default. But mostly I did it after I got nothing just to see if I needed to do something to get it started.

What did you do with the PWR_CTRL pin (pin 5)?

GND - is that not LOW? I am more a software guy who knows enough wiring to be dangerous (though often successfully so ;) ).

What does floating noise mean? Is that anything like random bytes of serial data?

Somewhat; mostly NULLS and almost always a character whose code is a power of 2. You will get the same thing if you put a wire in RX and touch it (DAMHIKT ::) ).

I tried switching it back to 3.3v and tried tying the CTL_POWER to a digital pin and pulled it low. Same, same…