Functions of GPS module

Hi everyone, I have a project that as of now uses an RTC and a compass to perform various tasks.

I'm going to add a GPS to the thing, and since there is very little space, I was wondering if I could replace the aforementioned modules.

I've found on ebay some cheap "Ublox NEO-6M" clone (here) but I cant understand if it can replace the RTC and compass.

I've read the datasheets, and there are some problems.

For the clock, it should get the timestamps from the satellites (like all gps), but on page 1.2 of the datasheet, it says my 6M doesn't have "timing" and "raw data".

For the compass, most tutorials show it having one, but there is no mention on the datasheet.

Can anyone make sense of the info, or does anyone have one to confirm if it can get the time from satellites / find North?

Thanks.

You can't use a GPS as a compass unless you are moving.

AWOL:
You can't use a GPS as a compass unless you are moving.

Makes sense I guess.
Most tutorials on the module use a Windows interface that also shows a compass, even in modules like mine without one. I was wondering if it was integrated in the ic since some boards have an additional ic for the compass.

I suppose it shows data from movement?

I suppose it shows data from movement?

Yes, and it shows heading from the GPS "jitter". Even though you may be stationary, the GPS position will wander around. This can generate false speed and heading.

If you really need platform orientation, you will have to use a compass. You will also have to calibrate it for the way you have it mounted, because the compass readings will be affected by nearby metal. Mounting it inside a motorcycle frame will not work... it's basically a "cage" that distorts the Earth's magnetic field.

You can get rid of the RTC if you don't need the time when GPS is not available. Most GPS devices have an internal RTC so they can get a fix more quickly. This allows them to report time and date before they have a complete position fix. However, if the GPS device does not have reception from any satellites, it will not report its RTC time and date.

Be sure to check out my GPS library, NeoGPS. It's smaller, faster, more accurate and more reliable than all other libraries. There are lots of hints and tips in the Installation and Troubleshooting pages. If you'd like to try it, NeoGPS is available from the Arduino IDE Library Manager, under the menu Sketch -> Include Library -> Manage Libraries.

Thanks, I was asking about the compass because some breakout boards have it integrated. Probably it's not my case, so I will use my compass.

My question are for the specific chipset/board that I mentioned.

I know that most GPS can give the time. I was asking if THIS one model can. My question originated from "unclear" datasheet, and because I haven't seen anyone mention it.

I was wondering if someone who has a board with this chipset could confirm this functionality.

The neo-6m can generate all the standard NMEA sentences, including $GPRMC which has time/date (once it sees one satellite) and lat/long once it is locked on. It can also do the U-Blox binary protocol.
The "timing" does not refer to "time". Some of the U-Blox chips can output a GPS-locked frequency reference in place of the Pulse-Per Second signal. E.g. instead of 1Hz you can program it to output 100kHz. IIRC the neo-6T can generate up to 10Mhz.

Pete

Thanks el_supremo, that's exactly what I needed

To be clear:

The ublox NEO GPS devices do not have an integrated compass.

Most NEO-6 modules (shield or stand-alone PCB), do not have a separate compass chip, including the one you linked. The product description would have to call out two separate chips. For example, it would have to mention a "HMC5883 compass" IC and a "NEO-6M GPS" IC. Photos of the module would show both ICs, along with a few other discrete components, a regulator and perhaps a backup battery and EEPROM.

All ublox NEO GPS devices report date/time when one satellite is received.

As el_supremo said, the timing signal is a digital output (HIGH or LOW) from the GPS device. Not all modules provide access to that signal; your module does provide it on the PPS pin. That raw signal is separate from the serial data (characters) sent over the GPS TX pin. The characters are parsed by a library in the Arduino into various information fields (e.g., date, time, location). I did not get the impression that you are interested in the timing signal.

The NeoGPS library provides various pieces in a fix structure that allow your sketch to know when the reported date/time is valid. You can also determine the number of satellites in use, the quality of the reception, and the quality of the time or calculated position values. These fields (and many others) are parsed from the serial data sent by the GPS device to the Arduino, and they have nothing to do with the timing signal.

If you need to know the UTC date/time to sub-second resolution, NeoGPS allows you to use the PPS pin in conjunction with the serial data (reported date/time). You could know the UTC date/time to within a few microseconds. All other libraries simply provide the date/time received in the character data, which delayed from the actual date/time by 10ms to 300ms.

Cheers,
/dev

Wow that's very useful to know, thanks!