Increasing GPS device (EM 406a) baudrate

Default baudrate of EM406a GPS device is 4800 baud. Then this baud rate dictates entire communication of serial port on ArduPilot - also those for Serial OUT (telemetry).

Here's simple way how to permanently increase baud rate of EM 406. Once done, the device will remember the baudrate, and you can increase serial speed in ArduPilot code.

1) Temporarily connect your GPS directly to FTDI cable:

Pin connection:
FDTI GPS
black <-> 5 (from right)
red <-> 1
orange <-> 3
yellow <-> 4
Note: I used original half-cut cable + connector left by this cable modification. No soldering, just careful wire plugging into FTDI connector.

2) Connect FTDI cable, and check if GPS works in RealTerm using default baudrate 4800:


3) Switch to Send tab in RealTerm:

and
1) type command $PSRF100,1,19200,8,1,0*38 in marked field
2) check +CR +LF line-ending
3) click "Send ASCII
This will configure your GPS device for 19200 baud rate.
I didn't test with higher baud rates, but if you change it, you'll need to recalculate command checksum (*38 at end), otherwise GPS won't accept the command.

4) Now GPS start to send at 19200 baud, so you'll see some garbage in RealTerm. Go to Port tab, close link (untick Open button), change baudrate to 19200, and Open link again. If you see valid GPS data, then all is OK:


5) In ArduPilot code, search for line Serial.begin(4800);
and change it to Serial.begin(19200);
Done! You have now faster serial communication in your ArduPilot code. GPS device will remember the baud speed as it has internal battery and memory and keeps the setting.
You're now prepared for more data to be sent by telemetry link.

Views: 2828

Comment by Saiful Azuwan on February 16, 2009 at 8:51am
Hi, I have reset my GPS EM406A to factory setting. So simple & easy to change baudrate, switch to NMEA protocol or SIRF protocol too... just give a test, can download from http://www.falcom.de/support/software-tools/sirf/
this tool marvellous
Comment by Saiful Azuwan on February 16, 2009 at 9:06am

Comment by copperclad on February 16, 2009 at 9:30am
hi
my first EM-406 worked for about 30 seconds and then locked up , i called global sat and the tech said " it switched itself to sirf mode , let it sit for a week and you will be able to use it again " , at this point it had sat for 4 days , without power , so i thought i'll try it , and it was still locked tight

i had tried SirfDemo to reset it , and SD did not recognize it was plugged into anything , so now i have to wait another week

but after sitting for a week the capacitor was down and it started back up like nothing ever happened , i have talked to people who say it will reset in 4 days , mine was 6 days , the guy at Global said it was a capacitor

so it is my understanding that any setting you program into it will reset itself in 4 ~ 7 days if you leave the unit unpowered , probably best to use stock settings , HTH
Comment by Roberto on March 19, 2009 at 10:20am
So why dont insert on ardupilot a instruction to change the baudrate on startup?
On startup you can use 4800bps, send setup string to GPS and change Ardupilot bps to new value.
On next boot if GPS remember the fast bitrate the command run at 4800 bps will be ignored (I suppose!!) and all always work fast..

Do you agree?
Comment by Michal B on March 27, 2009 at 2:38pm
Will have to, because my GPS forgot stored settings after some days.
Comment by Jason Larocque on August 15, 2009 at 1:29pm
Is the Baud rate sill at 4800 in the lastess ArduPilot code ?
Comment by Jason Larocque on August 15, 2009 at 1:44pm
On this page: A new rock-solid GPS parser for ArduPilot (or any Arduino)

the baud rate is at 57600. It's correct ?

Is the change made automaticly ?

3D Robotics
Comment by Chris Anderson on August 15, 2009 at 2:00pm
The baud rate depends on the GPS module. It's set automatically to 57600 for the EM406
Comment by Garry Qualls on October 12, 2009 at 8:11pm
Just in case people are having trouble making these types of changes, the way to send these commands with the SiRFDemo software is to go to the "Action" menu and select "Transmit Serial Message..." That brings up this dialog:


Choose the NMEA radio button and type the serial command into the textbox. Don't type in the "$" or the asterisk or the checksum. It will add that stuff before it sends it to the EM-406a. I tested mine at baud rates up to 115,200 and it seemed to work fine. After you send the serial command and change the baud rate, you'll have to disconnect, change the baud rate in SiRFDemo, and reconnect.
Comment by Danish Waseem Butt on December 13, 2009 at 1:09pm
i have installed sirfdemo nd wenever i change my baud rate to 19200 it works very fine for the moment but changes back to itz default 4800. tell me how can i permanentl change it to 19200 or change it to 19200 fora long time coz m tired of changing it again n again

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service