GPS with Arduino UNO.

Etcquote]But, do you think that this's why I'm getting these weird characters ?!![/quote]

Weird characters is always a protocol issue: protocol being anything from

  • voltage levels [liBAUD][/li]
  • parity
  • inversion
  • Etc. [/list]

Arduino cannot handle RS232 signaling levels (voltage). You will get garbage and possibly damage the microcontroller port after a period of over-voltage. RS232 also inverts the signal, so even a resistor voltage divider still requires an inverter.

Continuing to carry on a dialog is not productive. If you have the RS232 version of the GPS then buy the MAX chip or research a alternatives ... If you have the TTL version, any GPS library such ass the Adafruit if Sparkfun libraries should work when configured to 4800 BAUD,

I do not know which GPS you have, you said TTL first and later RS232.

Ray

The TTL version has the shield extended over the connector

If the above us true, your picture would suggest TTL. But

The standard version uses TTL voltage levels on its serial output (idle is 2.7V, the start bit and logic 0 are zero volts). The alternative uses RS-232 voltage levels and polarity (idle is -6.8V, the start bit and logic 0 are +6.8V).

An oscilloscope, DVM, logic probe is really the only definitive test.

I tell newbies this all the time, so might ss well repeat: "Buying Chinese products for your Arduino projects may be a problem because if you run into issues, not many forum members will have hand-on experience."

I buy Chinese products and I eventually get them integrated into projects, but it can be frustrating - AND I have 50 years of electronics experience building from scratch, military training, a EE degree, and a year in research. If I have issues at my level of experience then you can understand why a newbies money is best spent on supported products. There will be a time to venture out into the uncharted waters.

Ray

If you have a TTL-USB adapter, you can check your GPS that way.... Use a communications program on the PC, set it at 4800BAUD and the correct parity, stop, etc.

mrburnette:

The TTL version has the shield extended over the connector

If the above us true, your picture would suggest TTL. But

The standard version uses TTL voltage levels on its serial output (idle is 2.7V, the start bit and logic 0 are zero volts). The alternative uses RS-232 voltage levels and polarity (idle is -6.8V, the start bit and logic 0 are +6.8V).

An oscilloscope, DVM, logic probe is really the only definitive test.

I tell newbies this all the time, so might ss well repeat: "Buying Chinese products for your Arduino projects may be a problem because if you run into issues, not many forum members will have hand-on experience."

I buy Chinese products and I eventually get them integrated into projects, but it can be frustrating - AND I have 50 years of electronics experience building from scratch, military training, a EE degree, and a year in research. If I have issues at my level of experience then you can understand why a newbies money is best spent on supported products. There will be a time to venture out into the uncharted waters.

Ray

If you have a TTL-USB adapter, you can check your GPS that way.... Use a communications program on the PC, set it at 4800BAUD and the correct parity, stop, etc.

Wow, well, that's a hell of an experience !!. I'm still new to this stuff and trying to figure out how it works, so, you might find some stupid questions on the way, you know, lol !. I don't have the adapter, but I might buy one, but, can you suggest me an easier GPS that works with Arduino UNO to deal with ?!!. Cuz I'm really losing hope in this one..

For actual GPS shields that plug right onto a UNO (or clone). Adafruit Ultimate GPS Logger Shield - Includes GPS Module - for about $50 SparkFun GPS Shield Retail Kit for about $60 I know the two vendors support their products.

I'm sure there are others that I can't think of off the top of my head.

Sembazuru: For actual GPS shields that plug right onto a UNO (or clone). Adafruit Ultimate GPS Logger Shield - Includes GPS Module - for about $50 SparkFun GPS Shield Retail Kit for about $60 I know the two vendors support their products.

I'm sure there are others that I can't think of off the top of my head.

Cool, I'll keep trying with mine for now, but, if I don't get a result in the next few weeks, I'll change it !.

but I might buy one, but, can you suggest me an easier GPS that works with Arduino UNO to deal with ?!!. Cuz I'm really losing hope in this one..

There are vendors of Arduino merchandise all around the world, the two U.S. ones that stand out are Adafruit and Sparkfun. These two provide example software with their products and host their own forums. I have never had an issue with a Sparkfun product, but Adafruit has a no-hassle refund/replacement policy and I have used that once.

