Zum Inhalt springen

WSAL18294 – NEO-M8T GNSS TIMING HAT/en

Aus JW Tech Wiki

Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.

Summary

Technical guide for the Waveshare NEO-M8T GNSS Timing HAT: GNSS and RTK principles, Raspberry Pi hardware connections, enabling the UART interface, library installation, Python examples, and building an NTP server with PPS.

Related products at JW Tech

Technical overview

  • GNSS covers multiple satellite navigation systems (GPS, Beidou/BDS, Galileo, GLONASS, QZSS, IRNSS). The NEO-M8T receives these constellations concurrently, increasing the number of available satellites and improving positioning.
  • RTK (Real Time Kinematic) is a differential carrier-phase measurement between a base station and a mobile receiver, enabling centimeter-level real-time positioning.
  • Raspberry Pi hardware connections: 5V/GND for power; RXD to BCM pin 14 / WiringPi 15; TXD to BCM pin 15 / WiringPi 16; SDA to pin 2 / 8; SCL to pin 3 / 9; PPS to pin 18 / 1; INT (wakeup, low-active) to pin 27 / 2.
  • To enable the serial interface on the Raspberry Pi, use raspi-config: Interfacing Options -> Serial -> No -> Yes, then reboot.
  • Install gpsd, gpsd-clients and the Python package gps3 for data processing; configure /etc/default/gpsd with USBAUTO=false, DEVICES=/dev/ttyS0 and GPSD_OPTIONS=/dev/ttyUSB0.
  • Demo codes can be downloaded and extracted; run main.py from ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter to convert coordinates and display them on Google Maps.
  • An NTP server can be built using the RPi-GPS-PPS-StratumOne project: git clone, run install-gps-pps.sh, modify /boot/config.txt (gpiopin=18), and verify with chronyc sourcestats.
  • The PPS input must be set to GPIO 18 so that the Raspberry Pi adopts the NEO-M8T time and can provide it to other devices on the WLAN network.

Commands and examples – verify before use: 

sudo raspi-config
#Choose Interfacing Options -> Serial -> No -> Yes
sudo reboot
sudo apt-get update
sudo apt-get install gpsd gpsd-clients
sudo pip3 install gps3
USBAUTO="false"
DEVICES="/dev/ttyS0"
GPSD_OPTIONS="/dev/ttyUSB0
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
wget https://files.waveshare.com/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
unzip MAX-XXX_GNSS_HAT_Code.zip
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
sudo python3 main.py
sudo apt-get install git
cd ~/Documents
sudo git clone https://github.com/beta-tester/RPi-GPS-PPS-StratumOne.git
cd RPi-GPS-PPS-StratumOne
sudo chmod 777 install-gps-pps.sh

Notes and version constraints

  • The source text contains placeholders like MAX-XXX throughout; whether all commands apply exactly to the NEO-M8T requires manual verification.
  • Exact COM port assignments and baud rates for Windows operation are version-specific and need confirmation.
  • NTP server setup depends on the specific StratumOne fork; the IP address 192.168.6.93 is an example and must be adapted to the local network.
  • Missing context regarding firmware states, drivers, or specific Raspberry Pi models should be clarified before deployment.

Source and revision record