JeremyBlum.com

v3.1

Tutorial 15 for Arduino: GPS Tracking

| 186 Comments

This tutorial was featured on the Cooking-Hacks website on 07/18/2012

This was easily the most time I’ve spent producing an Arduino Tutorial. I’ve been sporadically walking around NYC with this GPS for weeks as I’ve tweaked the code and gotten it just right. If it wasn’t obvious from the title, this tutorial will teach you how to use an arduino paired with a GPS Module and an SD Card Module to log your latitude and longitude over the course of a day. As a bonus, I’ll also show you how to easily overlay this data onto a map using services like Google Earth and Google Fusion Tables. I added a short “history lesson” to this episode to explain how GPS came to be; it’s the first time I’ve done that, so please let me know if you like the extra knowledge. Grab some popcorn and your Arduino, because this tutorial is pretty long – GPS is complicated! The schematics, programs, parts list, sample data, and important links are available for download below.

I used the tinyGPS library to decode the NMEA GPS Data. Cooking-Hacks generously supplied both the GPS shield and SD Card shield that I used in this tutorial.

You can download the files associated with this episode here: Arduino Tutorial 15 Files

Source materials for all my arduino tutorials can be found in my github repository.
GNU GPL License Distributed under the GNU General Public (Open-Source) License.
Please Attribute and Share-Alike.

This video can also be viewed at element14.com.

