Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

GPS information

  1. Dec 28, 2013 #1

    could you please tell me where i can find information related to gps receiver as i need to use it on my robot. if possible please give the websites where i can get all available gps receiver.
    i dont know what are the kind of gps available so i m not able to decide....

    thanks in advanced
  2. jcsd
  3. Dec 28, 2013 #2
  4. Dec 28, 2013 #3


    User Avatar
    Science Advisor

    You might like to consider that GPS is really only accurate to about 5 meters and also it often doesn't work very well indoors, near tall buildings, under trees or sometimes even under rain clouds.

    So, it may not be suitable for controlling a robot where precise positioning is required.
  5. Dec 28, 2013 #4


    User Avatar
    Science Advisor
    Gold Member
    2017 Award


    even outside, unless you are using differential GPS, that uses a separate base receiver, which is then relaying its data via radio to the robot, you are still only going to get that 5 - 10 metre accuracy.

    I am a GPS technician for a company that does GPS machine control for the surveying, mining and road construction industries. using differential GPS and 1 or 2 base stations we can achieve 5mm accuracy

    There are neat little units called GPS re-radiators. I use one of these to re-radiate, into my workshop, the GPS signals received on an outside antenna. With this, I can test the accuracy of the GPS receivers indoors without a problem

    I must also point out that these high accuracy GPs receivers cost many $1000's. Not something the hobbyist can afford

  6. Dec 29, 2013 #5
    but i have seen some projects based on the gps like The Garmin 15L or pmb 688. Is it like i wouldnt get accuracy upto 10m? OK fine is there any other way to handle the problem...Any how we cannot change our project now and if required we will compromise with position accuracy.so please guide us a bit.
    Is there any other gps whose cost is lesser than 30$ ?

  7. Dec 29, 2013 #6


    User Avatar
    Science Advisor

    There are modules like this one on EBay.
    Type in 380617563592 in the search bar on EBay.
    It has a built-in antenna and is reputed to be pretty sensitive.
    Costs about $25US
    Includes some sample code for Arduino.

    Skylab GPS Module MT3329 SKM53 with Embedded GPS Antenna Arduino Compatible
    Description :
    Skylab UART Serial GPS Module For Arduino uController

    SKM53 Series with embedded GPS antenna.It is based on MediaTek3329 single-chip architecture.SKM53 can be applied in a portable device and receiver like PND, GPS mouse, car holder, personal locator, speed camera detector and vehicle locator.

    - Ultra high sensitivity: -165dBm
    - 22 tracking/66 acquisition-channel receiver
    - NMEA protocols (default speed: 9600bps)
    - Internal back-up battery and 1PPS output
    - One serial port and USB port (option)
    - Embedded patch antenna 18.2 x 18.2 x 4.0 mm
    - Operating temperature range: -40 to 85
    - RoHS compliant (Lead-free)
    - Tiny form factor 30mm x20mm x 11.4mm

    Receiver TypeL1 frequency band, C/A code
    22 Tracking / 66 Acquisition-Channel

    Timing (PPS)
    3m 3D RMS without SA
    0.1m/s without SA
    60ns RMS
    Acquisition TimeCold Start
    Warm Start
    Hot Start
    Power ConsumptionTracking
    Sleep/Standby<30mA @ 3V Vcc
    Navigation Data Update Rate1Hz
    Operational LimitsAltitude
    AccelerationMax 18,000m
    Max 515m/s
    Less than 4g
    Antenna SpecificationsOutlineDimension
    Center Frequency
    Axial Ratio
    Polarization18.2 x 18.2 x 4.0 mm
    1575 ± 3 MHz
    10 MHz min
    50 Ω
    3 dB max
    Mechanical requirementsDimension
    Weight30mm x20mm x 11.4mm
    Power consumptionVCC
    Current5V ±5%
    EnvironmentOperating temperature
    Storage temperature
    Humidity40 ~ +85 (w/o backup battery)
    0 ~ +125
    Arduino Code:
    RXD Arduino Pin 3
    TXD Arduino Pin 2
    RST Leave Open (Connect to a N/O momentary switch pulled low to reset?)
    NC Leave Open
    GND Ground
    VCC +5
    Make sure you download TinyGPS.h

    #include <TinyGPS.h>
    #include <SoftwareSerial.h>

    unsigned long fix_age;

    SoftwareSerial GPS(2,3);
    TinyGPS gps;
    void gpsdump(TinyGPS &gps);
    bool feedgps();
    void getGPS();
    long lat, lon;
    float LAT, LON;

    void setup(){

    void loop(){
    long lat, lon;
    unsigned long fix_age, time, date, speed, course;
    unsigned long chars;
    unsigned short sentences, failed_checksum;

    // retrieves +/- lat/long in 100000ths of a degree
    gps.get_position(&lat, &lon, &fix_age);

    Serial.print("Latitude : ");
    Serial.print(" :: Longitude : ");

    void getGPS(){
    bool newdata = false;
    unsigned long start = millis();
    // Every 1 seconds we print an update
    while (millis() - start < 1000)
    if (feedgps ()){
    newdata = true;
    if (newdata)

    bool feedgps(){
    while (GPS.available())
    return true;
    return 0;

    void gpsdump(TinyGPS &gps)
    //byte month, day, hour, minute, second, hundredths;
    gps.get_position(&lat, &lon);
    LAT = lat;
    LON = lon;
    feedgps(); // If we don't feed the gps during this long routine, we may drop characters and get checksum errors
    (Written by Warren)
  8. Dec 30, 2013 #7
    need for program

    as far i know gps automaticaly gives the position (according to some protocol eg. NMEA) when connected to MCU.Is there any kind of programming required to get the coordinates in MCU or in GPS module.
    Why do we need the code what have you given?
    Last edited: Dec 30, 2013
  9. Dec 30, 2013 #8


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    you need the code for the MPU for it to read the NMEA data from the GPS receiver so that it can then be made use of in what ever way you wish

  10. Jan 1, 2014 #9
    do i need gps sheild or data logger? i m new in this technology, so can you please tell me requirement of it?
    there is in total 1,500 bits send by each satellite, so do need to store all this information?if possible the tell the required memory for it.if possible please give some links from where i can learn interfacing from scratch.

    Last edited: Jan 1, 2014
  11. Jan 1, 2014 #10
    Adafruit has lots of modules and software that does the work for you. They are cheap & designed for beginners. Lady Ada also has robotics and other good stuff.

    I believe that's what farmers use to make sure they plow fields with great accuracy.

  12. Jan 1, 2014 #11


    User Avatar
    Science Advisor

    You should have a look at the module mentioned in post 6 above.
    Go to EBay and type in
    3806 1756 3592
    This will bring up data and a picture of the device.

    It does the clever stuff of working out your position from the satellite data and it gives out this information in ASCII format via a serial port.
    So this is all you have to deal with.

    Post 6 also gave a sample Arduino program for dealing with this output.

    Another way of doing this would be to drive wheels with stepper motors and count the steps in each direction to work out your position.
    You can get compass modules which will work OK indoors.
  13. Jan 1, 2014 #12


    User Avatar
    Science Advisor

    Here is a link showing the data available from a GPS receiver module.

    https://www.sparkfun.com/datasheets/GPS/NMEA Reference Manual-Rev2.1-Dec07.pdf

    If you look at page 10 you will see where the latitude and longitude are available. They come out as a text stream, but have to be isolated and converted into actual numbers before you can do any calculations with them.

    This will need some fairly careful programming.

    Other modules may vary, but the outputs should be similar.
  14. Jan 3, 2014 #13
    what is that feedgps() do?
  15. Jan 5, 2014 #14
    selecting MCU


    is MCU atmega328 (Arduino UNO) will be sufficient for use in robot navigation using gps?

  16. Jan 5, 2014 #15


    User Avatar
    Science Advisor

    I don't know.
    The GPS will give you a stream of data at 9600 baud and you would have to pick off the latitude and longitude from this.
    Then you have to convert these to real numbers and calculate your robot's position.

    If you are already a very experienced programmer, you may be able to do this on an Arduino.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook