GPS Receiver module

This Grove - GPS module uses a SIM28 and serial communication configuration. It features 22 tracking / 66 acquisition channel GPS receiver. The sensitivity of tracking and acquisition both reach up to -160dBm.

Interface

Supply voltage

Digital

3.3 V

This module will need an antenna to be connected before use. (This should come with the board from most suppliers.)

Current suppliers

Company

Price

$23.50

£27.59

Example code

  1. Add the file "micropyGPS.py" to the "lib" folder in your current project.

  2. Copy the code below into a new "main.py" file in the same project.

  3. Connect GPS module to board and check pin assignment matches. (Line 13)

  4. Upload to board via USB.

Code to receive & interpret current GPS information

#GPS reader
import pycom
import time

from machine import Pin
from machine import UART

from micropyGPS import MicropyGPS
my_gps = MicropyGPS()

# Setup the connection to your GPS here
# Baudrate is 9600bps, with the standard 8 bits, 1 stop bit, no parity
uart = UART(1, baudrate=9600, pins=('P10','P11')) #Tx, Rx

# Basic UART --> terminal printer, use to test your GPS module
while True:
    my_sentence = (str(uart.readline()))[1:]
    print(my_sentence)
    print(type(my_sentence))

    for x in my_sentence:
        my_gps.update(x)

    time.sleep(1)
    print("Latitude: ", my_gps.latitude)
    print("Longitude: ", my_gps.longitude)
    print("Course: ", my_gps.course)
    print("Altitude: ", my_gps.altitude)
    print("Geoid height: ", my_gps.geoid_height)
    print("Date: ", my_gps.date)
    print("No. of satellites: ", my_gps.satellites_in_use)

Last updated