GPS for nixie clock

128 views
Skip to first unread message

rubli

unread,
Jul 10, 2018, 1:06:37 PM7/10/18
to neonixie-l
Hello

This matter has been discussed before, technology changes fast, and as I look for an arduino board for GPS, I am finding very sophisticated boards, that I have no idea if and how to program they so to have only the NMEA $GPZDA message.

I recall that I bought once a "gps mouse" to replace the haicom GPS receiver that came with my nixichrome clock, and had difficulty in finding how to stop the other protocols , I finally did. every gps  has its own way to program it.and I don't even remember were I bought it, and how I programed it.

Now I want to modify my DS1307 based clock , which I find too inaccuarte, to use a GPS board (or mouse) , but before buying, I need to know how to program it.

for those who doesn't know what the NMEA protocols that a GPS sends,  here is a brief and rudimentary explanation.

every GPS receiver spits out a whole bunch if information, preceeded with a header:
   $GPBOD - Bearing, origin to destination
   $GPBWC - Bearing and distance to waypoint, great circle
   $GPGGA - Global Positioning System Fix Data
   $GPGLL - Geographic position, latitude / longitude
   $GPGSA - GPS DOP and active satellites 
   $GPGSV - GPS Satellites in view
   $GPHDT - Heading, True
   $GPR00 - List of waypoints in currently active route
   $GPRMA - Recommended minimum specific Loran-C data
   $GPRMB - Recommended minimum navigation info
   $GPRMC - Recommended minimum specific GPS/Transit data
   $GPRTE - Routes
   $GPTRF - Transit Fix Data
   $GPSTN - Multiple Data ID
   $GPVBW - Dual Ground / Water Speed
   $GPVTG - Track made good and ground speed
   $GPWPL - Waypoint location
   $GPXTE - Cross-track error, Measured
   $GPZDA - Date & Time

maybe this list is very incomplete now, and new protocols have been developed.

we need only one protocol, the one that sends out the Time and date, we don't want to saturate the PIC or Arduino serial buffer with data we don't need.

so we need to program the GPS receiver to send out only this information, which is the $GPZDA message.

any help on finding a suitable board and the know how to program it , will be appreciated, and might awake interest in including a GPS module instead of a RTC, for future Nixie enthusiasts.

regards

Alexander




SWISSNIXIE - Jonathan F.

unread,
Jul 10, 2018, 5:02:43 PM7/10/18
to neonixie-l
Hi, i use a arduino library called "NeoGps" that is very small and efficient, inside a config file you can select which info you need, if you only select time, then only the time messages get parsed

Search for neogps on github, its very well described

Nick

unread,
Jul 11, 2018, 1:35:44 AM7/11/18
to neoni...@googlegroups.com
Another good Arduino library is TinyGPS++ from http://arduiniana.org/libraries/tinygpsplus/ 

I particularly like this library because it's (IMHO) extremely well written, is fast and is lightweight.

It also is data-driven, so you can specify exactly what you want and it'll give you just that. It does GLONASS etc. and has really useful built-ins like computing the distance between any two points.

My one single gripe, speaking as a bit of a C++ purist, is that it's not const-correct.

I ported this library to native MSP430 and also made it const-correct  (sadly, things like that keep me awake at night).

Anyone want a copy, let me know, else get the latest version from GitHub via the link above.

Nick

 
Reply all
Reply to author
Forward
0 new messages