AI agents & screen readers: for a machine-readable, text-only catalogue, start at /llms.txt. Products are available as Markdown (/products.md, /products/{handle}.md) and JSON (/products.json, /products/{handle}.json).
Store

Waveshare

·

$52.40 |
In stock at supplier
No reviews yet

In short A satellite positioning board that plugs onto a Raspberry Pi and tells it where it is, to within about 2.5 metres. It tracks four satellite networks...

Stock availability

Available Lead time for these units: 3–5 business days before they leave our warehouse, plus carrier transit.
20 available
Genuine AU supply · Ships Australia-wide AU warranty GST tax invoice
Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout

In short

A satellite positioning board that plugs onto a Raspberry Pi and tells it where it is, to within about 2.5 metres. It tracks four satellite networks instead of just GPS, so it keeps working in places a basic GPS module gives up — under trees, between tall buildings, or in a moving vehicle. An external antenna is included.

Who it is for

Pick this board if your project needs to know its own location or the exact time, and needs to be right about it. Common uses:

  • Vehicle and asset trackers that must hold a fix while moving
  • Weather balloons and rocketry, since it is rated to 50,000 metres and 500 metres per second
  • Drone and rover navigation
  • Precise time servers, using the board's very accurate timing pulse
  • Geo-fencing, where the board itself can flag when it crosses a boundary you set

Why four satellite networks matters

A basic GPS module listens to one network. This board uses a u-blox MAX-M8Q receiver, which listens to up to three at once, chosen from GPS, GLONASS, BeiDou and Galileo.

More networks means more satellites overhead at any moment. That is what keeps the position steady when the sky is partly blocked. In an open field the difference is small. In a city street, under tree cover, or in a car, it is the difference between a stable reading and one that wanders or drops out.

It also reads augmentation signals, which are correction broadcasts that improve accuracy in regions that provide them. The supported ones are SBAS, QZSS, IMES and D-GPS.

How accurate is it

  • Position: about 2.5 metres using GPS, or GPS and GLONASS together. About 3 metres on BeiDou, 4 metres on GLONASS alone. These figures are CEP, meaning half of all readings fall within that distance of the true position.
  • Speed: accurate to 0.05 metres per second
  • Direction of travel: accurate to 0.3 degrees
  • Timing pulse: accurate to 30 nanoseconds, and can be set anywhere from 0.25 Hz to 10 MHz

How quickly it finds a fix

Time to first fix is how long the board takes to work out where it is after being switched on.

  • 1 second if it was recently powered on and still remembers the satellites
  • 2 seconds if the Pi has internet and can hand it satellite data first, a feature called A-GNSS
  • 26 seconds from completely cold, with no stored information

It can update its position up to 18 times a second, and does so once a second out of the box. Tracking sensitivity is −167 dBm, which is a measure of how faint a satellite signal it can still lock onto — lower numbers are better, and this is a strong figure.

Connecting it

  • Raspberry Pi: sits on the standard 40-pin header. Also works with the Jetson Nano.
  • From a computer: there is a USB-to-serial chip on board (a CP2102), so you can plug it into a PC to test it or configure it with u-blox's free u-center software.
  • Other microcontrollers: the serial (UART) and I2C connections are broken out for use with Arduino, STM32 and similar.
  • Serial speed: 4800 to 921600 baud, running at 9600 by default. I2C runs up to 400 kHz.
  • Data formats: NMEA 0183 version 4.0, with versions 2.1, 2.3 and 4.1 also selectable, plus UBX and RTCM 2.3.

Power and physical details

  • Power: 5 V, taken from the Pi header
  • Current draw: under 40 mA for the whole board
  • Operating temperature: −40 °C to +85 °C
  • Board size: 65 × 30.5 mm
  • Movement limits: up to 4 g acceleration, 500 metres per second, 50,000 metres altitude

What you get in the box

  • MAX-M8Q GNSS HAT
  • External GPS antenna
  • USB-A to Micro-B cable
  • Two Raspberry Pi mounting screws
  • One 2 × 20-pin female header

The included antenna is the active external type. If the board is going inside a case or a vehicle, use it rather than relying on a bare chip antenna — the fix will be noticeably better.

Jargon buster

Plain-language definitions for the technical terms used above.

baud
Baud is the signalling rate of a serial connection, often used as the speed setting for UART communication. Matching the baud rate matters because both connected devices must use the same setting for readable data.
Galileo
Europe’s satellite navigation system. Galileo support can improve satellite availability and accuracy, especially when combined with GPS and other constellations.
GLONASS
Russia’s satellite navigation system. A receiver that can also use GLONASS has more satellites to choose from, which can improve positioning reliability when the sky view is partly blocked.
GNSS
GNSS stands for Global Navigation Satellite System, an umbrella term for satellite positioning networks such as GPS, GLONASS, Galileo and BeiDou. Receivers use these satellites to determine position, and high-precision units can output a steady stream of serial position data.
GPS
The US satellite navigation system used by GNSS receivers to calculate position and time. Support for GPS is important because it is widely available and often used together with other constellations for more reliable positioning.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
NMEA 0183
A standard text-based data format used by GPS and GNSS receivers to report position, time and satellite information as lines of plain ASCII text. When a receiver outputs NMEA 0183, most microcontrollers and software libraries can parse its basic location data.
QZSS
Japan’s regional satellite navigation system designed to improve coverage around Japan and the Asia-Pacific region. QZSS support can improve satellite availability in supported regions when used alongside GPS.
SBAS
Satellite-Based Augmentation System, a set of regional services that broadcast correction information for GNSS receivers. SBAS can improve ordinary GPS-style positioning, although it is not the same as centimetre-level RTK correction.
STM32
STM32 is a family of microcontroller chips commonly used in embedded electronics. Knowing a product uses an STM32 can help when looking at firmware updates, pin connections, or low-level serial control options.
UART
UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.

Find this product in

MAX-M8Q GNSS HAT Schematic

Schematic · 1.9 MB · Click any page to view full size

Download PDF

MAX-M8Q GNSS HAT Wiki Guide

User Guide · 3.5 MB · Click any page to view full size

Download PDF

Source Code

Open-source libraries, firmware & example projects for this product

setup a Raspberry Pi as a Stratum One time server (GPS with PPS)

Shell GPL-3.0
chrony gps gpsd ntp ntp-server pps raspberry-pi raspberrypi
fixed disable serial port 645f208 over 1 year ago
View repository on GitHub
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.