

The L76K GPS HAT by Waveshare is a GPS module designed specifically for Raspberry Pi. It features the L76K chip, which delivers high-accuracy positioning data and supports multiple satellite navigation systems, including GPS, GLONASS, Galileo, and BeiDou. This module is ideal for applications requiring precise location tracking, such as navigation systems, IoT projects, and geofencing solutions.








The following table outlines the key technical details of the L76K GPS HAT:
| Parameter | Specification |
|---|---|
| Chipset | L76K |
| Satellite Systems | GPS, GLONASS, Galileo, BeiDou |
| Positioning Accuracy | 2.5 meters (CEP) |
| Update Rate | 1 Hz (default), configurable up to 10 Hz |
| Input Voltage | 3.3V or 5V (via Raspberry Pi GPIO header) |
| Power Consumption | 20 mA (typical) |
| Communication Interface | UART (default: 9600 bps) |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 65mm × 30mm |
The L76K GPS HAT connects to the Raspberry Pi via the GPIO header. Below is the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | 3.3V | Power input (3.3V) |
| 2 | 5V | Power input (5V) |
| 6 | GND | Ground |
| 8 | TXD | UART Transmit (GPS data output) |
| 10 | RXD | UART Receive (for configuration input) |
raspi-config to enable the UART interface. Disable the serial console if it conflicts with the GPS module.Below is an example Python script to read GPS data from the L76K GPS HAT:
import serial # Import the serial library for UART communication
gps_serial = serial.Serial('/dev/serial0', baudrate=9600, timeout=1)
try: while True: # Read a line of data from the GPS module gps_data = gps_serial.readline().decode('utf-8', errors='ignore').strip()
# Print the raw NMEA sentence received from the GPS module
print(gps_data)
# Example: You can parse specific NMEA sentences (e.g., GPGGA) here
except KeyboardInterrupt: # Gracefully close the serial port on exit gps_serial.close() print("GPS reading stopped.")
pyserial library if not already installed: pip install pyserial.No GPS Data Output
sudo raspi-config to enable UART and disable the serial console.Poor GPS Signal
Incorrect Baud Rate
Module Not Detected
Q1: Can I use the L76K GPS HAT with other microcontrollers?
A1: Yes, the module can be used with any microcontroller that supports UART communication. Ensure the voltage levels are compatible.
Q2: How do I increase the update rate?
A2: The update rate can be configured via specific NMEA commands sent to the module. Refer to the L76K datasheet for details.
Q3: Does the module support DGPS or SBAS?
A3: Yes, the L76K chip supports DGPS and SBAS for enhanced positioning accuracy.
Q4: Can I use the module indoors?
A4: While the module may work indoors, signal quality and accuracy will be significantly reduced. For best results, use it outdoors.
This concludes the documentation for the L76K GPS HAT. For further details, refer to the official Waveshare documentation or contact their support team.