BUT, the fact that you get anything on the console with the GPS you have suggests it is working... just not speaking the language (protocol). This could be that the 4800 BAUD is really 9600, that the TTL is really RS232, or that the signal is inverted. I do not think it is broken or unusable. If we assume the picture identification was correct, then it is TTL. Working from that point, maybe you should try initializing it at 9600. Also, do try another GPS sketch or library... they are all over the Internet and this forum. Try it with 4800 and if not, then 9600.

Ray

mrburnette:

but I might buy one, but, can you suggest me an easier GPS that works with Arduino UNO to deal with ?!!. Cuz I'm really losing hope in this one..

There are vendors of Arduino merchandise all around the world, the two U.S. ones that stand out are Adafruit and Sparkfun. These two provide example software with their products and host their own forums. I have never had an issue with a Sparkfun product, but Adafruit has a no-hassle refund/replacement policy and I have used that once.

BUT, the fact that you get anything on the console with the GPS you have suggests it is working... just not speaking the language (protocol). This could be that the 4800 BAUD is really 9600, that the TTL is really RS232, or that the signal is inverted. I do not think it is broken or unusable. If we assume the picture identification was correct, then it is TTL. Working from that point, maybe you should try initializing it at 9600. Also, do try another GPS sketch or library... they are all over the Internet and this forum. Try it with 4800 and if not, then 9600.

Ray

Ok, I'll try changing the baudrate, but before that, should I connect the RX as described in the datasheet (RX: This is the main receive channel for receiving software commands to the engine board from SiRfDemo software or from user-written software. (NOTE: When not in use this pin must be kept “HIGH” for operation. From Vcc connect a 470 Ohm resistor in series with a 3.2v Zener diode to Ground. Then, connect the Rx input to Zener’s cathode to pull the input “HIGH”.)), or, should I leave it, or connect it to the arduino board directly without connecting it to anything ?!!.

in the datasheet (RX: This is the main receive channel for receiving software commands to the engine board from SiRfDemo software or from user-written software. (NOTE: When not in use this pin must be kept “HIGH” for operation. From Vcc connect a 470 Ohm resistor in series with a 3.2v Zener diode to Ground. Then, connect the Rx input to Zener’s cathode to pull the input “HIGH”.)), or, should I leave it, or connect it to the arduino board directly without connecting it to anything ?!!.

You are going to drive yourself crazy over reading the datasheet. The unit should come up in "default" mode without you telling it anything... I've done at least 5 GPS clocks here using units from Sparkfun, Parallax, and U-blox in the last few months and none... repeat none required me to send them any thing... I just used the defaults. So, as I said previously, pull the Rx line HIGH using a 10K resistor from the Rx line to Vcc (the + voltage.)

Ray

mrburnette:

in the datasheet (RX: This is the main receive channel for receiving software commands to the engine board from SiRfDemo software or from user-written software. (NOTE: When not in use this pin must be kept “HIGH” for operation. From Vcc connect a 470 Ohm resistor in series with a 3.2v Zener diode to Ground. Then, connect the Rx input to Zener’s cathode to pull the input “HIGH”.)), or, should I leave it, or connect it to the arduino board directly without connecting it to anything ?!!.

You are going to drive yourself crazy over reading the datasheet. The unit should come up in "default" mode without you telling it anything... I've done at least 5 GPS clocks here using units from Sparkfun, Parallax, and U-blox in the last few months and none... repeat none required me to send them any thing... I just used the defaults. So, as I said previously, pull the Rx line HIGH using a 10K resistor from the Rx line to Vcc (the + voltage.)

Ray

?Can you suggest me which library to download from this ?!!: http://www.adafruit.com/blog/2011/09/28/adafruit-currently-has-25-arduino-libraries/.

You should also consider the possibility that your GPS is not outputting text data at all, it might be outputting a binary data format.

?Can you suggest me which library to download from this ?!!: http://www.adafruit.com/blog/2011/09/28/adafruit-currently-has-25-arduino-libraries/.

Google these three words: adafruit GPS library It is the 1st or 2nd in the search results: adafruit/Adafruit-GPS-Library · GitHub

michinyon's theory may also play into this issue... with all of playing, you may have put the GPS into a binary mode or "other" unknown mode, so I cannot say that it is actually in the as-unpackaged state. Try the Adafruit library at 4800 and at 9600 before we go too far down in the rabbit hole.