SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By Crane
I am using the EM-406 in an RC application. I need to allow the MSP430 to set the baud rate, and disable some messages, while in the airplane. I have read the manuals and various user inputs. But when I transmit a message the EM-406 ignores me (I hate to be ignored by a machine).

To disable GSA I am sending the message:


I monitor the output of the EM-406 and the GSA message is still there. I have tried variations on the end of message phrase: DA - ,ODOA - <0D0A> - <13,10> - - none of it works.

By gm

The command needs to be terminated with a carriage return (hex 0x0D) and a linefeed (0x0A). If you are using C, then usually the way it is done is by using the escape sequences \r\n. So your command would then be


Of course, it all depends upon how you are sending the string to the GPS module.

Hope this helps,

By Crane

Thanks for the response.

I'm using assembly language in the micro, but to test the EM-406 I am driving it with PC Com 2 ( thru a level converter) using a Visual Basic program. I get all of the messages from the EM-406 and display them on the screen. Since CR LF are not printable they do not appear.

The manual indicates that the CR LF Characters do not require a comma. The transmission string is as it is shown above. I've tried all combinations of the CR LF.

I'm using 4800 baud which is the default for GPS transmitter. Does the rcvr default to 4800 or 9600? Obviously I am doing something wrong, but I sure can't find it.

Thanks for the discussion - everything helps.

By Crane
I think the SIRF lll initializes in binary mode, so I need to switch it to NMEA.

I'll have to study the manual for a bit before I try that.

By Crane
Used Sirf Demo to switch it to NMEA protocol, 38400 baud and GGA only at 1 Hz rate. That works, but I still can't change the rates with my software.

Must be doing something wrong.
By gpsklaus
The checksum you were using seems to be correct,
but nevertheless i would try to disable CS check by using following command:

I did send this sequence via terminal program and it worked OK.

By Crane
Thanks - I'll try that.

What is the impact of the disable CS tag? Does it disable the checksum for all subsequent messages or just for the one in which it is embedded?

By gpsklaus
> What is the impact of the disable CS tag? Does it disable the checksum for all subsequent messages or just for the one in which it is embedded?

I forgot to answer this. The checksum disable/enable command only is for the message in which it is embedded.

By the way:
Command $PSRF100 is for changing the baudrate. In this case disabling the checksum request is NOT possible.

When using NMEA and standard serial parameters 8,1,0,
the checksums for different data rates need to be as follows:
4800 bps = 0F
9600 bps = 0C
19200 bps = 39
38400 bps = 3C

By Crane
Thanks for the detailed response.

I have the reference manuals. Unfortunately I do not understand all that I read in them, but I'm learning.

It looks like the binary values of Lon and Lat are in meters X * 8 from the 0 reference point. That would be easier to use than minutes and seconds. Is the reference point Greenwich 0 longitude? Does negative indicate Easting from the reference?
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]