From Waveshare Wiki
Jump to: navigation, search

GNSS Module, u-blox MAX-M8Q onboard




Primary Attribute
Category: Modules, GPS/GSM
{{{userDefinedInfo}}}: {{{userdefinedvalue}}}
Brand: Waveshare
International: Website
Chinese: 官网
Onboard Interfaces
Related Products

Test it in Windows PC

1. Download and install u-center software and then open it
2. Set the jumpers on A area, assemble GNSS antenna,and set the receiver of antenna on open area outside. Connect the micro USB interface to PC
3. Note that you should set the side without sticker upward, Open Device Manager and check the COM port, connect MAX-M8Q, and use auto-baudrate
4. Power the MAX-M8Q module and set it to 3D mode, select File ->Database Export ->Google Map Html to export file
5. Download Test file, upzip and open it by Chrome browser, import the file which is saved from u-center above to check position information.
6. Please refer to the User guide about how to use the u-center.
MAX-M8Q GNSS HAT 002.jpg MAX-M8Q GNSS HAT 003.jpg MAX-M8Q GNSS HAT 005.jpg MAX-M8Q GNSS HAT 004.jpg

Using with RaspberryPi

Hardware Connection

MAX-M8Q GNSS HAT 007.jpg

PIN Raspberry Pi(BCM) Raspberry Pi(WiringPi) Descruption
5V - - 5V Power input
GND - - Ground
RXD P14 P15 Receiver pin of UART
TXD P15 P16 Transmit pin of UART
SDA P2 P8 SDA pin of I2C
SCL P3 P9 SCL pin of I2C
PPS P18 P1 PPS pin of module
INT P27 P2 Wakeup pin, low active

Enable Serial Port

Open the Raspberry Pi Terminal and configure by commands

sudo raspi-config
#Choose Interfacing Options -> Serial -> No -> Yes
#You should disable shell login and enable the hardware serial
sudo reboot

L76X GPS Module rpi serial.png

Install libraries and configure

  • Install wiringPi
sudo apt-get install wiringpi
sudo dpkg -i wiringpi-latest.deb
gpio -v
  • Install Python libraries
sudo apt-get update
sudo apt-get install gpsd gpsd-clients gpsd-tools
sudo pip3 install gps3
  • Configure gpsd
#Open gpsd file
sudo nano /etc/default/gpsd
#Change the below codes of file and save
  • Download demo codes
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/

Python Example

Enter the python directory (demo codes), and run the example.

cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
sudo python3

MAX-M8Q GNSS HAT 006.jpg

Using STM32 Board

Hardware Connection

MAX-M8Q GNSS HAT 008.jpg

GNSS Module XNUCLEO-F103RB Description
5V - 5V Power input
GND GND Ground
RXD P9(TX) Receive pin of UART
TXD P10(RX) Transmit pin of UART

Run the example

Download the demo codes. Open the STM32 project by Keil software, compile and download it to the XNUCLEO-F103RB board, connect UART2 pins to PC and check the information by COM assistance software.
MAX-M8Q GNSS HAT 009.jpg

Expcected reslt

1. In cloundy day
MAX-M8Q GNSS HAT 013.jpg
MAX-M8Q GNSS HAT 014.jpg
MAX-M8Q GNSS HAT 015.jpg
2. In rain day
MAX-M8Q GNSS HAT 010.jpg
MAX-M8Q GNSS HAT 011.jpg
MAX-M8Q GNSS HAT 012.jpg

Using with Jetson Nano

  • Install Python library
sudo apt-get update
sudo apt-get install python-serial
sudo apt-get install gpsd gpsd-clients python-gps
sudo pip3 install gps3
  • Modify gpsd parameters

Open the gpsd file on the terminal

sudo nano /etc/default/gpsd

Modify the following parameters of the gpsd file, then save and exit the file.


+Download the demo

mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
  • Check the port for data
sudo chmod 777 /dev/ttyTHS1
sudo minicom -D /dev/ttyTHS1 -b 9600
sudo cat /dev/ttyTHS1
sudo gpsd /dev/ttyTHS1 -F /var/run/gpsd.sock
sudo cgps -s
sudo killall gpsd
sudo reboot


Enter the python directory and run the demo, and you can view the information directly on Google Maps

cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
sudo python3

MAX-M8Q GNSS HAT 016.jpg


Demo codes


If you require technical support, please go to the Support page and open a tickets.