186 Comments

  1. hola saludos puedo hacerlo con skylab SKM53?? por fa ayudame con material gracias

  2. Greetings,

    I followed this tutorial. I want to put the datastring to be sent in a different uno board using rf433 modules
    dataString = RF_date_time + “,” + RF_lat + “,” + RF_lon;

    The algo I am following is…
    separate the lat, lon & date_time value (which is already done in that code)

    wrap it to a string
    {
    char Sensor1CharMsg[50];// The string that we are going to send trought RF
    ……………
    ………………….
    sprintf(Sensor1CharMsg, “%02d/%02d/%02d %02d:%02d:%02d, %f, %f”, RF_date_time, RF_lat, RF_lon);
    }

    print it on serial monitor to see if its working
    {
    Serial.println(Sensor1CharMsg)
    }

    send the string via RF module
    vw_send((uint8_t *)Sensor1CharMsg, strlen(Sensor1CharMsg));

    When I open the serial monitor, the code stops in the first loop showing only the ************ values of total strings (as defined by the code, full large string with all data).

    Any help in this regard shall be highly appreciated.
    Thanks a ton…

  3. Hey Jeremy, awesome job man,loved your tutorials,can i use SIM908c instead of tiny GPS in my project? tiny GPS is not available here and i want to add a GSM module too with my project.if yes can u tell me where will i find the library functions and what are they exactly??waiting for a reply and thanks again for your tutorials!!!

    • What do you mean? tinyGPS is a download link. Is it not working? There are certainly other libraries that will allow you to accomplish this, but I haven’t tried most of them.

  4. hua, Outstanding video’s. I want to thank you for your time, and excellent video’s. I hope everyone understands the quality of your efforts, coming from an Engineer for 35+ years, working NASA, Missile guidance, RF analysis, GPS development, and WAAS programs. Keep up the great work for the “open source” cause.

  5. Hi Jeremy Thanks for you great tutorial series, I’ve found them very thorough and easy to follow.

    In the GPS tutorial I have very similar results to yours in creating the KML file and launching it in Google Earth. I’m trying to generate a fly-through but cannot get to a low enough altitude to make it work well … ideally I like to view all my point in Street Level view like a virtual reality tour.

    I can highlight individual points and view them in Street Level view on Google Earth and they look great, but when I activate a tour I return back to an altitude very much like the one in your example.

    I assume that since the GPS data we are storing only includes longitude and latitude, and not altitude, this could have something to do with the way the KML file runs in Google Earth. Should I store altitude data as well from my GPS to overcome this problem… or am I doing something else wrong in trying to generate a tour from our data?

    Thanks again! Martin

    • Martin -

      I’m honestly not completely sure how to accomplish the tour mode in Google Earth. I think you set a waypoint path – it isn’t able to interpolate between discreet points, from what I can tell.

  6. Jeremy

    Many thanks for all your effort in making the tutorials.

    I’m trying to get your GPS sketch working

    This is the sketch beginning
    //Jeremy Blum’s Arduino Tutorial Series – Episode 15 – GPS Tracking
    //Sample Code 1 – Outputting GPS Data to the Serial Debug Terminal
    //http://www.jeremyblum.com
    //TinyGPS Library and Helper Functions by Mikal Hart http://arduiniana.org/libraries/tinygps/

    #include

    /* This sample code demonstrates the normal use of a TinyGPS object.
    It uses an Arduino Mega with a GPS attached to Serial3 at 4800 buad.
    */

    TinyGPS gps;

    static void gpsdump(TinyGPS &gps);
    static bool feedgps();
    static void print_float(float val, float invalid, int len, int prec);
    static void print_int(unsigned long val, unsigned long invalid, int len);
    static void print_d

    I get a compilation error

    “TinyGPS does not name a type”

    How do I correct this please?

    I’m using TinyGPS v13 and Arduino IDE 1.05

    Many thanks

    • Hey Bazz,

      I had the same problem, you need to put the TinyGps library into your Arduino/Libraries directory.

      Hopefully this isn’t too late, or you’ve solved the issue already.

      Craig

  7. Hey Jeremy!

    Thx for this amazing Tutorial!

    I reconstructed your GPS Tutorial, with the same componets.
    I have one problem, if i load the sketch the first time it works fine. But if i disconnect the Serial Port for a short time and then plug in again then appears the Error message “Card Failure”. Some Times i have to load the sketch 2-3 Times to work it again.

    Do you have any idea why this happens?
    Many Thx!

  8. hi. i looked at your GPS tutorial. i tried to do the same, but when i try to compile the codes, its says ” too few arguments to function ‘void print_float(float,float,int,int,int’) ” on this function : static void print_float(float val, float invalid, int len, int prec, int SD_val); . what can i do in this case?, thans for helping.

  9. Hi,Jeremy
    I have this product http://www.elecrow.com/wiki/index.php?title=GPS_shield
    & I need to do what u did in this video.
    the cs pin for this product is 10
    every time I work with your code It gives me “card failure”
    I format the card many times as what u did in the video
    the problem in the SD part
    U have any suggestions or solutions ?
    Thanks

  10. i don’t have the stdlib.h library . from where can i download it

  11. Hi men, good tutorial, i have a 3g-gps arduino shield,

    i want use a web server to traking the shield in orange trace gps, but i can’t.

    you have a idea like a doing? if yes, I thanks.

  12. ok so i have been messing around with this for a while now. I am using the Arduino yun, a GPS shield from SparkFun, and a GPS with the same NMEA code and baud rate as you. I figured that i couldnt go wrong if i just use the TinyGPS example to get it to read me my GPS location, but no matter what i do all i get is this-
    **** **** ********* ********** **** ********** ******** **** ****** ****** ***** *** ******* ****** *** 0 0 0
    -The GPS i have has power going to is and i have tried switching the RX and TX pins to 3, 2, along with the hardware solution you used in the video, but still nothing.

    I have tried other youtube videos and example codes, but in the end it just seems that the GPS and my serial just wont communicate. As much as i wish it was a wiring problem, im pretty certain it isnt, because the shield is pretty straight forward to install. any suggestions?

    PS all of your videos have been very informative! it really shortened the learning curve for me

    • Kyle, Is it possible that your GPS unit has RS232 output rather than serial? I discovered this problem when I connected my serial GPS (Copernicus, from SparkFun), which works fine when connected to the Arduino, to another device whose input requires RS232. Turns out that the polarity of the two formats is opposite: when RS232 goes up, serial goes down, and vice versa. SparkFun sells a little board (cheap) that converts from one to the other. It is only a few dollars, so might be worth a try. Eric

      • I looked back through the GPS manual and it indeed does output RS232. I find it silly that the GPS shield would have a specific input for my GPS but not be able to do the conversion already. Thankyou for your advice Eric! i will try that and see if i can move forward.

        • Kyle, Good! The unit you want is SparkFun PRT-08780, called an RS232 Shifter SMD, no DB9. That last part means it does not have a DB9 socket to plug into (common on RS232 devices). They also sell one that has that socket on the board. The price was $9.95. Good luck! Eric

  13. I’m trying to use this code with ublox Lea 6h GPS module. I have changed the baud rate of Lea to 4800 matching this code. Also, I set Lea 6h to nmea output and input. I have the tx(Lea) to Rx(arduino). But I still don’t see coordinates on the serial monitor. Just stars. Do you have any recommendations for this? I am working on a project so I greatly appreciate any advice. Thank you.

  14. I resolved my problem with the gps coordinates on the serial monitor, but when I upload the “gps logger” I dont see any coordinates. This is my output:

    Testing TinyGPS library v. 13

    Sizeof(gpsobject) = 115

    Sats HDOP Latitude Longitude Fix Date Time Date Alt Course Speed Card Distance Course Card Chars Sentences Checksum
    (deg) (deg) Age Age (m) — from GPS —- —- to London —- RX RX Fail
    ————————————————————————————————————————————–
    6

    Do you have any recommendations as to what may be causing this problem?

  15. Hey Jeremy, love the video’s! I have a prolbem though. i downloaded your example files and put SoftwareSerial back in (replacing Serial3 with ss) because i am using the Uno, an SD shield, and EM 406 GPS. I tested it and it just repeatedly printed the header with only the latitude stars showing up. My final goal is to have it output time, lat, lon, and alt. but for some reason i cant get your example file to work on the Uno. is there anything else that i could be missing?

  16. Hey Jeremy, I downloaded and tried using your example code after modifying it to work on an UNO. in other words i switched the CS pin to 8 and put SoftwareSerial.h back in set to pins 2,3 and replacing Serial3 with nss. I would think that would be all you really have to do, but for some reason it just gets stuck in the setup() as a loop. any reason this would happen?

  17. Hi Jeremy, first of all thanks a ton for putting your efforts in explaining this.
    But I am facing a problem while working on a project. I am using Arduino Mega 2560 and GPS A6B module.I tried your sample code but I see only symbols in serial monitor output. How can I correct this?
    Do I need to include any other library ?

  18. Hello people,
    I’m in a but of a problem with a project in college, I had my own code wrote but this seems to be better. My only problem is I want to send sd_lon and sd_lat in a link to a user.. But when it sends it there’s two spaces before sd_lon and two spaces before sd_lon, I need to remove the spacing to make the link work!

    Can anyone help me in a way in getting rid of the spacing?

    Thanks

  19. Hi, Jeremy. In a previous video tutorials are you talking about wireless control via XBee. But unfortunately, these modules are very expensive and many can not afford to work with them. As an alternative, I would ask you to use one of the lessons in the future a simpler and cheaper module “433/315Mhz RF transmitter and receiver” it costs about $ 3, but found me how to work with them too complex and not suitable for beginners. Are you in your lessons quite affordable trays information that contributes to a more convenient assimilate information. I would also like to see the lessons to work with Wi Fi and GSM/GPRS modules.
    Best wishes from Russia.

  20. Hi Pavel,
    Whilst i do agree that Jeremy’s tutorials are the best, you could look at http://www.instructables.com/id/RF-315433-MHz-Transmitter-receiver-Module-and-Ardu/
    This instructable helped me to get a wireless connection up and running.
    Regards
    John

  21. Thank you for the link. But the trouble is the other) The fact that I am from Russia and my English is not at a level that would fully understand, and what goes into this kind of blogs. So to say difficulties with translation of what that technical terms, etc. But there is a “way out”. Russia has the Informational site on which lay lessons Jeremy translated. With a very good translation. Here I decided to go to the fountainhead of information for help))

  22. Jeremy, or anyone that can assist,

    I’m using the sparkfun GS407 gps receiver with an arduino uno board. I’m getting checksum errors, apparently, so all I see are the asterisks. The GS407 defaults to 9600bps, and that is what I’m using, and if I do a serial.read(), I can see the NMEA data. I have the GS407 connected to digital pins 4 and 5 because I’m using this in conjuction with the sparkfun weather shield. The weather shield is setup for a gps unit on pins 4 and 5 with a soft serial. there’s an option to use the UART, but I’m new to this and not sure how to do that (If I set the switch for hard serial, which pins do I connect the GPS to). I’ve seen reference on here that there may be buffer overuns with the ss(), and it can be increased. Where do you increase the buffer at?

    • I modified the program to just display the GPS data, and there is an issue, no idea what is causing it though. I did modify softserial to increase the buffer to 256.

      Here’s the program I used:
      #include
      #include
      /*
      This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.
      It requires the use of SoftwareSerial, and assumes that you have a
      4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
      */
      static const int RXPin = 5, TXPin = 4;
      static const uint32_t GPSBaud = 9600;

      // The TinyGPS++ object
      TinyGPSPlus gps;

      // The serial connection to the GPS device
      SoftwareSerial ss(RXPin, TXPin);

      void setup()
      {
      Serial.begin(9600);
      ss.begin(GPSBaud);

      Serial.println(F(“DeviceExample.ino”));
      Serial.println(F(“A simple demonstration of TinyGPS++ with an attached GPS module”));
      Serial.print(F(“Testing TinyGPS++ library v. “)); Serial.println(TinyGPSPlus::libraryVersion());
      Serial.println(F(“by Mikal Hart”));
      Serial.println();
      }

      void loop()
      {
      // This sketch displays information every time a new sentence is correctly encoded.
      char input = ss.read();

      Serial.write(input);
      }

      Here’s some of the output:
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GPRMC,180407.00,V,,,,,,,160414,,,N*71
      $GPVTG,,,,,,,,,N*30
      $GPGGA,180407.00,,,,,0,05,19.82,,,,,,0000*6B
      $GPGSA,A,1,02,12,25,14,29,,,,,,,,23.42,19.82,12.48*32
      $GPGSV,3,1,10,02,36,076,34,04,12,036,,12,49,082,35,14,29,239,30*7E
      $GPGSV,3,2,10,24,12,147,,25,82,354,19,29,55,210,32,31,30,309,*7B
      $GPGSV,3,3,10,33,29,209,,39,31,157,35*75
      $GPGLL,,,,,180407.00,V,N*40
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GPRMC,180408.00,V,,,,,,,160414,,,N*7E
      $GPVTG,,,,,,,,,N*30
      $GPGGA,180408.00,,,,,0,05,19.92,,,,,,0000*65
      $GPGSA,A,1,02,12,25,14,29,,,,,,,,23.54,19.92,12.53*3E
      $GPGSV,3,1,10,02,36,076,34,04,12,036,,12,49,082,35,14,29,239,30*7E
      $GPGSV,3,2,10,24,12,147,,25,82,354,19,29,55,210,32,31,30,309,*7B
      $GPGSV,3,3,10,33,29,209,,39,31,157,35*75
      $GPGLL,,,,,180408.00,V,N*4F
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GPRMC,180409.00,V,,,,,,,160414,,,N*7F
      $GPVTG,,,,,,,,,N*30
      $GPGGA,180409.00,,,,,0,05,20.02,,,,,,0000*67
      $GPGSA,A,1,02,12,25,14,29,,,,,,,,23.65,20.02,12.58*34
      $GPGSV,3,1,10,02,36,076,34,04,12,036,,12,49,082,35,14,29,239,30*7E
      $GPGSV,3,2,10,24,12,147,,25,82,354,18,29,55,210,31,31,30,309,*79
      $GPGSV,3,3,10,33,29,209,,39,31,157,35*75
      $GPGLL,,,,,180409.00,V,N*4E
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GPRMC,180410.00,V,,,,,,,160414,,,N*77
      $GPVTG,,,,,,,,,N*30
      $GPGGA,180410.00,,,,,0,05,20.12,,,,,,0000*6E
      $GPGSA,A,1,02,12,25,14,29,,,,,,,,23.76,20.12,12.63*3F
      $GPGSV,3,1,10,02,36,076,34,04,12,036,,12,49,082,35,14,29,239,30*7E
      $GPGSV,3,2,10,24,12,147,,25,82,354,19,29,55,210,31,31,30,309,*78
      $GPGSV,3,3,10,33,29,209,,39,31,157,35*75
      $GPGLL,,,,,180410.00,V,N*46
      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GPRMC,180411.00,V,,,,,,,160414,,,N*76
      $GPVTG,,,,,,,,,N*30
      $GPGGA,180411.00,,,,,0,05,20.23,,,,,,0000*6D
      $GPGSA,A,1,02,12,25,14,29,,,,,,,,23.88,20.23,12.69*36

      Before every $GPRMC, there’s garbage.

  23. Is it possible to create such GPS tracking system but using SIM card that is sending location information to some server (or to my phone) through GPRS only with arduino and what modules have to use in this case.

Leave a Reply

Required fields are marked *.