The blog of a dedicated radio amateur and electronics enthusiast

"Having fun on the air and in the workshop - communicating and creating"
Showing posts with label NMEA. Show all posts
Showing posts with label NMEA. Show all posts

05 July 2020

SpaceLabs MicroTrackers

On 6 October and 24 November 2019 I briefly described a future project using a GNSS receiver module with a microcontroller and a display, to parse GPS NMEA text strings and display my choice of data in an easy-to-read form.
I have now completed 3 versions using different firmware, GNSS receivers, microcontroller development boards, and displays. I call them "SpaceLabs MicroTrackers".
Depending on the version, date, time, latitude, longitude, altitude, nr. satellites acquired, fix quality, and update age are displayed. Features they all have in common are a 25x25mm active ceramic patch antenna, USB interface for programming/power and Ublox Neo-6M compatible GNSS receiver module.
While waiting for enough satellites to be acquired for a position fix, version details, local temperature and battery voltage are displayed. I also designed some graphics using bitmap byte arrays and scrolling animation.

MicroTracker-3 with Arduino board, 128x64px Oled display
MicroTracker-2 with PIC board, 128x32px Oled display
MicroTracker-4 with Arduino board, 84x48px Nokia 5110 display

On MicroTracker-4 I have provided a 1 pulse per second ( 1pps ) signal on an external connector. This is an extremely accurate 1Hz pulse ( 10% duty cycle ) locked to the satellites' atomic clock. When locked-on, a LED on the GNSS receiver module flashes on/off once a second.
Waveform of 1pps signal from MicroTracker-4

A second usb socket on MicroTracker-4 gives access to the GNSS receiver module for changing its settings and displaying complete NMEA sentences on a serial terminal.
 
My recent experience gained with OLED and Nokia 5110 displays has been put to practical use.

24 November 2019

Positioning Satellite Receiver module & NMEA Sentences

In my last post I mentioned a future project using a positioning satellite receiver module, ( GNSS receiver ).  Since then I've been trying out the MakerHawk GPS 51, incorporating the Goouuu Tech GT-U7 module*. It cost just GBP8.99 and includes an external antenna.
MakerHawk GPS 51 receiver with active antenna
For convenience ( least effort ) rather than a good view of the sky, ( which there certainly wasn't ), I positioned it close to my laptop ( in fact on top of the printer ) in the centre of a room far from two small windows, connected it to the laptop via a usb to uart serial converter, and opened a serial terminal program.
(L) Uart (R) MakerHawk GPS 51 in operation
I doubted if there would be enough satellites received in that position; but after just a few seconds "NMEA Sentences" were being streamed every second and a position fix given. I was absolutely amazed  !!
NMEA Sentences ( click on image to zoom in )
These text strings of comma separated values are known as "NMEA Sentences"; NMEA standing for National Marine Electronics Association. There is plenty of information online to explain the complete format in detail. For my project, I am particularly interested in the sentence starting $GPGGA. GP means it is the US GPS system, ( if GL here it would mean the Russian GLONASS system, GB Chinese BEIDOU, and there are others ), and GGA signifies that it is a position, time and fix data sentence. On examining this sentence I can quickly find the time, my latitude (N), and longtitude (E). The sentence also states, ( among other things ), that my altitude was 87.5m and that a total of 10 satellites had been acquired in order to give the position fix; not bad from the middle of the room.
Now I am going to write some software for my microcontroller to parse the $GPGGA sentence and display latitude, longtitude, altitude, and time, in a more user-friendly form on an OLED display.
* Advertised and sold online as being compatible with the UBlox Neo-6M receiver module. If so, then I assume that UBlox software ( eg u-centre ) and data-sheet for the Neo-6M at www.u-blox.com can be used with the Goouuu Tech GT-U7.
GNSS = Global Navigation Satellite System