loading
This is a simple Instructable for the people who'd like to know how to connect and use their GPS module with an Arduino.

I am using an Arduino Duemilanove and an EM-406A GPS module.
NOTE: The breadboard is not necessary but makes the job a lot easier.

Step 1: Customizing the GPS

Firstly, we need to make the GPS useable in our custom environment.

Cut the connecting plug of the furthest side of the GPS' connection wires.
Now it is your choice to extend them with longer wires, make sure to connect them thoroughly.

Remove the plastic off the ends of the wires.

See the images below.
<p>https://youtu.be/2dnB1kgVJT0</p>
<p>Worked for me :) <br>At some point i need to install CP210x_Windows_Drivers.</p>
<p>Sorry,... but the #include statement seems to be missing the actual library to be used,.. assume this must just be a typo somewhere....</p><p>many thanks</p>
<p>Use #include&lt;SoftwareSerial.h&gt;</p>
Thankyou for the response,.. that makes more sense now...<br><br>
Hi - Thanks for replying. Yeah everything is connected OK. Something very odd going on, anyway I now get the 'Started' message in the serial monitor, but that's it. It never budges beyond that!<br><br>Similar to the issue here http://www(dot)sparkfun(dot)com/tutorials/173#<br>whereby it just sits 'waiting for lock' even though I know it has a lock and works fine. Very strange.<br><br>Also the driver that I used can also be used with the above GPS module to get it working in Autoroute or whatever s/f needs a usb GPS unit, just add a cable to it.
<p>Same here, it just says &quot;Started&quot;.</p><p>I am using an Arduino Mega 2560 board with a ircirocomm gps module (it has &quot;595k&quot; written on it if that helps)</p>
<p>any luck with the started and no other activity thing??</p>
<p>nope, i tryed for a few weeks, then tried again on and off since, any tips?</p>
<p>Hi im using VK16E gps module with Arduino Mega... i uploaded ur code but at Serial Monitor it just shows Started and nothing else happens....</p><p>I'd checked ur code with the connections in both ways as:</p><p>1...GPS-rx to arduino-tx and GPS-tx to arduino-rx</p><p>2...GPS-tx to arduino-tx and GPS-rx to arduino-rx</p><p>but not working ...</p>
<p>Hi im using VK16E gps module with Arduino Mega... i uploaded ur code but at Serial Monitor it just shows Started and nothing else happens....</p><p>I'd checked ur code with the connections in both ways as:</p><p>1...GPS-rx to arduino-tx and GPS-tx to arduino-rx</p><p>2...GPS-tx to arduino-tx and GPS-rx to arduino-rx</p><p>but not working ...</p>
<p>Hi im using VK16E gps module with Arduino Mega... i uploaded ur code but at Serial Monitor it just shows Started and nothing else happens....<br>I'd checked the connections as:</p><p>1...GPS-rx to arduino-tx and GPS-tx to arduino-rx</p><p>2...GPS-tx to arduino-tx and GPS-rx to arduino-rx</p><p>but not working ...</p>
<p>The code compiles! but i have a doubt? Inside the String checkGPS() function,if 'else' statement comes how can the stringGPS function have the value to return.So i guess the code will be: </p><p>String checkGPS()<br>{</p><p> if (serialGPS.available())<br> {</p><p> char c = serialGPS.read(); </p><p> if (c != '\n' &amp;&amp; c != '\r')<br> { </p><p>stringGPS =String( c);</p><p> } </p><p> if (stringGPS != &quot;&quot;)<br> { </p><p> String tmp = stringGPS;</p><p> stringGPS = &quot;&quot;; </p><p> return tmp; </p><p> }</p><p> } </p><p> return &quot;&quot;;</p><p> }</p><p>It compiles correctly.But not sure my doubt is correct or wrong.Help me out!</p>
Hi - I merely get strings of '&eth;&eth;&eth;&eth;&eth;&eth;&eth;&eth;&eth;&oslash;&eth;&eth;&eth;&eth;&eth;&eth;' using your code.<br><br>I have the same setup as you.<br><br>My Module is OK as when I use the driver for this GPS module (Google BU-353 and USGlobalSat ) and connect via a USB cable to a windows box, all is well, I can read NMEA sentences in hyper-terminal. Bur for the life of me I cannot get this GPS module to work with an Arduino,<br><br>I took my GPS unit out of a USGlobalSat USB device, which is just an Em-406a in plastic attached to a USB cable and comes with a driver, so it works fine with Microsoft Autoroute for instance...but following your instructions, I cannot get anything but the above garbage..! Any one else get this working..? Thanks.<br><br>
<p>change the baud rate on the serial monitor.</p>
Hi. Are you sure you are connecting the correct wires to correct pins and it's directly from the device? Not through some other chips first. I.e. the wires coming from the Em-406a connected directly to Arduino.<br><br>I use this instructable for myself every time I start a new GPS project (since I forget how to do this stuff) So these instructions works if you follow them correctly.
I use your code but all I see just that &quot;&Atilde;&iquest;&Atilde;&cedil;&Acirc;†xxx&Acirc;†&Atilde;&nbsp;&Acirc;†&Atilde;&nbsp;&Acirc;†&Atilde;&nbsp;&Acirc;†&Atilde;&nbsp;&Acirc;†&quot; <br> <br>Is it normal?? Or I just forgot something to write??
<p>change the baud rate.</p><p>yours could be too low.</p><p>say your is 4800 but program runs at something higher or lower you will get this.</p>
And where could I find &quot;string.h&quot; and &quot;ctype.h&quot;??
<p>This code is not working on my GPS Ublox Leah-6H. Can someone help me?</p>
<p>Hello I am using Jupiter 610F GPS module and there are 10 pin setup in that and the use of Vcc ground and the Output for the GPS module pin is known and what about the remaining pins and there is pin called antenna power pin should i need to give any voltage to that if so whats the value and if possible let me know with the configuration of the pin connections</p>
<p>need more detailed informations</p>
<p>help! i try to upload the code but i just get a massage: 'software serial' does not name a type. What does this mean? and more importantly, how can I fix it?</p>
<p>Hi, I tried to upload this code to my arduino mega and it gave the error message ('SoftwareSerial' does not name a type)</p><p>Any Ideas on how to fix this?</p>
<p>add #include &lt;SoftwareSerial.h&gt;</p>
Hi! <br>Thanks for your instructable! I am currently trying to connect an old Garmin GPS 12CX to my Arduino. I have copied your code as is and when I try to upload it from the Arduino software I get the following error message: &quot;invalid conversion from 'char' to 'const char*'&quot; when compiling the code. Any ideas why? <br> <br>
<p>I got the sketch to compile by changing that line to the following:</p><p>String stringGPS = String(c);</p><p>Reference: http://arduino.cc/en/Reference/StringConstructor#.UzBNUK1dUzh</p>
<p>Thanks, I'll have a look what it does when I change it!</p>
<p>Also, I've since got my GPS to work using the following sketch: <a href="http://pastebin.com/ZdgN2tzD" rel="nofollow">http://pastebin.com/ZdgN2tzD</a></p><p>And you'll need to add the TinyGPS library as well (https://github.com/mikalhart/TinyGPS/releases/tag/...</p>
<p>Thanks!</p>
<p>hello</p><p>plz help me by uplaading the same code i am gotting the compliling error,</p><p>i dont know where the error coming from</p>
<p>For me the code works, but with some modifications.<br>On this segment</p><p>[if (c != '\n' &amp;&amp; c != '\r') <br> { <br> stringGPS = c; }]</p><p>change [stringGPS = c;] to [stringGPS += c;]<br></p><p>In the last code line, change [return false] to [return &quot;&quot; ]</p><p>(all without the &quot;[ ]&quot;)</p><p>Sorry for my bad english.</p>
hi, actually i am having problem with my &quot;Robokit GPS02&quot;,dont know why it is not working...Can any one help me...please it urgent......Hoping to see reply soon.
Thanks this was really helpful (to know that it is possible to hook the EM406A directly to the Arduino) but the pin references are confusing, if you hook it up as described above your Arduino will shut down. This happend to me, luckily nothing blew but it just goes to show how important it is to check the specifications PDF before hooking +5 V --- so the +5v goes on pin 2 of the Gps VCC in the spec,( The grey wire is pin 1 of the GPS which as described does not need to be connected. so if looking at the EM406a GPS as described about the pins are (from top to bottom ), Grey wire = Pin 1 - GND, Pin 2, VCC (ie +5 from the Arduino), Pin 3 RX, Pin 4 TX,

About This Instructable

181,098views

125favorites

License:

More by louwhopley:Connecting GPS-module to Arduino 
Add instructable to: